mcpField
S
security-guidance

security-guidance

github.com/owasp安全208430 次安装2 周前更新
代码仓库

关于 security-guidance

供 Agent 在规划或编写涉及安全操作的代码时使用的安全指导技能。它依据任务匹配 ASVS 参考内容,要求落实相关要求,并在覆盖不足或有冲突时升级处理。

主要功能

  1. 01ASVS 触发条件索引
  2. 02读取匹配的参考文件
  3. 03应用 Level 1 基线要求
  4. 04为要求添加行内引用
  5. 05升级处理缺口或冲突

适用场景

  1. 01规划处理不可信输入的功能
  2. 02编写涉及安全操作的代码
  3. 03实施前核对适用的 ASVS 要求

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/owasp/secure-agent-playbook --skill security-guidance

安装后在 Claude Code 中输入/security-guidance确认已加载。

详细介绍

安全指南

核心原则

安全是首要要求。在完成任何计划或编写涉及安全敏感操作的代码之前,请查阅下方的 ASVS 参考索引,并应用所有相关指南。

所有生成的代码和计划都必须明确遵循所选指南,采用安全的默认设置,并添加明确的行内引用。

工作流程

  1. 确定相关章节 — 根据下方索引中的 When to use: 触发条件,匹配当前任务。任务可能匹配多个章节;请应用所有匹配章节的指南。
  2. 阅读参考文件 — 对于每个匹配的章节,请阅读其索引条目末尾列出的完整参考文件,以了解完整的验证要求。
  3. 应用指南 — 落实相关要求。如果要求允许选择,默认采用最安全的选项。至少应用所有 Level 1 要求;指出相关但尚未落实的 Level 2 或 Level 3 要求。
  4. 在行内引用已应用的要求 — 在代码注释或计划备注中引用所满足的每项要求:// ASVS 6.2.4: password checked against top-3000 list。

升级处理

如果索引中没有与涉及安全敏感操作的任务相匹配的章节,或者指南之间存在冲突或含义不清,请停止并指出这一缺口,然后再继续。不要猜测或转述指南,应升级处理。

如果下方索引为空,请报告参考索引加载失败,并根据任务描述列出可能相关的 ASVS 章节。

参考索引

V1.1 编码与净化架构

关于编码、转义和解码操作顺序及位置的架构要求。

使用场景:

  • 设计处理不可信输入的数据处理管道
  • 决定在请求/响应生命周期的何处对数据进行编码或转义
  • 存储之后将在不同输出上下文中呈现的数据

详细指南见 data/asvs/V1.1.md。

V1.2 注入防护

关于输出编码和转义的要求,用于防止向解释器(SQL、HTML、JS、OS、LDAP 等)注入内容。

使用场景:

  • 构建数据库查询(SQL、NoSQL、HQL、Cypher、XPath、LDAP)
  • 使用动态数据构造 OS 命令或 shell 脚本
  • 使用用户提供的值构建 URL 或重定向
  • 在 HTML、CSS 或 JavaScript 中呈现用户输入
  • 处理 LaTeX 输入
  • 评估包含用户提供模式的正则表达式
  • 生成包含用户数据的 CSV、XLS 或电子表格导出文件

详细指南见 data/asvs/V1.2.md。

V1.3 净化

当编码不适用时,对不可信 HTML 和动态内容进行净化的要求。

使用场景:

  • 接受用户输入的富文本或 HTML(例如 WYSIWYG 编辑器)
  • 使用 eval() 或基于用户提供内容执行动态代码
  • 呈现用户提交的标记内容,且仅靠编码不足以确保安全

详细指南见 data/asvs/V1.3.md。

V1.4 内存、字符串与非托管代码

关于在非托管或底层代码中安全处理内存和字符串操作的要求。

使用场景:

  • 编写或集成非托管代码(C、C++、汇编)
  • 使用不安全的内存操作、指针运算或原始缓冲区
  • 从托管语言调用原生库或 FFI
  • 在底层或性能关键代码中处理字符串操作

详细指南见 data/asvs/V1.4.md。

V1.5 安全反序列化

关于安全地反序列化来自不可信或外部来源的数据的要求。

使用场景:

  • 从不可信来源反序列化对象或数据结构
  • 通过网络、文件上传或 API 负载接收序列化数据
  • 使用 Java 序列化、Python pickle、PHP unserialize 或类似机制
  • 处理二进制或文本序列化格式(XML、JSON、YAML、MessagePack)

详细指南见 data/asvs/V1.5.md。

V2.1 验证与业务逻辑文档

关于记录预期输入和业务逻辑规则的要求。

适用场景:

  • 记录应用接受哪些输入及其预期格式
  • 为某项功能定义业务规则和工作流约束

详细指南请参阅 data/asvs/V2.1.md。

V2.2 输入验证

关于在应用边界验证输入数据的要求。

适用场景:

  • 在应用边界处理任何用户提供的输入
  • 验证输入是否符合预期的类型、格式、长度或取值范围
  • 检查从外部系统或 API 接收的数据

详细指南请参阅 data/asvs/V2.2.md。

V2.3 业务逻辑安全

关于保护业务工作流免遭篡改、跳过步骤或竞态条件影响的要求。

适用场景:

  • 实现多步骤工作流或事务序列
  • 强制执行操作间的顺序或时间约束
  • 处理金融交易、库存更新或状态机
  • 实现用户不应能够跳过或重放步骤的功能

详细指南请参阅 data/asvs/V2.3.md。

V2.4 防自动化

关于防止自动化滥用、抓取和过量请求的要求。

适用场景:

  • 为端点或操作添加速率限制
  • 保护表单或 API 免遭自动化滥用或凭据填充攻击
  • 在面向公众的端点上实现 CAPTCHA 或机器人检测
  • 限制每位用户或每个 IP 可执行某项操作的次数

详细指南请参阅 data/asvs/V2.4.md。

V3.1 Web 前端安全文档

关于记录前端安全决策和浏览器安全配置的要求。

适用场景:

  • 记录 Web 前端应用的安全决策
  • 定义将采用的内容安全策略和浏览器保护措施

详细指南请参阅 data/asvs/V3.1.md。

V3.2 防止内容被意外解读

关于防止浏览器误解响应内容类型的要求。

适用场景:

  • 提供用户上传的文件或应用中的内容
  • 为 HTTP 响应设置 Content-Type 标头
  • 渲染包含用户控制内容的 HTML 页面
  • 防止浏览器对响应类型进行 MIME 嗅探

详细指南请参阅 data/asvs/V3.2.md。

V3.3 Cookie 设置

关于安全配置 Cookie 属性的要求。

适用场景:

  • 在 HTTP 响应中设置 Cookie(会话、偏好设置或跟踪 Cookie)
  • 配置 Cookie 属性(HttpOnly、Secure、SameSite、domain、path)

详细指南请参阅 data/asvs/V3.3.md。

V3.4 浏览器安全机制标头

关于指示浏览器强制执行安全策略的 HTTP 安全标头的要求。

适用场景:

  • 为 Web 应用响应设置 HTTP 安全标头
  • 配置内容安全策略(CSP)
  • 设置 HSTS、X-Frame-Options、Referrer-Policy 或 Permissions-Policy 标头

详细指南请参阅 data/asvs/V3.4.md。

V3.5 浏览器源隔离

关于强制执行源边界并防止浏览器中的跨源攻击的要求。

适用场景:

  • 配置跨源资源共享(CORS)策略
  • 构建可跨多个源或子域交互的应用
  • 防止跨站请求伪造(CSRF)
  • 使用 postMessage 或跨框架通信

详细指南请参阅 data/asvs/V3.5.md。

V3.6 外部资源完整性

关于验证外部加载资源完整性的要求。

适用场景:

  • 从外部 CDN 加载第三方脚本、样式表或字体
  • 对外部资源使用子资源完整性(SRI)
  • 在 HTML 页面中嵌入外部资源

详细指南请参阅 data/asvs/V3.6.md。

V3.7 其他浏览器安全注意事项

其他 V3 章节未涵盖的各类浏览器安全要求。

适用场景:

  • 构建包含复杂客户端逻辑的基于浏览器的应用
  • 处理浏览器存储(localStorage、sessionStorage、IndexedDB)中的敏感数据
  • 使用 service worker 或浏览器缓存机制

详细指南请参阅 data/asvs/V3.7.md。

V4.1 通用 Web 服务安全

适用于所有基于 HTTP 的 Web 服务的一般安全要求。

适用场景:

  • 构建或调用基于 HTTP 的 API 或 Web 服务
  • 实现 REST 端点
  • 设计 Web 服务的请求/响应生命周期

详细指南请参阅 data/asvs/V4.1.md。

V4.2 HTTP 消息结构验证

验证 HTTP 消息结构和字段的要求。

适用场景:

  • 在 API 中解析 HTTP 请求标头、查询参数或正文内容
  • 验证 Content-Type、Accept 或其他 HTTP 标头字段
  • 处理 Web 服务中的 HTTP 请求路由或中间件

详细指南请参阅 data/asvs/V4.2.md。

V4.3 GraphQL

GraphQL API 的特定安全要求。

适用场景:

  • 实现 GraphQL API 或架构
  • 处理 GraphQL 查询、变更或订阅
  • 配置 GraphQL 服务端或网关

详细指南请参阅 data/asvs/V4.3.md。

V4.4 WebSocket

WebSocket 连接和消息处理的安全要求。

适用场景:

  • 实现用于实时通信的 WebSocket 连接
  • 构建 WebSocket 服务端或客户端
  • 处理 WebSocket 升级请求和消息路由

详细指南请参阅 data/asvs/V4.4.md。

V5.1 文件处理文档

记录文件处理预期和安全决策的要求。

适用场景:

  • 记录文件上传或下载功能
  • 定义某项功能接受的文件类型、大小和处理行为

详细指南请参阅 data/asvs/V5.1.md。

V5.2 文件上传与内容

安全接收和验证用户上传文件的要求。

适用场景:

  • 实现文件上传功能
  • 通过 HTTP、表单提交或 API 接收用户文件
  • 在处理前验证文件类型、大小或内容
  • 处理需要解压的 zip 文件或归档文件上传

详细指南请参阅 data/asvs/V5.2.md。

V5.3 文件存储

安全存储文件并防止路径遍历或服务器端执行的要求。

适用场景:

  • 将上传或生成的文件存储到磁盘或对象存储中
  • 构造存储文件的路径
  • 通过 HTTP 提供存储的文件
  • 处理用户提供的文件路径

详细指南请参阅 data/asvs/V5.3.md。

V5.4 文件下载

安全地向用户提供可下载文件的要求。

适用场景:

  • 通过 HTTP 响应提供文件下载
  • 允许用户下载存储的文件
  • 为文件下载设置 Content-Disposition 或 Content-Type

详细指南请参阅 data/asvs/V5.4.md。

V6.1 身份验证文档

记录身份验证决策和机制的要求。

适用场景:

  • 记录应用的身份验证机制
  • 定义支持哪些身份验证方法

详细指南请参阅 data/asvs/V6.1.md。

V6.2 密码安全

安全处理用户密码的要求,包括存储、策略和泄露检测。

适用场景:

  • 实现基于密码的登录
  • 存储或验证用户密码
  • 实现密码创建、重置或修改流程
  • 执行密码策略或检查密码是否出现在已泄露密码列表中

详细指南请参阅 data/asvs/V6.2.md。

V6.3 通用身份验证安全

适用于所有身份验证机制的通用安全要求。

适用场景:

  • 实现任何身份验证机制(登录、API 密钥、证书)
  • 构建登录流程、身份验证端点或凭据验证功能
  • 防御身份验证遭受暴力破解、枚举或时序攻击

详细指南请参阅 data/asvs/V6.3.md。

V6.4 身份验证因素生命周期与恢复

管理身份验证因素注册、恢复和撤销的要求。

适用场景:

  • 实现账户恢复或密码重置流程
  • 管理身份验证因素的注册或移除
  • 处理忘记密码或账户锁定的情况

详细指南请参阅 data/asvs/V6.4.md。

V6.5 多因素身份验证通用要求

实现多因素身份验证的通用要求。

适用场景:

  • 在登录流程中添加多因素身份验证(MFA)
  • 实现 TOTP、硬件密钥或其他第二因素
  • 对特权操作或敏感操作强制实施 MFA

详细指南请参阅 data/asvs/V6.5.md。

V6.6 带外身份验证机制

使用独立带外通道的身份验证机制要求。

适用场景:

  • 实现基于 SMS、电子邮件或推送通知的身份验证
  • 使用带外通道(电话、电子邮件链接)进行登录或验证

详细指南请参阅 data/asvs/V6.6.md。

V6.7 加密身份验证机制

WebAuthn、通行密钥和客户端证书等加密身份验证机制的要求。

适用场景:

  • 实现基于证书的身份验证
  • 支持硬件安全密钥(FIDO2、WebAuthn、通行密钥)
  • 使用加密的持有证明进行身份验证

详细指南请参阅 data/asvs/V6.7.md。

V6.8 通过身份提供商进行身份验证

通过联合协议使用外部身份提供商验证用户身份的要求。

适用场景:

  • 集成外部身份提供商(IdP)进行身份验证
  • 实现“使用 Google/Apple/GitHub 登录”或类似的社交登录
  • 通过 SAML、OIDC 或类似协议进行身份验证联合

详细指南请参阅 data/asvs/V6.8.md。

V7.1 会话管理文档

记录会话管理决策的要求。

适用场景:

  • 记录应用的会话管理设计
  • 定义会话令牌类型和存储机制

详细指南请参阅 data/asvs/V7.1.md。

V7.2 基本会话管理安全

创建和签发安全会话令牌的基础要求。

适用场景:

  • 成功验证身份后签发会话令牌或 Cookie
  • 生成会话标识符
  • 登录后将会话绑定到用户

详细指南请参阅 data/asvs/V7.2.md。

V7.3 会话超时

限制会话时长并实现空闲或绝对超时的要求。

适用场景:

  • 实现会话过期或空闲超时
  • 配置绝对会话时长或滑动会话时长
  • 管理会话有效期

详细指南请参阅 data/asvs/V7.3.md。

V7.4 会话终止

在注销或凭据变更时安全终止会话的要求。

适用场景:

  • 实现注销功能
  • 在注销时于服务端使会话失效
  • 用户变更凭据时终止所有会话

详细指南请参阅 data/asvs/V7.4.md。

V7.5 防范会话滥用

检测和防止会话窃取、固定及劫持的要求。

适用场景:

  • 防范会话固定、劫持或重放攻击
  • 实现将会话绑定到设备或 IP
  • 检测来自多个位置的并发会话

详细指南请参阅 data/asvs/V7.5.md。

V7.6 联合重新认证

联合身份和 SSO 场景下的会话管理要求。

适用场景:

  • 管理联合 SSO 环境中的会话
  • 处理来自身份提供商的重新认证请求
  • 在联合服务之间实现单点注销(SLO)

详细指导请参阅 data/asvs/V7.6.md。

V8.1 授权文档

记录授权规则和决策因素的要求。

适用场景:

  • 记录访问控制规则和权限模型
  • 定义哪些角色或属性决定资源访问权限

详细指导请参阅 data/asvs/V8.1.md。

V8.2 通用授权设计

在功能级、数据级和字段级实施访问控制的要求。

适用场景:

  • 修改身份验证实现时尤为重要
  • 控制哪些用户可以调用哪些功能或端点
  • 根据用户身份限制对特定数据记录的访问
  • 实施对象级或字段级访问控制
  • 防止不安全的直接对象引用(IDOR)

详细指导请参阅 data/asvs/V8.2.md。

V8.3 操作级授权

在正确的服务层强制执行授权并及时处理权限变更的要求。

适用场景:

  • 在服务器端逻辑中强制执行授权(而不只是客户端)
  • 在角色更新时立即应用权限变更
  • 为多服务或微服务架构设计授权机制

详细指导请参阅 data/asvs/V8.3.md。

V8.4 其他授权注意事项

适用于多租户系统和管理界面的其他授权要求。

适用场景:

  • 构建具有租户隔离的多租户应用
  • 实施管理或特权界面
  • 在授权中应用上下文访问控制(时间、位置、设备)

详细指导请参阅 data/asvs/V8.4.md。

V9.1 令牌来源与完整性

验证自包含令牌的来源、签名和完整性的要求。

适用场景:

  • 验证从客户端或服务接收的 JWT 或其他自包含令牌
  • 在信任令牌声明之前验证其签名或完整性
  • 配置令牌可接受的签名算法

详细指导请参阅 data/asvs/V9.1.md。

V9.2 令牌内容

自包含令牌的内容、声明和有效期要求。

适用场景:

  • 定义存储在 JWT 或类似令牌中的声明或载荷
  • 设置令牌的过期时间、受众、签发者或其他标准声明
  • 防止在令牌载荷中存储敏感数据

详细指导请参阅 data/asvs/V9.2.md。

V10.1 OAuth 和 OIDC 通用安全

适用于所有 OAuth 和 OIDC 实现的通用安全要求。

适用场景:

  • 实施任何 OAuth 2.0 或 OpenID Connect 流程
  • 设计使用 OAuth 或 OIDC 的应用,不论其角色如何

详细指导请参阅 data/asvs/V10.1.md。

V10.2 OAuth 客户端

作为 OAuth 客户端运行的应用的安全要求。

适用场景:

  • 构建向授权服务器请求访问令牌的应用
  • 作为客户端实施授权码流程或其他 OAuth 授权类型
  • 在 OAuth 客户端中使用 PKCE

详细指导请参阅 data/asvs/V10.2.md。

V10.3 OAuth 资源服务器

作为 OAuth 资源服务器运行的 API 的安全要求。

适用场景:

  • 构建接受并验证 OAuth 访问令牌的 API
  • 在 API 上实施令牌内省或 JWT 验证
  • 使用 OAuth Bearer 令牌保护 API 端点

详细指导请参阅 data/asvs/V10.3.md。

V10.4 OAuth 授权服务器

针对颁发令牌的 OAuth 授权服务器的安全要求。

适用场景:

  • 实现或配置 OAuth 授权服务器
  • 颁发访问令牌、刷新令牌或授权码
  • 构建自定义授权服务器,而非使用第三方授权服务器

详细指南请参阅 data/asvs/V10.4.md。

V10.5 OIDC 客户端

针对作为 OIDC 依赖方(客户端)的应用的安全要求。

适用场景:

  • 在依赖方应用中实现 OpenID Connect 登录
  • 验证 OIDC ID 令牌
  • 通过 OIDC 请求用户身份信息(声明)

详细指南请参阅 data/asvs/V10.5.md。

V10.6 OpenID 提供方

针对验证用户身份并颁发 ID 令牌的 OpenID 提供方的安全要求。

适用场景:

  • 实现或配置 OpenID 提供方
  • 颁发 OIDC ID 令牌并提供用户身份声明
  • 构建支持 OIDC 的自定义身份提供方

详细指南请参阅 data/asvs/V10.6.md。

V10.7 同意管理

针对在 OAuth 和 OIDC 流程中管理和记录用户同意的要求。

适用场景:

  • 实现 OAuth 同意页面或授权对话框
  • 管理用户对资源委托访问的同意
  • 存储、撤销或审计用户的同意决定

详细指南请参阅 data/asvs/V10.7.md。

V11.1 密码学清单与文档

针对记录密码学实现并建立清单的要求。

适用场景:

  • 记录应用中的密码学选择
  • 维护正在使用的密码学算法和密钥清单
  • 规划迁移到新的或后量子密码算法

详细指南请参阅 data/asvs/V11.1.md。

V11.2 安全的密码学实现

针对使用经过审查的库正确实现密码学操作的要求。

适用场景:

  • 在应用代码中实现密码学操作
  • 选择并使用密码学库或 API
  • 确保正确使用密码学原语

详细指南请参阅 data/asvs/V11.2.md。

V11.3 加密算法

针对选择和配置经批准的加密算法的要求。

适用场景:

  • 在应用中加密或解密数据
  • 选择对称或非对称加密算法及模式
  • 配置加密参数(密钥大小、IV、操作模式)

详细指南请参阅 data/asvs/V11.3.md。

V11.4 哈希与基于哈希的函数

针对选择经批准的哈希函数和 HMAC 构造的要求。

适用场景:

  • 对数据进行哈希处理,以验证完整性或生成校验和
  • 使用 HMAC 进行消息认证
  • 为非密码数据选择哈希算法

详细指南请参阅 data/asvs/V11.4.md。

V11.5 随机值

针对生成密码学安全随机值的要求。

适用场景:

  • 生成随机令牌、nonce、盐值或密钥
  • 在安全敏感的场景中为随机数生成器设置种子
  • 生成会话标识符、CSRF 令牌或 API 密钥

详细指南请参阅 data/asvs/V11.5.md。

V11.6 公钥密码学

针对使用公钥密码学进行签名和非对称加密的要求。

适用场景:

  • 使用非对称(公钥/私钥)对数据进行签名或验证
  • 使用 RSA 或椭圆曲线密钥加密数据
  • 管理公钥/私钥对
  • 实现数字签名或基于证书的操作

详细指南请参阅 data/asvs/V11.6.md。

V11.7 使用中数据的密码学保护

针对对正在主动使用的数据应用密码学保护的要求。

适用场景:

  • 在内存中处理数据时保护数据
  • 实现机密计算或安全飞地
  • 尽可能缩短敏感数据在处理过程中的暴露时间

详细指南请参阅 data/asvs/V11.7.md。

V12.1 TLS 通用安全指南

TLS 配置的通用要求,包括协议版本、密码套件和证书管理。

适用场景:

  • 在任何服务器或端点上配置 TLS
  • 选择 TLS 版本和密码套件
  • 管理 TLS 证书及吊销

详细指南请参阅 data/asvs/V12.1.md。

V12.2 面向外部服务的 HTTPS 通信

外部可访问服务的 HTTPS 要求,包括使用受公众信任的证书。

适用场景:

  • 向最终用户或外部客户端开放 HTTP 端点
  • 为面向公众的 Web 应用或 API 配置 HTTPS
  • 为外部服务获取并部署 TLS 证书

详细指南请参阅 data/asvs/V12.2.md。

V12.3 服务间通信通用安全要求

内部服务与后端之间加密和经过身份验证的通信要求。

适用场景:

  • 配置内部服务或微服务之间的加密通信
  • 通过网络连接数据库、消息队列、缓存或外部 API
  • 在服务之间设置双向 TLS(mTLS)
  • 验证出站连接中的 TLS 证书

详细指南请参阅 data/asvs/V12.3.md。

V13.1 配置文档

记录与安全相关的配置决策的要求。

适用场景:

  • 记录应用的安全配置决策
  • 定义不同部署环境所需的配置

详细指南请参阅 data/asvs/V13.1.md。

V13.2 后端通信配置

安全配置应用出站后端连接的要求。

适用场景:

  • 配置应用到后端(数据库、API、服务)的出站连接
  • 设置后端通信的超时、重试或连接池参数

详细指南请参阅 data/asvs/V13.2.md。

V13.3 密钥管理

安全存储、访问和轮换应用密钥与凭据的要求。

适用场景:

  • 存储或访问应用密钥、API 密钥、数据库凭据或证书
  • 配置环境变量或密钥存储(Vault、AWS Secrets Manager 等)
  • 轮换或审计应用使用的密钥

详细指南请参阅 data/asvs/V13.3.md。

V13.4 意外信息泄露

防止应用通过错误、标头或响应泄露敏感信息的要求。

适用场景:

  • 配置发送给客户端的错误页面和 HTTP 响应
  • 在生产环境中禁用堆栈跟踪、调试输出或详细错误消息
  • 控制应用在标头或响应中透露的信息

详细指南请参阅 data/asvs/V13.4.md。

V14.1 数据保护文档

识别、分类和记录敏感数据保护要求的要求。

适用场景:

  • 对应用中的数据敏感级别进行分类
  • 记录不同数据类别的数据保护要求
  • 为个人身份信息(PII)或受监管数据制定数据处理政策

详细指南请参阅 data/asvs/V14.1.md。

V14.2 通用数据保护

保护敏感数据免遭未授权访问、泄露和过度暴露的要求。

适用场景:

  • 传输或存储敏感数据(个人身份信息、支付信息、凭据)
  • 控制 API 响应中返回的敏感数据
  • 防止敏感数据泄露到 URL、日志或缓存中
  • 实施数据保留或删除政策

详细指南请参阅 data/asvs/V14.2.md。

V14.3 客户端数据保护

保护存储或处理在客户端设备和浏览器上的敏感数据的要求。

适用场景:

  • 在浏览器存储(localStorage、sessionStorage、cookies、IndexedDB)中存储数据
  • 控制浏览器或客户端设备缓存的数据
  • 在移动或桌面客户端应用程序中处理敏感数据

详细指南请参阅 data/asvs/V14.3.md。

V15.1 安全编码与架构文档

记录依赖项风险、危险功能和修复策略的要求。

适用场景:

  • 管理第三方或开源依赖项
  • 记录应用程序中有风险或与安全相关的组件
  • 为存在漏洞的依赖项制定修复时限

详细指南请参阅 data/asvs/V15.1.md。

V15.2 安全架构与依赖项

依赖项管理、供应链安全以及对高风险组件进行架构隔离的要求。

适用场景:

  • 管理第三方库版本和更新
  • 在架构中对高风险组件进行沙箱隔离或隔离
  • 防范依赖项混淆或供应链攻击
  • 为资源密集型操作设计可用性保障

详细指南请参阅 data/asvs/V15.2.md。

V15.3 防御性编码

在与安全相关的代码路径中采用防御性编码实践的要求。

适用场景:

  • 编写使用动态执行、反射或反序列化的代码
  • 在底层或关键安全代码路径中处理不可信数据
  • 在与安全相关的函数中实现输入处理
  • 审查代码中的内存安全或注入风险

详细指南请参阅 data/asvs/V15.3.md。

V15.4 安全并发

通过安全并发防止多线程代码中的竞态条件和数据损坏的要求。

适用场景:

  • 编写多线程或并发应用程序代码
  • 在多个线程或进程之间实现共享状态或共享资源
  • 使用锁、信号量或其他同步原语
  • 设计异步或并行处理工作流

详细指南请参阅 data/asvs/V15.4.md。

V16.1 安全日志记录文档

记录日志决策并明确必须记录哪些事件的要求。

适用场景:

  • 为应用程序设计日志记录策略
  • 记录应当记录哪些安全事件

详细指南请参阅 data/asvs/V16.1.md。

V16.2 通用日志记录

关于应用程序日志应记录哪些内容以及如何记录的通用要求。

适用场景:

  • 实现应用程序日志记录
  • 确定日志消息中要包含哪些信息
  • 配置日志格式和输出目标

详细指南请参阅 data/asvs/V16.2.md。

V16.3 安全事件

记录身份验证、授权失败和敏感操作等安全相关事件的要求。

适用场景:

  • 记录身份验证成功和失败事件
  • 记录授权失败或访问控制决策
  • 记录与安全相关的用户操作(密码更改、账户修改)
  • 为敏感操作建立审计跟踪

详细指南请参阅 data/asvs/V16.3.md。

V16.4 日志保护

保护日志数据免遭篡改、注入和未授权访问的要求。

适用场景:

  • 保护日志文件或日志管道,防止其遭到篡改或未授权访问
  • 将日志转发到集中式或不可变日志存储
  • 确保日志完整性,以满足取证或审计需求

详细指南请参阅 data/asvs/V16.4.md。

V16.5 错误处理

安全处理错误而不向用户泄露敏感信息的要求。

适用场景:

  • 在应用程序代码中实现错误处理和异常管理
  • 向 API 使用者或用户返回错误响应
  • 配置 Web 应用程序中的错误页面或错误消息

详细指南请参阅 data/asvs/V16.5.md。

V17.1 TURN 服务器

用于 WebRTC 应用的 TURN 服务器部署安全要求。

适用场景:

  • 运行或配置用于 WebRTC NAT 穿越的 TURN 服务器
  • 部署 coturn 或类似的 TURN 服务器基础设施

详细指南请参阅 data/asvs/V17.1.md。

V17.2 媒体

用于处理实时音视频流的 WebRTC 媒体服务器安全要求。

适用场景:

  • 托管 WebRTC 媒体服务器(SFU、MCU、录制服务器或网关)
  • 在服务器端处理或路由 SRTP/DTLS 媒体流
  • 构建实时音视频会议基础设施

详细指南请参阅 data/asvs/V17.2.md。

V17.3 信令

用于协调对等连接的 WebRTC 信令服务器安全要求。

适用场景:

  • 实现 WebRTC 信令服务器
  • 处理 WebRTC 对等端之间的 SDP offer/answer 交换
  • 保护用于建立 WebRTC 会话的信令通道

详细指南请参阅 data/asvs/V17.3.md。

评论

支持 Markdown