FYFran/ironwall

GitHub: FYFran/ironwall

一款集成了八步安全审计 pipeline 的开源 CLI 工具,通过一条命令完成从密钥扫描到供应链安全的全面代码安全检测。

Stars: 0 | Forks: 0

# 🛡️ Ironwall — 开源安全审计 CLI [![Go 版本](https://img.shields.io/badge/Go-1.22%2B-blue)](https://go.dev) [![许可证](https://img.shields.io/badge/license-MIT-green)](LICENSE) [![版本](https://img.shields.io/badge/version-0.4.0-orange)](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。这有助于其他人发现它。** [![Star 历史图表](https://img.shields.io/badge/dynamic/json?color=yellow&label=Stars)](https://github.com/FYFran/ironwall)
标签:AI辅助分析, EVTX分析, Go语言, IaC扫描, LNA, StruQ, 日志审计, 程序破解, 错误基检测, 静态代码分析