IaC Security Scanner Skills 是一套由 ara.so 提供的 AI 驱动的基础设施即代码(IaC)安全评估技能,属于 Security Skills 集合。它针对 Terraform 和 CloudFormation 项目进行深度、上下文感知的安全分析,能够识别跨域攻击链、权限提升路径和合规缺口。
用途
该工具用于对 IaC 项目进行安全扫描,帮助开发者和安全团队在部署前发现配置风险。它通过 AI 代理编排多阶段分析,覆盖 IAM、网络、存储、密钥、日志与监控、无服务器等多个安全域,并关联跨域攻击路径。
主要能力
扫描器运行三步流水线:
- 分析:映射仓库结构、资源、信任边界和暴露点。
- 域扫描:并行分析 IAM、网络、存储、密钥、日志、无服务器等域。
- 攻击链关联:识别跨域复合攻击路径并计算最小修复集。
关键特性包括:跨域攻击链检测(互联网 → 工作负载 → IAM → 数据)、最小割分析(用最少修复破坏最多攻击路径)、基于 IaC 证据与启发式的置信度评分(0.0–1.0)、多种扫描模式(完整、快速、范围限定)、并行域分析与智能文件路由、HTML/CSV/终端输出格式。
使用方式
安装:将扫描器技能复制到 IaC 项目根目录。
# 克隆仓库
git clone https://github.com/senaykt/iac-security-scan-skills.git
# 复制技能到项目
cd your-terraform-project
cp -r ../iac-security-scan-skills/{AGENTS.md,CLAUDE.md,.agents,.claude,.cursor} ./
# 将扫描输出加入 .gitignore
echo "iac-scan/" >> .gitignore
IDE 兼容性:
- .agents/skills/ — Opencode、Codex CLI、Windsurf
- .claude/skills/ — Claude Code
- .cursor/skills/ — Cursor
所有目录包含相同技能,编排文件(AGENTS.md 或 CLAUDE.md)路由到正确位置。
扫描模式:
- 完整扫描:运行完整流水线,命令如“Run IaC security scan”或指定目录“Run IaC security scan on the terraform/ directory”。输出包括 analysis.md、各域结果、攻击链结果、report.html、findings.csv、architecture-diagram.html。
- 快速扫描:单次分析,仅高/严重发现,无攻击链关联。命令“Run fast IaC scan”。输出 fast-results.md 和 fast-report.html。适用于 PR 审查、预提交钩子。
- 范围限定扫描:仅运行特定安全域,如“Scan only IAM and network”。有效域:IAM、network、storage、secrets、logging、serverless。攻击链分析仅在选中 2 个以上域时运行。
单个分析器:可运行单个域技能,如“Run IAM analyzer”。若 iac-scan/analysis.md 不存在,步骤 1 自动运行。
扫描后命令:可重新运行特定阶段,如“Run attack chain analysis”或“Generate security report”,读取现有结果文件并重新生成派生输出。
安全域
- IAM:检测权限提升路径、危险信任关系、跨账户访问风险、横向移动链、服务角色错误配置。
- 网络:检测内部服务公开暴露、VPC 分段缺口、安全组错误配置、不受限出口、缺失 VPC 端点。
- 存储:检测未加密数据存储、公开 S3 桶、缺失备份/灾难恢复、勒索软件准备缺口、危险数据访问模式。
- 密钥:检测 IaC 文件中的硬编码凭证、环境变量中泄露的 API 密钥、Terraform 状态文件凭证暴露、CI/CD 密钥管理问题、明文密码。
- 日志与监控:检测 CloudTrail 缺口、GuardDuty 未启用、检测盲点、取证准备问题、告警管道缺口。
- 无服务器:检测未认证的 Lambda 函数 URL、API Gateway 授权错误配置、事件注入漏洞、拒绝钱包风险、过度权限执行角色。
攻击链分析
iac-attack-chain 技能读取所有域发现并构建多步攻击路径。示例:CHAIN-003 从互联网到管理员访问(4 步),最小割为修复 NET-007 或 SEC-002。最小割分析识别破坏最多攻击路径的最小修复集,生成优先修复列表。
输出文件
所有结果写入 iac-scan/ 目录,包括 analysis.md、各域结果、attack-chain-results.md、findings.csv、report.html、architecture-diagram.html。快速扫描输出 fast-results.md 和 fast-report.html。
适用场景
- PR 审查工作流:提交前运行快速扫描,修复高/严重发现。
- 发布前完整扫描:生产部署前运行完整扫描,审查所有输出,使用最小割分析优先修复。
- 聚焦调查:安全团队调查 IAM 配置,运行 IAM 分析器,扩展至攻击链分析。
- 季度合规审查:运行完整扫描,导出发现,审查合规映射(CIS AWS Foundations Benchmark、NIST 800-53、PCI DSS、SOC 2)。
限制
- 无配置文件,完全通过自然语言命令控制。
- 攻击链分析需要至少 2 个域被扫描。
- 快速扫描使用有限文件列表,可能遗漏某些凭证。
- 范围限定扫描会跳过无关域,报告可能显示“Domain not scanned”。
- 支持的项目布局包括扁平文件、按环境、按账户、Terragrunt、按服务仓库、CDK 应用、Serverless Framework、CloudFormation StackSets、Atlantis 管理、Monorepo。
- 许可证:MIT。
集成示例
提供 GitHub Actions、GitLab CI、预提交钩子的集成示例,以及高级用法如自定义严重性过滤、扫描差异对比、合规报告生成。
技能文件参考
包含 iac-analysis、iac-iam、iac-network、iac-storage、iac-secrets、iac-logging-monitoring、iac-serverless、iac-attack-chain、iac-report、iac-fast-scan 等技能,完整流水线约 5,400 行,快速模式约 175 行。