0xjesus/ironguard

GitHub: 0xjesus/ironguard

IronGuard 是一个始终在线、隐私优先的开发工作区安全审计器,通过本地确定性扫描与 TEE 内 LLM 代码分析相结合,持续检测密钥泄露、受损依赖和代码漏洞。

Stars: 0 | Forks: 0

# 🛡️ IronGuard **一个始终在线、隐私至上的开发工作区安全审计器 —— 作为 IronClaw agent 构建。** IronGuard 持续监控您工作区中的每一个代码仓库,并在一个实时仪表板上展示三类风险: 1. **🔑 暴露的 secrets** — API keys、tokens、private keys(在本地检测,**已掩码**,绝不发送到任何地方)。 2. **📦 受损的依赖项** — 具有漏洞且*恶意*的包,通过与实时的 [OSV.dev](https://osv.dev) 数据库进行比对检查(该数据源同样用于追踪真实的 npm 供应链攻击)。 3. **🧠 代码漏洞** — 注入、SSRF、身份验证绕过、不安全的 `eval`、不安全的加密……由**对您的实际源代码进行推理的 LLM** 发现(运行在 NEAR AI 的机密 TEE 上),而非基于正则表达式。 ## 为什么需要 过去几年中最具破坏性的事件都是**供应链攻击**:隐藏在您的工具(以及日益增多的 AI agents)自动安装的 npm/PyPI 包中的恶意软件。同时,真实的漏洞潜伏在您自己的代码中,而 secrets 则泄漏到 `.env` 文件里。现有的扫描器要么是确定性的(会漏掉新型攻击和逻辑错误),要么是基于云端的 SaaS(您需要将代码发送给它们)。 IronGuard 将**确定性事实**与 **LLM 判断**相结合,并通过机密计算确保您的代码隐私。 ## 界面预览 位于 `http://127.0.0.1:8787` 的实时仪表板,支持自动刷新,并提供扫描历史记录和按代码仓库的详细下钻: ``` IronGuard LIVE · auto-refresh 15s 2 repos | 2 secrets | 3 vulnerable deps | 1 malicious | 2 code vulns (AI) ▼ payments-api [2 secrets · 3 vuln · 1 malware · 2 code] CRITICAL Exposed secrets: AWS Access Key (.env:1) GitHub Token (.env:2) [masked] Vulnerable deps: lodash 4.17.11 (7 advisories) flatmap-stream 0.1.1 ⚠ MALWARE MAL-2025-20690 AI code vulns: critical command-injection server.js:7 "/ping concatenates req.query.host into a shell exec" critical sql-injection server.js:12 "/user concatenates req.query.id into a SQL string" ▶ blog [0 secrets · 0 vuln · 0 code] LOW ``` 上面的每一个发现都是**真实的**,均通过实时的 OSV 数据和实时 LLM 分析进行了验证 —— 没有使用任何模拟数据。 ## 架构 ``` ┌──────────────────────── IronClaw agent ────────────────────────┐ cron / trigger → │ skill: ironguard │ │ ├─ deterministic engine (local, no cloud) │ │ │ • secret scan (regex + entropy, masked on the spot) │ │ │ • parse package.json / requirements.txt / Cargo.toml │ │ │ • ironguard.scan (WASM tool) → OSV.dev querybatch │ │ └─ AI brain → NEAR AI (confidential TEE) deep code analysis │ └───────────────────────────────┬─────────────────────────────────┘ ▼ SQLite (history) → serve.py → live dashboard (127.0.0.1) ``` - **确定性层** = 事实基础。完全在您的机器上运行。它向外发送的唯一内容就是发送给 OSV.dev 的*包名称 + 版本号*。 - **AI 层** = 判断依据。源代码由 NEAR AI 在一个**带有远程证明的 TEE** 内进行分析 —— 即使是 NEAR 或云提供商也无法读取它。 - **`ironguard.scan`** 是一个真实的沙箱化 **WASM tool**(Rust → `wasm32-wasip2`),由 IronClaw agent 调用;它在沙箱内部查询 OSV。 ## 隐私 —— 以及如何*验证*它(不要信任,去核实) 您的 secrets 和代码永远不会以明文形式离开您的机器。您可以证明这一点: | 声明 | 如何自行验证 | |---|---| | Secret 检测是 100% 本地进行的 | `grep urllib skill/audit.py` → 唯一的外部调用是针对 OSV 的。在离线状态下运行 → 它**依然能找到您的 secrets**。 | | 只有包元数据会离开本机 | OSV 的请求体是 `{"queries":[{"package":{"name":...},"version":...}]}` —— 没有代码,也没有 secrets。 | | 原始 secrets 绝不会被存储 | 检查 `~/ironguard/ironguard.db` → 只有掩码预览(`AKIA…MPLE (20 chars)`)。 | | 仪表板不会被暴露 | `serve.py` 绑定 `127.0.0.1`(仅限环回地址)。 | | 即使是 AI 部分也是私密的 | NEAR AI 在 TEE 中运行推理并返回加密的**证明**。请参阅 [NEAR AI — 私有推理](https://docs.near.ai/cloud/private-inference/)。 | ## 快速开始 ### 1. 构建 WASM tool 并将其安装到 IronClaw 中 ``` # 在你的 ironclaw checkout 中,应用下方的 patch 之后: cp -r ironguard/tool ironclaw/tools-src/ironguard bash ironclaw/tools-src/ironguard/install.sh # build + install + activate ironguard.scan ``` ### 2. 安装 skill 将 `skill/SKILL.md` 复制到您 agent 的 skills 目录中(`/local-dev/tenants/default/users//skills/ironguard/SKILL.md`)。 ### 3. 运行始终在线的审计器 ``` bash skill/run.sh ~/code # initial audit + dashboard server + cron (every 5 min) # → IronGuard 已启动 ▶ http://127.0.0.1:8787 ``` 或者进行一次性运行,无需 IronClaw(确定性引擎 + AI 分析是独立的 Python 脚本): ``` python3 skill/audit.py ~/code # writes SQLite + report.js python3 skill/serve.py # serves the dashboard at :8787 ``` ## IronClaw 补丁(`patches/ironclaw-wasm-egress-fix.patch`) 构建 IronGuard 时发现了 IronClaw Reborn 中的一个真实 bug:一个**声明了 `network` 效果但没有携带任何基于凭证的 audience 的自定义 WASM tool** 会被赋予一个空的网络白名单,随后宿主机的义务验证器会**拒绝**该请求 —— 因此该工具虽然可以被安装和调用,但永远无法*执行*(`obligation handling failed: Network`)。 修复方案(`runtime/local_dev/extension_surface.rs` 中的一个函数):为此类工具授予一个广泛的本地开发白名单(私有/元数据 IP 仍被屏蔽)。使用以下命令应用: ``` cd ironclaw && git apply ../ironguard/patches/ironclaw-wasm-egress-fix.patch ``` 我们正在将此提交到上游代码库 —— 请参阅 [`docs/PR.md`](docs/PR.md)。 ## 仓库布局 ``` tool/ the ironguard.scan WASM tool (Rust) + manifest/schemas/prompt + installer skill/ the IronClaw skill, the deterministic auditor (audit.py), the AI analyzer (ai_analyze.py), the dashboard server (serve.py) + dashboard.html, run.sh patches/ the one-function IronClaw fix that makes custom WASM tools execute docs/ upstream PR draft, demo script, submission notes ``` ## 专为...而构建 专为 **NEAR Legion IronClaw 黑客松**(巴塞罗那,2026 年 6 月)构建。为 IronClaw 生态系统提供 Skills + WASM tools。 ## 许可证 MIT
标签:DLL 劫持, StruQ, 依赖漏洞检测, 可视化界面, 大语言模型, 开发安全, 机密计算, 逆向工具