用途
Security Audit 是一个面向代码安全审计的技能,用于在开发过程中系统性地发现和修复安全漏洞。它强调每个发现都应被严肃对待,因为单个漏洞就可能危及整个系统。
主要能力
该技能按结构化流程覆盖以下审计领域:
-
密钥与凭据:扫描源码、配置文件、日志、错误信息、注释和 Git 历史中暴露的 API 密钥、令牌、密码等,并检查 .gitignore、环境变量加载和 .env.example 的使用。
-
注入攻击:检查 SQL 注入、NoSQL 注入、命令注入、XSS、路径穿越和模板注入,并给出易受攻击与安全写法的对比示例。
-
认证与授权:识别弱密码要求、缺少速率限制、缺少账户锁定、不安全密码存储、缺少 MFA、会话令牌放在 URL、无会话过期,以及缺少授权检查、IDOR、权限提升、缺少资源归属校验等问题。
-
数据暴露:检查 API 响应中的敏感数据、生产环境详细错误信息、缺少字段过滤、客户端存储敏感数据、日志中的 PII、缺少静态加密和 CORS 配置错误。
-
输入验证:检查缺少验证、类型混淆、缺少长度限制、文件上传验证缺失、ReDoS 和缺少 content-type 校验。
-
依赖:通过 npm audit、pip audit、safety check 等命令检查已知 CVE、过时包、废弃包、名称仿冒风险、过度权限和锁文件。
-
HTTP 安全响应头:检查 Content-Security-Policy、Strict-Transport-Security、X-Content-Type-Options、X-Frame-Options、Referrer-Policy 和 Permissions-Policy。
-
加密:检查弱哈希、弱加密、硬编码密钥、缺少 TLS、弱 JWT 和可预测随机值。
-
基础设施与配置:检查生产环境调试模式、默认凭据、不必要端口、缺少速率限制、缺少请求大小限制、不安全 CORS 和缺少 CSRF 保护。
-
技术栈专项检查:针对 Node.js/Express、Python/Django、Python/Flask、React/Next.js、Vue/Nuxt、Ruby on Rails、Go、Java/Spring Boot、PHP/Laravel、移动端(React Native/Flutter)、支付安全、AWS/云基础设施和 Docker/容器提供具体检查项。
使用方式
按上述十个领域逐项审查代码,使用提供的 grep、git、npm audit、pip audit、curl 等命令辅助检查。对每个发现的问题,按以下格式输出:严重级别与类别及文件行号、漏洞说明、风险、利用方式、修复代码和 CWE/OWASP 参考。严重级别分为 CRITICAL、HIGH、MEDIUM、LOW 四级。审计结束时输出整体风险评级、关键发现数量、最危险的三个问题、快速修复项、长期建议以及已做得好的安全实践。
适用场景
适用于代码安全审计、上线前安全检查、代码审查中的安全排查,以及针对特定技术栈的安全加固。
限制
该技能以检查清单和示例形式提供审计指导,具体执行效果取决于使用者的判断和项目实际情况。资料未提供自动化扫描工具集成、收费方式或平台支持等额外信息。