用途
Security Patterns 为 Web 应用开发提供一套安全编码模式与 OWASP 指南参考,帮助在开发与安全审查过程中识别常见漏洞并采用正确的防护写法。其描述中列出的触发场景包括:security review、OWASP、XSS、SQL 注入、CSRF、认证、授权、密钥管理、输入验证等。
主要能力
OWASP Top 10 快速参考
文档以表格形式列出 OWASP Top 10 风险、排名与预防要点:
- A01 Broken Access Control:服务端检查权限,默认拒绝
- A02 Cryptographic Failures:使用 TLS、哈希密码、加密敏感数据
- A03 Injection:参数化查询、验证输入
- A04 Insecure Design:威胁建模、安全默认值
- A05 Security Misconfiguration:加固配置、禁用未使用功能
- A06 Vulnerable Components:更新依赖、定期审计
- A07 Auth Failures:MFA、速率限制、安全会话管理
- A08 Data Integrity Failures:校验签名、使用可信来源
- A09 Logging Failures:记录安全事件、保护日志
- A10 SSRF:验证 URL、允许列表目标
输入验证
给出错误与正确写法对照:错误做法是信任用户输入并直接拼接 SQL 字符串;正确做法是使用参数化查询。文档还列出应始终验证的维度(类型、长度、范围、格式、允许列表)以及不可信任的来源(URL 参数、表单数据、HTTP 头、Cookie、文件上传)。
输出编码
给出前端代码对照:错误做法是直接使用 innerHTML 插入用户输入;正确做法是使用 textContent(自动转义)或带转义的模板渲染。并列出不同上下文的编码方式:HTML body 用 HTML 实体编码、HTML 属性用属性编码并加引号、JavaScript 用 JS 编码、URL 参数用 URL 编码、CSS 用 CSS 编码。
认证
提供使用 bcrypt 的密码哈希与校验示例代码,并附认证检查清单:使用 bcrypt/argon2 哈希密码(cost factor 12+)、登录速率限制、安全会话令牌(随机且长)、安全 Cookie 标志(HttpOnly、Secure、SameSite)、失败尝试后的账户锁定、敏感操作支持 MFA。
授权
通过代码对照说明仅检查认证与检查授权的区别:正确做法是在删除等操作前校验资源归属或管理员权限,否则抛出 Forbidden。
密钥管理
给出硬编码密钥、环境变量、密钥管理器三种方式,并列出规则:应使用环境变量或密钥管理器、定期轮换、不同环境使用不同密钥、审计密钥访问;不应将密钥提交到 git、记录到日志、放入错误信息、以明文共享。
安全响应头
列出常用安全头配置:Content-Security-Policy、X-Content-Type-Options、X-Frame-Options、Strict-Transport-Security、Referrer-Policy、Permissions-Policy。
快速安全审计
提供基于 ripgrep 的搜索命令,用于查找硬编码密钥、SQL 注入风险、eval/exec 使用以及安全相关 TODO。
使用方式
该技能以 Markdown 文档形式提供安全模式参考,可在安全审查或编码过程中查阅。文档附带参考文件路径:
./references/owasp-detailed.md- 完整 OWASP Top 10 细节./references/auth-patterns.md- JWT、OAuth、会话管理./references/crypto-patterns.md- 加密、哈希、签名./references/secure-headers.md- HTTP 安全头指南
以及脚本:
./scripts/security-scan.sh- 快速安全 grep 模式./scripts/dependency-audit.sh- 检查易受攻击的依赖
适用场景
适用于 Web 应用开发过程中的安全编码参考、代码安全审查、OWASP 风险自查,以及输入验证、输出编码、认证授权、密钥管理等具体环节的写法对照。
限制
本次资料未提供安装命令、收费方式、价格、平台支持范围或实际使用效果等信息,这些内容暂未提供。文中代码与命令均为文档示例,实际使用时应结合具体技术栈与环境进行验证。