iac-guardlisted
Install: claude install-skill whaojie797-design/Novera-AI-skills
# IaC Guard
## Overview
面向 DevOps 与平台工程的基础设施即代码(IaC)安全审查工具。对 Terraform(`.tf` / `.tfvars`)与 Kubernetes / 通用 YAML(`.yaml` / `.yml`)做行级启发式扫描,按严重度输出风险与修复建议,并补充"漂移检测"的落地思路。
## When to Use
- 用户说:"审查 terraform"、"检查 k8s yaml"、"iac 安全"、"review IaC"、"iac-guard"、"扫描基础设施代码"。
- 提交/合并 IaC 清单前的预检。
- 对既有仓库做安全巡检或合规基线核对。
## How It Works
内置脚本 `scripts/scan_iac.py`(纯 Python 标准库,无第三方依赖):
- 递归扫描目标目录下所有 `.tf` / `.tfvars` / `.yaml` / `.yml`(自动跳过 `.git`、`node_modules`、`vendor`、`.terraform`)。
- 行级启发式(正则 + 缩进感知)检测风险,详见 `references/iac-rules.md`。
- 输出 `文件:行 [等级] 规则` + 问题描述 + 修复建议;支持 `--json` 机器可读输出。
- 退出码:`0`=无 High;`1`=存在 High;`2`=用法/IO 错误。便于接入 CI 门禁。
## Procedure
1. 确认用户要审查的目标目录或文件集合;若给定单文件,先放到临时目录再整体扫描。
2. 运行扫描器:
- 文本报告:`python scripts/scan_iac.py <dir>`
- CI/集成:`python scripts/scan_iac.py <dir> --json`
3. 按严重度汇总(High 优先,其次 Medium),不要只罗列原始行号——给出"风险 → 影响 → 修复"三段式结论。
4. 对每条 High/Medium 给出可操作的修复建议(引用 `references/iac-rules.md` 中的对应规则)。
5. 提示用户运行"漂移检测"(见下),把"代码态"与"运行态"的差异纳入闭环。
6. 明确说明本工具是启发式预检,不能替代 OPA/Kyverno/Checkov/Trivy 等策略引擎的完整覆盖。
## Drift Detection(漂移检测)
扫描器只审查"代码态"。已部署资源可能因手动变更而偏离声明,需另做比对:
- **Terraform**:`terraform plan -detailed-exitcode`(0=无变更,1=有变更,2=错误),接入定时 CI。
- **Kubernetes**:`kubectl diff -f <manifest>` 或 `kubectl get -o jsonpath` 关键字段断言。
- **云厂商**:AWS Config / Azure Policy / GCP Asset Inventory 等托管合规检测。
扫描器不自动执行上述命令(需凭据与网络),请由用户在目标环境自行运行。
## Bundled Resources
- `scripts/scan_iac.py` — 启发式扫描器(标准库,可直接运行)。
- `references/iac-rules.md` — 规则目录:名称、匹配模式、严重度、修复建议,以及漂移检测与手动复核项。
## Limi