fix CI: replace println!(“{}”, “literal”) with direct literal, remove .to_string() on serde_json::json!
Co-Authored-By: Claude Fable 5 noreply@anthropic.com
让 AI Agent 调用的每一个第三方工具都跑在 MoonBit 编译的 Wasm 沙箱里——极小的体积、极快的冷启动、默认无权限、保障类型安全不可伪造。
版权所有:中国计算机学会技术支持:开源发展技术委员会
京ICP备13000930号-9
京公网安备 11010802047560号
AegisRun v0.9.3
AI Agent 安全工具执行框架 — MoonBit 策略引擎 + Rust 沙箱运行时
项目简介
AegisRun 解决的是一个很具体的问题:当 AI Agent 调用外部工具时,怎么防止这些工具越权操作?
AegisRun 的做法是在 Agent 和系统之间插入一个安全检查层,分成两个独立的部分:
MoonBit 策略引擎(
src/lib/,约 3600 行):负责所有”该不该放行”的判断。维护域名/IP 黑名单(45+ 条规则),拦截敏感路径(/etc/passwd、~/.ssh/等),过滤环境变量模式(KEY/SECRET/TOKEN 等 60+ 条),还包含风险评分、限流熔断、DNS 防护、SQL 守卫等模块。Rust 运行时(
runtime/,约 1800 行):负责把策略落地到实际执行中。核心是 wasmtime WASI 沙箱——工具代码编译成 Wasm 后在沙箱里运行,所有系统调用都被拦截后调用策略函数决定放行/拒绝。提供 Web 管理面板(9090 端口)、审计日志、Python audit hook 运行时监控、工具注册表(ToolRegistry)。快速开始
命令速查
CLI 命令
democargo run -- demoscan <file> [--json]cargo run -- scan malware.pyscan --code "<code>"cargo run -- scan --code "import os; os.environ['KEY']"auditcargo run -- auditsandbox <wasm>cargo run -- sandbox tool.wasmlist-toolscargo run -- list-toolssearch-tools <kw>cargo run -- search-tools weatherregister <id> <wasm> <pub>cargo run -- register my.wasm my-tool @pubunregister <id>cargo run -- unregister my-toolverify <wasm> <id> <pub>cargo run -- verify t.wasm id @pubservecargo run -- servepolicy showcargo run -- policy showpolicy set <preset>cargo run -- policy set strictpolicy block domain <val>cargo run -- policy block domain evil.comWeb 管理面板
浏览器打开
http://localhost:9090。REST API
/api/policy/api/scan{code:|path:}/api/sandbox-run{code:|path:}/api/audit/api/audit?tool_id=&action=&decision=/api/tools/api/tools/search?keyword=&tag=/api/tools/get/<id>/api/tools/tags/api/tools/register/api/tools/unregister/api/tools/scan-dir/api/tools/batch-register/api/block/<domain|path|env>/<val>/api/unblock/<domain|path|env>/<val>/api/preset/<name>/api/defense/api/toggle/<layer>MCP 工具(14 个)
通过
POST /mcp调用,标准 JSON-RPC 格式:aegisrun.policy.summaryaegisrun.policy.check_domainaegisrun.policy.check_pathaegisrun.policy.check_envaegisrun.guard_tool_callaegisrun.scan_codeaegisrun.scan_fileaegisrun.sandbox_pythonaegisrun.sandbox_wasmaegisrun.tools.listaegisrun.tools.searchaegisrun.tools.tagsaegisrun.tools.get库调用
五层防御
文档导视
开源许可
Apache License 2.0