name: 安全审计 slug: "security-audit" version: "1.0.0" displayName: "安全审计" summary: "对应用程序和基础设施进行全面安全审计,以识别漏洞、评估风险并推荐符合行业标准的缓解措施。" description: 对应用程序和基础设施进行全面安全审计,以识别漏洞、评估风险并推荐符合行业标准的缓解措施。 license: MIT metadata: author: awesome-ai-agent-skills version: 1.0.0
此技能使代理能够对Web应用程序、API、云基础设施和后端服务进行彻底的安全审计。代理系统地检查认证机制、授权控制、输入验证、加密实践、日志配置和部署设置。发现结果映射到行业框架,如OWASP Top 10、CWE标识符以及合规标准,包括SOC 2和PCI-DSS。
收集系统信息 — 收集目标环境的详细信息,包括技术栈、架构图、网络拓扑、部署模型和第三方集成。审查配置文件、环境变量和基础设施即代码模板,以构建攻击面的完整视图。
定义审计范围和合规目标 — 通过识别哪些组件、环境和数据流在审计范围内来建立审计边界。将审计目标映射到相关的合规框架,如SOC 2 Type II、PCI-DSS、HIPAA或内部安全策略。创建基于OWASP Top 10和CWE/SANS Top 25的检查清单,以确保系统覆盖。
执行自动化漏洞扫描 — 对目标运行自动化扫描器以识别已知漏洞。使用OWASP ZAP进行Web应用程序、Trivy或Grype进行容器镜像、ScoutSuite或Prowler进行云基础设施扫描。聚合原始发现结果供手动审查。
进行手动安全审查 — 手动检查认证流程、会话管理、基于角色的访问控制、输入清理程序、加密实现、错误处理和日志实践。检查源代码中的硬编码密钥、不安全反序列化和自动化工具常遗漏的业务逻辑缺陷。
分析和分类发现结果 — 使用CVSS评分评估每个发现的严重性(关键、高、中、低、信息)。分配CWE标识符并将发现映射到相关的OWASP Top 10类别。评估可利用性、影响范围和业务影响,以生成优先级风险排序。
生成包含缓解计划的审计报告 — 生成结构化报告,包括执行摘要、详细发现(含证据和复现步骤)、风险评级和具体的缓解建议及预计工作量。包括合规差距分析,显示针对目标框架控制的通过/失败状态。
向代理提供对应用程序源代码、基础设施配置或目标URL以及所需合规范围的访问权限。代理将执行完整的审计工作流程并交付优先级发现报告。
提示示例:
Perform a security audit of the Node.js Express application in /app. Focus on OWASP Top 10 coverage and SOC 2 compliance. Include CWE IDs and remediation steps for every finding.
目标: 使用Express.js、Sequelize ORM和JWT认证构建的电子商务API。
发现报告(摘录):
| # | Severity | Title | CWE | OWASP Category |
|---|---|---|---|---|
| 1 | Critical | SQL injection in product search endpoint | CWE-89 | A03:2021 Injection |
| 2 | High | JWT secret stored in plaintext in .env committed to repo |
CWE-798 | A07:2021 Identification and Authentication Failures |
| 3 | High | Missing rate limiting on /api/login |
CWE-307 | A07:2021 Identification and Authentication Failures |
| 4 | Medium | Verbose error messages expose stack traces in production | CWE-209 | A04:2021 Insecure Design |
| 5 | Medium | CORS policy allows wildcard origin with credentials | CWE-942 | A05:2021 Security Misconfiguration |
| 6 | Low | HTTP security headers missing (X-Content-Type-Options, CSP) | CWE-693 | A05:2021 Security Misconfiguration |
发现 #1 的缓解措施:
// BEFORE — vulnerable to SQL injection
app.get('/api/products', async (req, res) => {
const results = await sequelize.query(
`SELECT * FROM products WHERE name LIKE '%${req.query.search}%'`
);
res.json(results);
});
// AFTER — parameterized query
app.get('/api/products', async (req, res) => {
const results = await sequelize.query(
'SELECT * FROM products WHERE name LIKE :search',
{ replacements: { search: `%${req.query.search}%` }, type: QueryTypes.SELECT }
);
res.json(results);
});
目标: 运行三层Web应用程序的生产AWS账户。
Prowler扫描命令:
prowler aws --compliance soc2 pci_dss --output-formats json html --output-directory ./audit-report
发现报告(摘录):
| # | Severity | Finding | AWS Service | Compliance Control |
|---|---|---|---|---|
| 1 | Critical | S3 bucket prod-user-uploads has public read access enabled |
S3 | PCI-DSS 7.1, SOC 2 CC6.1 |
| 2 | High | IAM user deploy-bot has inline AdministratorAccess policy |
IAM | SOC 2 CC6.3 |
| 3 | High | RDS instance prod-db has encryption at rest disabled |
RDS | PCI-DSS 3.4, SOC 2 CC6.1 |
| 4 | Medium | CloudTrail logging is not enabled for all regions | CloudTrail | SOC 2 CC7.2 |
| 5 | Medium | Security group sg-0abc123 allows SSH (port 22) from 0.0.0.0/0 |
EC2 | PCI-DSS 1.3 |
发现 #2 的缓解措施:
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": ["ecr:GetAuthorizationToken", "ecs:UpdateService", "ecs:DescribeServices"],
"Resource": "arn:aws:ecs:us-east-1:123456789012:service/prod-cluster/web-service"
}
]
}
这个 Skill 质量不错,内容专业全面。它能帮助识别 Web 应用、云基础设施等多种环境的安全问题,并给出具体的修复建议。不过它更像是一份指南手册,实际使用时代入感和可操作性还可以再加强。总体适合有一定安全基础的用户,普通用户可能需要更多引导才能发挥它的最大价值。