theanshsonkar/emfirge
GitHub: theanshsonkar/emfirge
Emfirge 是一个 MCP 原生的 AWS 安全分析工具,通过 AI 助手实现攻击路径发现、修复模拟和合规检查,并在本地对敏感标识符进行 token 化以保护隐私。
Stars: 3 | Forks: 1
# Emfirge
MCP 原生 · Claude · Cursor · Kiro · Cline · Continue · Codex CLI · 隐私优先
[](LICENSE)
[](https://www.npmjs.com/package/@emfirge/mcp)
[](https://github.com/theanshsonkar/emfirge/actions/workflows/ci.yml)
[](https://github.com/theanshsonkar/emfirge)

“向我展示从互联网发起的最严重攻击路径” — 在 Claude Code 中运行 `emfirge_simulate_breach`。AWS ID 会在到达 LLM 之前,在本地(严格模式)被 token 化处理。
```
You: scan my AWS, role arn:aws:iam::123456789012:role/EmfirgeReadOnly
Claude: Scanned 47 resources. Risk score: 38/100 (HIGH).
3 critical findings, 2 toxic combos.
Worst path: INTERNET → SG_001 → EC2_001 → S3_001 (crown jewel).
Want me to walk the full kill chain?
You: verify a fix — close port 22 on that security group
Claude: Simulated. Score jumps 38 → 62. Resolves 2 findings, breaks 0 paths.
Safe to apply.
```
## 快速体验(30 秒)
```
npx @emfirge/mcp install
```
自动检测所有受支持的 MCP 客户端,配置接入 Emfirge,并选择隐私
模式。重启你的客户端,然后提问:
**没有 AWS 账号?使用 demo ARN — 零配置:**
```
arn:aws:iam::194722410583:role/EmfirgeReadOnly
region: us-east-1
```
还没有角色,但想扫描你真实的 AWS?只需说 **“帮我设置 Emfirge”** —
你的助手会交给你一个一键部署的 CloudFormation 链接。
**免费。** 每个 AWS 账户每天 15 次扫描。无需注册。无需 API key。
### CLI 参考
```
npx @emfirge/mcp install # auto-wire to all detected MCP clients
npx @emfirge/mcp uninstall # remove from all clients
npx @emfirge/mcp status # show what's wired up + privacy mode
npx @emfirge/mcp privacy # strict | balanced | off
npx @emfirge/mcp tokens # list local token mappings
npx @emfirge/mcp purge --role-arn # delete all your scan data
```
环境变量、各客户端配置路径、手动安装后备方案 → 见 [`mcp/README.md`](mcp/README.md)。
## 核心功能
- **攻击路径**:从互联网直抵你的 S3 / RDS / IAM 核心资产,
按利用难度排序(基于加权 Dijkstra,而非跳数)
- **58 条图感知规则**,具备上下文感知的严重性 —— 位于 ALB 后方开放 SSH 的实例,严重性由 Critical 降为 Low;配置了 CloudFront 的公共 S3,严重性由 Critical 降为 Low
- **毒性组合检测** —— 危险的模式配对,例如 *公共 RDS + 无 CloudTrail*、*SSH 开放 + GuardDuty 禁用*
- **确定性修复模拟** —— 克隆基础设施 → 应用变异 → 重建
图 → 重跑所有规则 → 差异对比。验证路径中不涉及 LLM。这是真正的证明。
- **合规性映射** —— CIS AWS Foundations 1.5 + SOC 2,按控制点展示通过/失败
- **MITRE ATT&CK** 技术映射到每一项发现
覆盖范围:EC2、Lambda、ECS、S3、EBS、RDS、IAM、Secrets Manager、KMS、VPC、
Security Groups、WAF、CloudFront、SNS、CloudTrail、GuardDuty、CloudWatch、
AWS Config、Budgets —— 16 项服务,58 条规则。
## 一段话了解隐私
在默认的 `strict` 模式下,MCP 会在任何数据到达你的 LLM 之前,**在本地对每一个 AWS 标识符进行 token 化**。映射关系存储在
`~/.emfirge/tokens.json` —— 绝不会发送给 Emfirge、Anthropic 或任何第三方。
```
What the LLM sees: "INTERNET → SG_001 → EC2_001 → S3_001"
What's on your disk: SG_001 = sg-0a1b2c3d
EC2_001 = i-0abc...
S3_001 = acme-prod-data
```
三种模式,可随时切换:
| 模式 | Token 化内容 | 最适用场景 |
|---|---|---|
| `strict` *(默认)* | 每个 AWS ID —— ARN、EC2/SG/IAM/S3、IP、账户 ID、存储桶名称 | 银行、医疗、受监管行业 |
| `balanced` | ARN、EC2/SG/EIP/IAM ID、IP、账户 ID。Subnet/VPC/卷保持原始数据。 | 大多数用户 |
| `off` | 无任何处理 —— 原始 ID 直接发送给 LLM | 个人账户、演示、调试 |
```
npx @emfirge/mcp privacy strict|balanced|off
```
后端数据留存期为 90 天。运行 `npx @emfirge/mcp purge --role-arn `
即可立即彻底清除所有数据。完整说明详见 [PRIVACY.md](PRIVACY.md)。
## 数据流向
```
┌──────────────┐ role ARN ┌──────────────┐ read-only ┌─────┐
│ Your laptop │──────────────▶│ emfirge.cloud│─────────────▶│ AWS │
│ (MCP host) │ │ (scanner) │ STS, 1 hr └─────┘
└──────┬───────┘ └──────┬───────┘
│ │
│ tokenized IDs │ findings + graph
▼ ▼
┌──────────────┐ ┌──────────────┐
│ Your LLM │ │ Postgres + S3│
│ (Claude/etc) │ │ (90-day TTL)│
└──────────────┘ └──────────────┘
```
MCP 运行在**你的笔记本电脑**上。你的 LLM 只能看到 token 化的 ID ——
映射关系永远不会离开你的设备。后端通过 1 小时有效期的 STS token 承担你的只读
IAM 角色,执行扫描,将发现结果保存 90 天,
随后自动删除。
## 底层原理
- **加权 Dijkstra 攻击路径** —— 边的权重取决于利用难度
(0 = 元数据,1 = 轻松的网络访问,5 = 非常困难)。一条 5 跳的轻松
路径,其危险程度会高于一条 2 跳的凭证窃取路径。
- **Brandes 介数中心性** —— 找出关键瓶颈节点,在这些资源处进行加固,可一次性消除最多的攻击路径。
- **确定性修复模拟器** —— 图变异 + 重新运行规则,验证路径中
无 LLM 参与。是证明,而非猜测。
- **隐私优先的 MCP token 化** —— 三种可配置模式,所有
脱敏操作均发生在任何字节到达 LLM 传输层之前。
## 暴露的 MCP 工具
| 工具 | 功能 |
|---|---|
| `emfirge_setup_help` | 返回 CloudFormation 部署 URL |
| `emfirge_scan` | 运行扫描,返回评分 + `analysis_id` |
| `emfirge_get_findings` | 获取发现结果,可按严重性过滤 |
| `emfirge_attack_paths` | 展示从互联网到核心资产的路径及瓶颈点 |
| `emfirge_verify_fix` | 模拟修复操作,查看真实的评分变化 |
| `emfirge_check_compliance` | CIS / SOC 2 每个控制项的状态 |
| `emfirge_simulate_breach` | 完整的杀伤链推演 —— 攻击阶段、爆炸半径及后续行动 |
## 安全模型
- 只读 IAM 角色 —— **零写入权限**
- ExternalId —— 防止混淆代理人攻击
- 限定信任范围 —— 仅允许 Emfirge 的 AWS 账户担任该角色
- STS 临时凭证 —— 1 小时后过期,绝不持久化存储
- 即时撤销 —— 删除 CloudFormation stack,所有访问权限即刻失效
[完整安全详情 →](https://emfirge.cloud/security.html)
## License
[BUSL 1.1](LICENSE) —— 任何非生产用途免费;在 ARR 不超过 100 万美元或员工数不超过 100 人的生产环境中同样免费。将于 2030 年自动转换为 Apache 2.0。
贡献者需同意相同条款 —— 详见 [CONTRIBUTING.md](CONTRIBUTING.md)。
## 作者
由 Ansh Sonkar 开发 —— [LinkedIn](https://linkedin.com/in/theanshsonkar) ·
[emfirge.cloud](https://emfirge.cloud)
标签:AI辅助审计, AWS, DPI, 大模型工具协议(MCP), 插件系统, 攻击路径分析, 测试用例, 漏洞探索