核心用法
Aegis Audit 是一款专为 AI Agent 技能和 MCP 工具设计的确定性安全扫描器,其核心使命是回答关键问题:"这个技能实际能做什么,我是否应该信任它?"
主要使用场景:
- 安装或启用新技能/MCP 服务器前的强制安全检查
- 技能更新后的变更验证
- 文档声明与实际代码行为的交叉验证
- 生成用于完整性验证的加密签名锁文件(
aegis.lock)
核心命令:
aegis scan [PATH]:完整安全扫描,输出风险评分、能力分析、漏洞发现aegis lock [PATH]:扫描并生成 Ed25519 签名的 Merkle 树锁文件aegis verify [PATH]:验证锁文件与当前代码的一致性aegis mcp-serve:以 MCP 服务器模式运行,供 Agent 直接调用
技术实现: 纯 Markdown 文档型 Skill,实际功能通过调用外部 Python 包 aegis-audit 实现。支持完全离线的 AST 分析,可选的 LLM 分析仅作为补充意见。
显著优点
1. 确定性分析 vs. LLM 猜测
与基于 LLM 读取 README 的安全摘要不同,Aegis 使用 AST 解析 + Semgrep + 15 个专业扫描器,相同代码始终产生相同报告,彻底消除 LLM 输出的随机性。
2. 深度技术检测能力
- 750+ Python 函数模式识别,覆盖 15+ 能力类别
- 700+ 漏洞模式,CWE 映射 + OWASP 标签
- 30+ 密钥模式扫描(AWS、GitHub、Stripe、Azure 等)
- 混淆代码检测:Base64 执行、同形异义字符攻击、影子模块、隐写术
- 组合风险分析:识别多能力攻击链(数据外泄、C2、勒索软件模式)
3. 精准溯源与证明
每项发现均包含文件:行:列位置 + 代码片段,输出结构化 JSON 报告,并生成 Ed25519 签名的 Merkle 树锁文件,实现可验证的防篡改保护。
4. 独创的 "Vibe Check" 人格分类
基于确定性分析自动分配信任画像:从 "🔥 Cracked Dev"(10x 工程师级清洁代码)到 "🐍 The Snake"(设计上恶意的代码),帮助用户快速建立直觉判断。
5. 文档与代码的一致性验证
自动对比 SKILL.md 的声明与实际代码行为,标记"声称能力不匹配"和"引用文件不存在"等信任缺陷。
潜在缺点与局限性
1. 外部依赖风险
该 Skill 本身为纯 Markdown 包装器,核心功能完全依赖外部 Python 包 aegis-audit。虽然 Skill 文档安全,但外部包的安全性需单独审计,存在供应链攻击潜在风险。
2. 新项目社区验证不足
来源仓库 Aegis-Scan/aegis-scan 当前 Star/Fork 数为 0,属于新项目,缺乏社区广泛验证和历史安全记录。
3. LLM 分析功能的配置复杂性
虽然 AST 分析完全离线,但启用 LLM 分析需配置多个环境变量(GEMINI_API_KEY、OPENAI_API_KEY 等),存在 API 密钥管理风险。
4. 运行时权限需求aegis 命令行工具执行时需要:本地文件系统读取权限、可选的网络请求权限(LLM 分析)、系统命令执行权限(shell 分析模块)。
5. 误报可能
安全报告显示文档中的 eval/exec 示例曾被标记为威胁,虽经验证为误报,但说明文档示例可能被静态扫描工具误解。
适合的目标群体
- AI Agent 平台运营方:需要为技能商店建立安全准入门槛
- 企业安全团队:对内部使用的 AI 技能进行合规审计
- 技能开发者:在发布前自检代码安全性
- 谨慎的个人用户:对第三方技能持怀疑态度,需要证据驱动的安全决策
- MCP 生态参与者:需要验证 MCP 服务器的实际行为
使用风险
供应链风险:外部 Python 包 aegis-audit 若被篡改,将完全破坏安全扫描的可信度。建议锁定精确版本并验证哈希。
运行时隔离:首次运行应在沙箱环境中进行,限制文件系统访问范围,避免扫描恶意技能时造成横向移动。
API 密钥泄露:配置 LLM 分析时,环境变量可能在命令历史、日志或进程列表中暴露。建议使用最小权限密钥并定期轮换。
过度信任风险:即使 Aegis 报告"通过", 也应理解这是基于当前扫描时点的快照,而非未来安全保证。建议对关键技能定期重新审计。