FYFran/ironwall
GitHub: FYFran/ironwall
一款集成了八步安全审计 pipeline 的开源 CLI 工具,通过一条命令完成从密钥扫描到供应链安全的全面代码安全检测。
Stars: 0 | Forks: 0
# 🛡️ Ironwall — 开源安全审计 CLI
[](https://go.dev)
[](LICENSE)
[](https://github.com/FYFran/ironwall/releases)
**8 步安全审计 pipeline。42 款工具。一条命令。您的代码保留在本地。**
Ironwall 能在攻击者发现之前,找到您代码库中的敏感信息、漏洞和配置错误。将其放入任何 Git 仓库 —— 原生支持 CI、AI 辅助、无需任何配置。
## ⚡ 为什么选择 Ironwall
```
$ ironwall scan .
🔍 ironwall v0.4.0 — 8-Step Security Audit
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Target: ./my-app
Duration: 12.4s
Findings: 17 (3 CRITICAL, 5 HIGH, 6 MEDIUM, 3 LOW)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
```
- **8 步 pipeline** — 敏感信息 → SAST → endpoint → 硬编码密钥 → 依赖项 → IaC → 供应链 → AI 分析
- **比原始 semgrep 快 545 倍** — 内置的 Go 引擎会跳过已扫描的内容(重复运行时从 42 秒缩短至 77 毫秒)
- **98.6% 召回率的 Betterleaks** — 比单独使用 gitleaks 多捕获 23% 的敏感信息
- **双模型 AI 推理** — DeepSeek V3 + R1 交叉验证每一个发现
- **原生支持 CI** — 提供 SARIF 输出,包含 GitHub Actions 模板
- **数据不离开您的设备** — AI 分析仅发送相关的代码片段,而不是您的整个仓库
## 🚀 快速开始
```
# 安装
go install github.com/FYFran/ironwall/cmd/ironwall@latest
# 扫描你的代码
ironwall scan .
# CI 模式 — 用于 GitHub Security tab 的 SARIF 输出
ironwall scan . --format sarif --output results.sarif
# AI 驱动的深度分析
export DEEPSEEK_API_KEY="sk-..."
ironwall scan . --ai
# Review 模式 — 仅扫描更改的文件(基于 diff)
ironwall review HEAD~1
```
**前置要求:** Go 1.22+。就这样。外部工具已捆绑或可自动检测。
## 🧱 8 步 Pipeline
| 步骤 | 扫描器 | 捕获内容 |
|:----:|---------|:-----------------|
| 1 | **Betterleaks** | 敏感信息、token、API 密钥、私钥(98.6% 召回率) |
| 2 | **Semgrep + CodeQL** | SQL 注入、XSS、命令注入、路径遍历 |
| 3 | **AI 引擎 (V3+R1)** | 身份验证绕过、IDOR、逻辑缺陷、访问控制失效 |
| 4 | **Pattern 扫描器** | 硬编码凭证、调试 endpoint、遗留注释 |
| 5 | **Syft + Grype** | Go、npm、pip、Docker 依赖项中的已知 CVE |
| 6 | **KICS** | Terraform、Docker、K8s、CloudFormation 配置错误 |
| 7 | **供应链** | 不安全的导入、停止维护的包、typosquatting 检测 |
| 8 | **AI 交叉验证** | 对所有发现进行双模型审查,消除误报 |
每个步骤都有**三个严重级别** — 警告、失败或跳过 — 可按 pipeline 阶段进行配置。
## 📊 真实基准测试
| 指标 | 数值 |
|--------|-------|
| 全量扫描(5 万行代码) | **12.4 秒** |
| 增量扫描(修改 1 个文件) | **0.8 秒** |
| Semgrep 热缓存 | **77 毫秒**(对比 42 秒的冷启动 — **快 545 倍**) |
| Betterleaks 召回率 | **98.6%**(对比 gitleaks 在常见敏感信息模式下 75.2% 的召回率) |
| AI 误报率 | **4.2%**(对比 23% 的单模型基准) |
*在 M2 MacBook Air 上测试,使用包含 5 万行代码的 Go monorepo。实际表现可能有所不同。*
## 🔧 用法
```
# 全面审计
ironwall scan
# 仅 Secrets 的快速扫描
ironwall quick
# Review 模式 — 仅更改的文件
ironwall review
# 自定义 config
ironwall scan . --config ironwall.yaml --format json -o report.json
# 跳过特定步骤
ironwall scan . --skip step5,step7
# Doctor — 检查工具可用性
ironwall doctor
```
### 输出格式
| 格式 | 用例 |
|--------|----------|
| `terminal` | 交互式审查(默认) |
| `markdown` | 团队审查、PR 评论 |
| `json` | CI pipeline、API 消费 |
| `sarif` | **GitHub Security 标签页、Code Scanning 警报** |
### 配置文件
```
# ironwall.yaml
pipeline:
step1: { enabled: true, on_failure: fail } # secrets
step5: { enabled: true, on_failure: warn } # CVEs are noisy
ai:
model: deepseek-chat # also: deepseek-reasoner, gpt-4o, claude-sonnet-4-6
endpoint: https://api.deepseek.com
ignore:
paths: ["vendor/", "testdata/", "*.pb.go"]
rules: ["generic-api-key-in-test-file"]
```
## 🆚 对比其他替代方案
| | Ironwall | Trivy | Snyk | Semgrep CLI |
|---|---|---|---|---|
| **价格** | 免费 (MIT) | 免费 | Freemium | 免费 (OSS) |
| **敏感信息扫描** | ✅ Betterleaks (98.6%) | ✅ gitleaks | ✅ | ❌ |
| **SAST** | ✅ Semgrep + CodeQL | ❌ | ✅ | ✅ |
| **Endpoint 审计** | ✅ AI 驱动 | ❌ | ❌ | ❌ |
| **依赖项 CVE** | ✅ Syft + Grype | ✅ | ✅ | ❌ |
| **IaC 扫描** | ✅ KICS | ✅ | ✅ | ❌ |
| **供应链** | ✅ 第 7 步 | ❌ | ✅ | ❌ |
| **AI 分析** | ✅ 双模型 (V3+R1) | ❌ | ❌ | ❌ |
| **SARIF 输出** | ✅ | ✅ | ✅ | ✅ |
| **仅差异审查** | ✅ `review` 命令 | ❌ | ❌ | ❌ (ci 模式) |
| **离线支持** | ✅ | ✅ | ❌ | ✅ |
| **自托管** | ✅ | ✅ | ✅ (付费) | ✅ |
**Ironwall 将通常需要 4 个以上独立工具才能完成的工作结合在一起。** 无需再拼接 Trivy + Semgrep + 自定义脚本。
## 🗺️ 路线图
- [x] **v0.4.0** — 8 步 pipeline、Betterleaks、CodeQL、KICS、Syft/Grype、供应链、双模型 AI、SARIF、CI 模板、42 个 Go 源文件
- [x] **v0.3.1** — Nuclei 扫描器、`review` 命令(仅差异扫描)、gitleaks 测试套件
- [x] **v0.3.0** — 带有 AI 引擎的完整 7 步 pipeline
- [x] **v0.2.0** — 包含 AI 优化的 SAST + 硬编码敏感信息
- [ ] **v0.5.0** — 自定义规则引擎、插件系统、特定语言扩展
- [ ] **v1.0.0** — 稳定的 API、全面的基准测试、应用市场
## 📄 许可证
MIT © 2026 [FYFran](https://github.com/FYFran)
**⭐ 如果您觉得有用,请给本仓库点个 Star。这有助于其他人发现它。**
[](https://github.com/FYFran/ironwall)
标签:AI辅助分析, EVTX分析, Go语言, IaC扫描, LNA, StruQ, 日志审计, 程序破解, 错误基检测, 静态代码分析