Osias-Cloud-Security/iam-policy-analyzer
GitHub: Osias-Cloud-Security/iam-policy-analyzer
一个 Claude Code 的 Agent Skill,通过确定性规则引擎在部署前静态分析 AWS IAM 策略,识别最小权限违规、权限提升路径和爆炸半径等安全风险。
Stars: 0 | Forks: 0
# IAM Policy Analyzer
**静态 AWS IAM 策略安全分析。无需账户访问权限。**
一个 Claude 的 [Agent Skill](https://docs.claude.com/en/docs/agents-and-tools/agent-skills/overview),可分析一个或多个 AWS IAM 策略,并为每个策略生成通俗语言的安全评估报告——包括最小权限违规、权限提升路径和爆炸半径,并提供优先级建议。
它将**确定性规则引擎**(事实依据)与**模型驱动的撰写指导**(清晰、谨慎、非推测性的措辞)相结合。所有分析均完全基于策略文本本身——绝不假设其附加上下文、SCPs、权限边界或运行时使用情况。
## 问题背景
IAM 策略编写容易,阅读却很难。一个孤立的 `Action: "*"`,一个与正确计算操作配对的 `iam:PassRole`,或者一个缺少混淆代理防护的信任策略,都可能会赋予远超预期的权限——而这些问题光看一眼 JSON 是无法发现的。
人工审查策略不仅速度慢、不一致,而且极易出错。大多数代码检查工具要么让你淹没在海量的无用信息中,要么遗漏了那些真正重要的链式风险——如权限提升路径和爆炸半径。
## 解决方案
将该 skill 指向您拥有的任何内容——粘贴的 JSON、Terraform、CloudFormation——它会提取每个策略文档并对其进行独立评分。确定性引擎提供事实性的分析结果;Claude 则将这些结果转化为一份严谨且按优先级排列的报告。
```
iam-policy-analyzer/
SKILL.md # entry point: the analysis workflow + when to use it
scripts/analyze_policy.py # deterministic rule engine (Python stdlib only, no dependencies)
reference/extraction.md # how to pull policies from JSON / Terraform / CloudFormation
reference/analysis-rubric.md # how to phrase findings — the three lenses + cautious phrasing
reference/finding-catalog.md # every finding id, its trigger, and severity logic
templates/report.md # output skeleton (one block per policy)
```
您将获得针对每个策略的风险级别(LOW / MEDIUM / HIGH / CRITICAL)以及具体的修复建议——且不会对常规的只读访问产生误报。请参阅 [`reference/finding-catalog.md`](reference/finding-catalog.md) 以获取完整的发现列表和严重性规则。
## 安装说明
```
git clone https://github.com/osias-cloud-security/iam-policy-analyzer.git ~/.claude/skills/iam-policy-analyzer
```
这会全局安装该 skill——在您使用 Claude Code 打开的每个项目中都可以使用它。
### 仅添加到特定项目
如果您希望将 skill 的作用范围限制在单个项目,而不是全局安装,请执行以下操作:
```
cd your-project
mkdir -p .claude/skills
git clone https://github.com/osias-cloud-security/iam-policy-analyzer.git .claude/skills/iam-policy-analyzer
```
项目级别的 skill 位于 `.claude/skills/` 目录中,仅在该项目中处于活动状态。
## 快速开始
在您的项目中打开 Claude Code 并直接提问——可以内联粘贴策略,也可以指向一个文件(Terraform `.tf` 文件、CloudFormation/SAM 模板或 `.json` 策略文件):
```
Analyze the IAM policies in roles.tf for least-privilege and escalation risks.
```
Claude 会根据 skill 的描述识别任务,运行分析,并返回针对每个策略的安全报告。无需手动设置。
### 更新
```
cd ~/.claude/skills/iam-policy-analyzer && git pull
```
## 工作原理
该 skill 遵循三个原则:
**确定性优先。** 一个 Python 规则引擎(仅使用标准库,无额外依赖)作为事实依据——它将每个文档分类为身份策略或信任策略,并标记出已知的危险模式。Claude 绝不会编造策略文本无法证实的安全发现。
**一个策略,一个结论。** 每个策略文档都会通过三个维度进行独立评分——最小权限、权限提升路径和爆炸半径。当存在多个策略时,它们的评估结果绝不会合并或汇总为一个单独的结论。
**默认谨慎。** 评估结果的措辞都是保守的(“可以启用”、“可能允许”),常规的只读访问不会被标记为风险,并且每份报告都会指出其无法看到的上下文——附加状态、SCPs、权限边界以及运行时的使用情况。
## 适用范围
严格限定于 IAM **身份**策略(托管策略或内联策略)以及角色**信任**策略。基于服务资源的策略(S3 bucket、KMS key、SQS、SNS、Lambda、DynamoDB)**不在范围内**——它们会被检测到并返回为 `NOT_ANALYZED` 状态,不进行评分。服务控制策略和实时账户审计也不在范围内。
## 许可证
[MIT](LICENSE)。
由 Osias Cloud Security 构建。
*了解您的安全态势。弥补您的安全漏洞。*
标签:AWS IAM, Claude Agent, 云安全监控, 最小权限原则, 权限审计, 逆向工具, 静态分析