关于 security-guidance
供 Agent 在规划或编写涉及安全操作的代码时使用的安全指导技能。它依据任务匹配 ASVS 参考内容,要求落实相关要求,并在覆盖不足或有冲突时升级处理。
主要功能
- 01ASVS 触发条件索引
- 02读取匹配的参考文件
- 03应用 Level 1 基线要求
- 04为要求添加行内引用
- 05升级处理缺口或冲突
适用场景
- 01规划处理不可信输入的功能
- 02编写涉及安全操作的代码
- 03实施前核对适用的 ASVS 要求
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ owasp/ secure-agent-playbook --skill security-guidance安装后在 Claude Code 中输入/security-guidance确认已加载。
详细介绍
安全指南
核心原则
安全是首要要求。在完成任何计划或编写涉及安全敏感操作的代码之前,请查阅下方的 ASVS 参考索引,并应用所有相关指南。
所有生成的代码和计划都必须明确遵循所选指南,采用安全的默认设置,并添加明确的行内引用。
工作流程
- 确定相关章节 — 根据下方索引中的
When to use:触发条件,匹配当前任务。任务可能匹配多个章节;请应用所有匹配章节的指南。 - 阅读参考文件 — 对于每个匹配的章节,请阅读其索引条目末尾列出的完整参考文件,以了解完整的验证要求。
- 应用指南 — 落实相关要求。如果要求允许选择,默认采用最安全的选项。至少应用所有 Level 1 要求;指出相关但尚未落实的 Level 2 或 Level 3 要求。
- 在行内引用已应用的要求 — 在代码注释或计划备注中引用所满足的每项要求:
// 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。