名称:软件安全与应用安全 描述:现代应用安全模式与OWASP Top 10:2025(最终版)、OWASP API安全Top 10(2023)、NIST SSDF、零信任(包括NSA ZIGs 2026)、供应链安全(SBOM)、通行密钥/WebAuthn、身份认证、授权、输入验证、密码学,以及安全投资回报率、违规成本建模和合规驱动的企业销售保持一致。
软件安全与应用安全 — 快速参考
用于在2026年1月构建安全应用程序的生产级安全模式。涵盖OWASP Top 10:2025(稳定版)https://owasp.org/Top10/2025/ 和OWASP API安全Top 10(2023)https://owasp.org/API-Security/ 以及安全SDLC基线(NIST SSDF)https://csrc.nist.gov/publications/detail/sp/800-218/final。
何时使用此技能
在以下情况下激活此技能:
- 实施身份认证或授权系统
- 处理可能导致注入攻击的用户输入(SQL、XSS、命令注入)
- 设计安全API或Web应用
- 进行密码学操作或敏感数据存储
- 进行安全评审、威胁建模或漏洞评估
- 响应安全事件或合规审计要求
- 构建必须符合OWASP、NIST、PCI DSS、GDPR、HIPAA或SOC 2的系统
- 集成第三方依赖(供应链安全评审)
- 实施零信任架构或现代云原生安全模式
- 建立或改进安全SDLC门控(威胁建模、SAST/DAST、依赖扫描)
何时不使用此技能
- 通用后端开发无安全重点 → 使用软件后端
- 基础设施/云安全(IAM、网络安全、容器加固) → 使用运维-DevOps平台
- 智能合约审计为主要重点 → 使用软件-加密-Web3
- ML模型安全(对抗攻击、数据毒化) → 使用AI-MLOps
- 纯合规问题无实施 → 直接咨询合规团队
快速参考表
| 安全任务 | 工具/模式 | 实施 | 使用场景 |
|---|---|---|---|
| 主要身份认证 | 通行密钥/WebAuthn | navigator.credentials.create() |
新应用(2026+)、防钓鱼、广泛平台支持 |
| 密码存储 | bcrypt/Argon2 | bcrypt.hash(password, 12) |
传统身份认证后备(从不存储明文) |
| 输入验证 | 白名单正则 | /^[a-zA-Z0-9_]{3,20}$/ |
所有用户输入(SQL、XSS、命令注入预防) |
| SQL查询 | 参数化查询 | db.execute(query, [userId]) |
所有数据库操作(预防SQL注入) |
| API身份认证 | OAuth 2.1 + PKCE | oauth.authorize({ code_challenge }) |
第三方身份认证、API访问(弃用隐式流) |
| 令牌身份认证 | JWT(短期有效) | jwt.sign(payload, secret, { expiresIn: '15m' }) |
无状态API(始终验证,15-30分钟过期) |
| 数据加密 | AES-256-GCM | crypto.createCipheriv('aes-256-gcm') |
敏感数据静态存储(PII、金融、健康) |
| HTTPS/TLS | TLS 1.3 | 强制HTTPS重定向 | 所有生产流量(数据传输中) |
| 访问控制 | RBAC/ABAC | requireRole('admin', 'moderator') |
资源授权(API、管理面板) |
| 速率限制 | express-rate-limit | limiter({ windowMs: 15min, max: 100 }) |
公共API、身份认证端点(DoS预防) |
| 安全需求 | OWASP ASVS | 选择L1/L2/L3 | 安全需求基线和测试范围 |
身份认证决策矩阵(2026年1月)
| 方法 | 使用案例 | 令牌寿命 | 安全级别 | 注释 |
|---|---|---|---|---|
| 通行密钥/WebAuthn | 主要身份认证(2026+) | N/A(密码学) | 最高 | 防钓鱼、广泛平台支持 |
| OAuth 2.1 + PKCE | 第三方身份认证 | 5-15分钟访问 | 高 | 替代隐式流、强制PKCE |
| 会话Cookie | 传统Web应用 | 30分钟 - 4小时 | 中-高 | HttpOnly、Secure、SameSite=Strict |
| JWT无状态 | API、微服务 | 15-30分钟 | 中 | 始终验证签名、短期过期 |
| API密钥 | 机器对机器 | 长期有效 | 低-中 | 定期轮换、范围权限 |
司法管辖注释(验证): 身份认证保证要求因国家、行业和买家而异。优先使用通行密钥/FIDO2;除非有理由,否则将SMS OTP视为仅恢复/低保证。
OWASP Top 10:2025快速清单
| # | 风险 | 关键控制 | 测试 |
|---|---|---|---|
| A01 | 访问控制失效 | RBAC/ABAC、默认拒绝、CORS白名单 | BOLA、BFLA、权限提升 |
| A02 | 安全配置错误 | 加固默认设置、禁用未使用功能、错误处理 | 默认凭据、堆栈跟踪、头部 |
| A03 | 供应链故障(新增) | SBOM、依赖扫描、SLSA、代码签名 | 过时依赖、域名抢注、受感染包 |
| A04 | 密码学故障 | TLS 1.3、AES-256-GCM、密钥轮换、无MD5/SHA1 | 弱密码套件、暴露秘密、证书验证 |
| A05 | 注入 | 参数化查询、输入验证、输出编码 | SQLi、XSS、命令注入、LDAP注入 |
| A06 | 不安全设计 | 威胁建模、安全设计模式、滥用案例 | 设计缺陷、缺失控制、信任边界 |
| A07 | 身份认证故障 | MFA/通行密钥、速率限制、安全密码存储 | 凭据填充、暴力破解、会话固定 |
| A08 | 完整性故障 | 代码签名、CI/CD流水线安全、SRI | 未签名更新、流水线毒化、CDN篡改 |
| A09 | 日志记录故障 | 结构化JSON、SIEM集成、相关ID | 缺失日志、日志中PII、无告警 |
| A10 | 异常情况(新增) | 故障安全默认值、完整错误恢复、输入验证 | 错误处理空白、故障开放、资源耗尽 |
决策树:安全实施
安全需求:[功能类型]
├─ 用户身份认证?
│ ├─ 基于会话? → Cookie会话 + CSRF令牌
│ ├─ 基于令牌? → 带有刷新令牌的JWT(参考/身份认证-授权.md)
│ └─ 第三方? → OAuth2/OIDC集成
│
├─ 用户输入?
│ ├─ 数据库查询? → 参数化查询(绝不用字符串拼接)
│ ├─ HTML输出? → DOMPurify净化 + CSP头部
│ ├─ 文件上传? → 内容验证、大小限制、病毒扫描
│ └─ API参数? → 白名单验证(参考/输入验证.md)
│
├─ 敏感数据?
│ ├─ 密码? → bcrypt/Argon2(成本因子12+)
│ ├─ PII/金融? → AES-256-GCM加密 + 密钥轮换
│ ├─ API密钥/令牌? → 环境变量 + 秘密管理器
│ └─ 传输中? → TLS 1.3仅限
│
├─ 访问控制?
│ ├─ 简单角色? → RBAC(资产/Web应用/模板-授权.md)
│ ├─ 复杂规则? → 带策略引擎的ABAC
│ └─ 基于关系? → ReBAC(所有者、协作者、查看者)
│
└─ API安全?
├─ 公共API? → 速率限制 + API密钥
├─ 需要CORS? → 严格来源白名单(永不*)
└─ 头部? → Helmet.js(CSP、HSTS、X-Frame-Options)
安全投资回报率与业务价值(2026年1月)
安全投资理由和合规驱动收入。完整框架:参考/安全业务价值.md
快速违规成本参考
指示性数据(来源:IBM 2024年数据违规成本;更新至当前年):https://www.ibm.com/reports/data-breach
| 指标 | 全球平均 | 美国平均 | 影响 |
|---|---|---|---|
| 平均违规成本 | $4.88M | $9.36M | 预算理由基线 |
| 每记录成本 | $165 | $194 | 数据分类优先级 |
| 检测时间 | 204天 | 191天 | SIEM/监控投资回报率 |
| DevSecOps采用 | -$1.68M | -34% | 左移理由 |
| 应急响应团队 | -$2.26M | -46% | 最高投资回报率控制 |
合规 → 企业销售
| 认证 | 解锁交易 | 销售影响 |
|---|---|---|
| SOC 2 Type II | 10万美元+企业 | 通常减少安全问卷摩擦 |
| ISO 27001 | 25万美元+欧盟企业 | 优选供应商状态 |
| HIPAA | 医疗垂直市场 | 市场准入 |
| FedRAMP | 100万美元+政府 | 美国政府市场进入 |
投资回报率公式(快速参考)
安全投资回报率 = (风险降低 - 投资) / 投资 × 100
风险降低 = 违规概率 × 平均成本 × 控制有效性
示例:15% × $4.88M × 46% = $337K/年风险降低
事件响应模式(2026年1月)
安全事件行动手册
| 阶段 | 行动 |
|---|---|
| 检测 | 告警触发、用户报告、自动扫描 |
| 控制 | 隔离受影响系统、撤销受感染凭据 |
| 调查 | 收集日志、确定范围、识别根因 |
| 补救 | 修补漏洞、轮换秘密、更新防御 |
| 恢复 | 恢复服务、验证修复、更新监控 |
| 学习 | 事后分析、更新行动手册、分享教训 |
安全日志记录要求
| 记录内容 | 格式 | 保留 |
|---|---|---|
| 身份认证事件 | 带相关ID的JSON | 至少90天 |
| 授权失败 | 带用户上下文的JSON | 至少90天 |
| 敏感数据访问 | 带资源ID的JSON | 至少1年 |
| 安全扫描结果 | SARIF格式 | 至少1年 |
做:
- 跨服务包含相关ID
- 记录到SIEM(Splunk、Datadog、ELK)
- 日志中掩码PII
避免:
- 记录密码、令牌或密钥
- 非结构化日志格式
- 缺失时间戳或上下文
常见安全错误
| 失败错误做法 | 通过正确方法 | 风险 |
|---|---|---|
query = "SELECT * FROM users WHERE id=" + userId |
db.execute("SELECT * FROM users WHERE id=?", [userId]) |
SQL注入 |
| 存储明文或MD5密码 | bcrypt.hash(password, 12) 或 Argon2 |
凭据盗窃 |
res.send(userInput) 无编码 |
res.send(DOMPurify.sanitize(userInput)) |
XSS |
| 源代码中硬编码API密钥 | 环境变量 + 秘密管理器 | 秘密暴露 |
Access-Control-Allow-Origin: * |
明确来源白名单 | CORS绕过 |
| JWT无过期 | expiresIn: '15m' + 刷新令牌 |
令牌劫持 |
| 通用错误消息到日志 | 结构化JSON带相关ID | 调试盲点 |
| SMS OTP作为主要因素 | 通行密钥/WebAuthn或TOTP(SMS仅用于恢复) | 凭据钓鱼 |
可选:AI/自动化扩展
注意:AI系统的安全考虑。如不构建AI功能,请跳过。
LLM安全模式
| 威胁 | 缓解措施 |
|---|---|
| 提示注入 | 输入验证、输出过滤、沙盒执行 |
| 数据泄露 | 输出扫描、PII检测 |
| 模型盗窃 | API速率限制、水印 |
| 越狱 | 宪法AI、护栏 |
AI辅助安全工具
| 工具 | 使用案例 |
|---|---|
| Semgrep | AI规则静态分析 |
| Snyk Code | AI驱动的漏洞检测 |
| GitHub CodeQL | 语义代码分析 |
.NET/EF Core加密集成安全
对于C#/.NET加密/金融科技服务使用Entity Framework Core,请见:
- 参考/dotnet-efcore-加密-安全.md — 安全规则和C#模式
关键规则摘要:
- 代码中无秘密 — 使用配置/环境变量
- 日志中无敏感数据(令牌、密钥、PII)
- 使用
decimal表示金融值,切勿用double/float - EF Core或仅参数化查询 — 无动态SQL
- 通用错误消息给用户,服务器端详细日志
导航
核心资源(更新2024-2026)
安全业务价值与投资回报率
- 参考/安全业务价值.md — 违规成本建模、安全投资回报率公式、合规 → 企业销售、投资理由模板
2025更新与现代架构
- 参考/供应链-安全.md — 依赖、构建和工件完整性(SLSA、来源、签名)
- 参考/零信任-架构.md — NIST SP 800-207、服务身份、基于策略的访问
- 参考/owasp-top-10.md — OWASP Top 10:2025(最终版)指南 + 2021→2025差异
- 参考/高级-xss-技术.md — 2024-2025 XSS:突变XSS、多形态、SVG攻击、上下文感知编码
基础安全模式
- 参考/安全设计原则.md — 深度防御、最小权限、安全默认值
- 参考/身份认证-授权.md — 认证/授权流程、OAuth 2.1、JWT最佳实践、RBAC/ABAC
- 参考/输入验证.md — 白名单验证、SQL注入、XSS、CSRF预防、文件上传安全
- 参考/密码学标准.md — AES-256-GCM、Argon2、TLS 1.3、密钥管理
- 参考/常见漏洞.md — 路径遍历、命令注入、反序列化、SSRF
外部参考
- 数据/源.json — 70+精选安全资源(OWASP 2025、供应链、零信任、API安全、合规)
- 共享清单:…/软件-清洁代码-标准/资产/清单/安全代码评审清单.md, …/软件-清洁代码-标准/资产/清单/后端-API-评审清单.md
模板按领域
Web应用安全
- 资产/Web-应用/模板-身份认证.md — 安全身份认证流程(JWT、OAuth2、会话、MFA)
- 资产/Web-应用/模板-授权.md — RBAC/ABAC/ReBAC策略模式
API安全
- 资产/API/模板-安全-API.md — 安全API网关、速率限制、CORS、安全头部
云原生安全
- 资产/云原生/加密-安全.md — 密码学使用、密钥管理、HSM集成
区块链与Web3安全
- 参考/智能合约-安全-审计.md — 新增:智能合约审计、漏洞模式、形式验证、Solidity安全
相关技能
安全生态系统
- …/软件-后端/SKILL.md — API实施模式和错误处理
- …/软件-架构-设计/SKILL.md — 安全系统分解和依赖设计
- …/运维-DevOps平台/SKILL.md — DevSecOps流水线、秘密管理、基础设施加固
- …/软件-加密-Web3/SKILL.md — 智能合约安全、区块链漏洞、DeFi模式
- …/质量保证-测试-策略/SKILL.md — 安全测试、SAST/DAST集成、渗透测试
AI/LLM安全
- …/AI-LLM/SKILL.md — LLM安全模式包括提示注入预防
- …/AI-MLOps/SKILL.md — ML模型安全、对抗攻击、隐私保护ML
质量与弹性
- …/质量保证-弹性/SKILL.md — 弹性、保障措施、失败处理、混沌工程
- …/质量保证-重构/SKILL.md — 安全重点重构模式
趋势意识协议
重要:当用户询问有关应用安全的推荐问题时,您必须使用Web搜索检查当前趋势后再回答。如果Web搜索不可用,使用数据/源.json + 网络浏览并说明验证与假设内容。
触发条件
- “最佳方法是 [身份认证/授权] 的什么?”
- “我应该使用什么来处理 [秘密/加密/API安全]?”
- “应用安全的最新情况是什么?”
- “当前最佳实践对于 [OWASP/零信任/供应链]?”
- “[安全方法] 在2026年仍推荐吗?”
- “最新的安全漏洞是什么?”
- “最佳身份认证方案对于 [使用案例]?”
必需搜索
- 搜索:
"应用安全最佳实践 2026" - 搜索:
"OWASP Top 10 2025 2026" - 搜索:
"[身份认证/授权] 趋势 2026" - 搜索:
"供应链安全 2026"
报告内容
搜索后,提供:
- 当前态势:当前标准的安全方法是什么
- 新兴威胁:新漏洞或攻击向量
- 弃用/衰退:不再安全的方法
- 推荐:基于新鲜数据和当前公告
示例主题(通过新鲜搜索验证)
- OWASP Top 10更新
- 通行密钥和无密码身份认证
- AI安全关切(提示注入、模型毒化)
- 供应链安全(SBOMs、依赖扫描)
- 零信任架构实施
- API安全(BOLA、身份认证失效)
操作行动手册
- 参考/操作-行动手册.md — 核心安全原则、OWASP摘要、身份认证模式、详细代码示例