软件安全与应用安全技能 software-security-appsec

这个技能是关于软件安全与应用安全的快速参考指南,专为开发者在2026年构建安全的应用程序而设计。它涵盖了现代安全模式,包括身份认证、授权、输入验证、密码学等关键领域,基于OWASP Top 10:2025、NIST标准、零信任架构和供应链安全等最新标准。技能提供了实施指南、最佳实践、安全评审和漏洞评估方法,帮助团队提升应用安全性并满足合规要求。关键词:软件安全、应用安全、OWASP、零信任、身份认证、授权、输入验证、密码学、API安全、漏洞评估、安全审计、合规、供应链安全。

安全审计 0 次安装 0 次浏览 更新于 3/7/2026

名称:软件安全与应用安全 描述:现代应用安全模式与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,请见:

关键规则摘要:

  • 代码中无秘密 — 使用配置/环境变量
  • 日志中无敏感数据(令牌、密钥、PII)
  • 使用decimal表示金融值,切勿用double/float
  • EF Core或仅参数化查询 — 无动态SQL
  • 通用错误消息给用户,服务器端详细日志

导航

核心资源(更新2024-2026)

安全业务价值与投资回报率

2025更新与现代架构

基础安全模式

外部参考

模板按领域

Web应用安全

API安全

云原生安全

区块链与Web3安全

相关技能

安全生态系统

AI/LLM安全

质量与弹性


趋势意识协议

重要:当用户询问有关应用安全的推荐问题时,您必须使用Web搜索检查当前趋势后再回答。如果Web搜索不可用,使用数据/源.json + 网络浏览并说明验证与假设内容。

触发条件

  • “最佳方法是 [身份认证/授权] 的什么?”
  • “我应该使用什么来处理 [秘密/加密/API安全]?”
  • “应用安全的最新情况是什么?”
  • “当前最佳实践对于 [OWASP/零信任/供应链]?”
  • “[安全方法] 在2026年仍推荐吗?”
  • “最新的安全漏洞是什么?”
  • “最佳身份认证方案对于 [使用案例]?”

必需搜索

  1. 搜索:"应用安全最佳实践 2026"
  2. 搜索:"OWASP Top 10 2025 2026"
  3. 搜索:"[身份认证/授权] 趋势 2026"
  4. 搜索:"供应链安全 2026"

报告内容

搜索后,提供:

  • 当前态势:当前标准的安全方法是什么
  • 新兴威胁:新漏洞或攻击向量
  • 弃用/衰退:不再安全的方法
  • 推荐:基于新鲜数据和当前公告

示例主题(通过新鲜搜索验证)

  • OWASP Top 10更新
  • 通行密钥和无密码身份认证
  • AI安全关切(提示注入、模型毒化)
  • 供应链安全(SBOMs、依赖扫描)
  • 零信任架构实施
  • API安全(BOLA、身份认证失效)

操作行动手册