aaa-mvc/aga
GitHub: aaa-mvc/aga
AGA 是一款 AI Agent Skills 安全扫描器,通过规则引擎与可选的 LLM 语义分析双引擎架构,检测恶意 Skills 中的代码注入和提示注入攻击。
Stars: 1 | Forks: 0
# AGA · Agent 治理与保障
AGA 是一款用于 AI Agent Skills 的开源安全扫描器。可以将其视为 Agent 生态系统的 `npm audit` —— 在恶意或高风险的 Skills 进入生产环境之前将其拦截。
[](https://github.com/aga-sec/aga/actions/workflows/ci.yml)
[](https://www.python.org/downloads/)
[](LICENSE)
## ✨ AGA 的功能
- 🔍 扫描本地 Skill 目录(`SKILL.md` + `scripts/`)
- 🛡️ 检测 **Code Injection** (CI)、**Prompt Injection** (PI) 以及 **MIXED** 攻击
- 📊 分析意图与行为的一致性(“代码是否遵循了文档的描述?”)
- 📈 分配风险评分(0–100)、攻击标签(B1–B15)以及修复建议
- 🔗 与 GitHub Actions / CI/CD pipeline 集成
AGA 的检测分类体系与 [MalSkillBench](https://github.com/lxyeternal/MalSkillBench) 研究基准保持一致,涵盖了 3 种攻击向量下的 15 类恶意行为。
## 🚀 快速开始
### 安装
```
pip install aga-sec
```
### 扫描 Skill
```
aga scan ./my-skill
```
输出示例:
```
🔍 AGA Scan Report: my-skill
────────────────────────────────────────
Risk Score: 78/100 ⚠️
Risk Level: HIGH
Attack Type: MIXED
📋 Issues Found:
🔴 [PI] B12 (confidence: 0.82)
Instruction override detected in SKILL.md
🔴 [CI] B3 (confidence: 0.76)
Remote code execution pattern in scripts/main.py
💡 Suggestions:
1. Review SKILL.md for instruction override patterns
2. Never download and execute remote code
3. Add explicit permission declarations
❌ Status: FAILED
```
### 深度扫描(使用 LLM)
```
aga scan ./my-skill --deep
```
使用 LLM 分析语义层面的意图一致性,并检测隐蔽的 prompt injection。
### CI 模式
```
aga scan ./my-skill --ci # exit code 0 = pass, 1 = fail
```
### JSON 输出
```
aga scan ./my-skill --json
```
## 🧠 设计
AGA 采用 **双引擎架构**:
| 引擎 | 类型 | 检测内容 |
|---|---|---|
| **规则引擎** | 确定性模式匹配 | 已知的恶意模式、不安全代码、凭证窃取 |
| **语义引擎** (`--deep`) | 基于 LLM 的分析 | 意图与行为不一致、隐蔽的 prompt injection |
规则引擎在每次扫描时都会运行(零成本,亚秒级响应)。语义引擎为可选启用,用于更深层次的分析。
## 🧩 命令参考
| 命令 | 描述 |
|---|---|
| `aga scan ` | 扫描 skill 目录 |
| `aga scan --deep ` | 使用 LLM 分析进行深度扫描 |
| `aga scan --json ` | 输出 JSON 格式以供工具使用 |
| `aga scan --ci ` | CI 模式(基于退出代码) |
| `aga rule list` | 列出已加载的检测规则 |
| `aga rule pull` | 拉取最新的社区规则 |
| `aga bench run` | 运行 MalSkillBench 基准测试 |
| `aga config show` | 显示当前配置 |
| `aga data pull` | 下载基准数据集 |
## 📦 SDK 用法
```
from aga import Analyzer
analyzer = Analyzer()
# 单次 scan
report = analyzer.scan("./my-skill")
print(f"Risk: {report.risk_score}/100 ({report.risk_level})")
# 批量 scan
reports = analyzer.batch_scan(["./skill-a", "./skill-b"])
for r in sorted(reports, key=lambda r: r.risk_score, reverse=True):
print(f"{r.skill_name}: {r.risk_score}")
```
## 📊 基准测试(7,891 个 Skills · 16 条规则 · 双引擎)
### 全规模测试(MalSkillBench 完整数据集)
| 指标 | 分数 |
|---|---|
| **Precision** | 66.2% |
| **Recall** | 81.1% |
| **F1 Score** | 72.9% |
| **Accuracy** | 70.2% |
| **扫描的 Skills 数量** | 7,891 (3,898 个恶意 + 3,993 个良性) |
| **扫描时间** | 523秒(15 个 skills/秒,从 git 流式传输,单线程) |
### 精选子集(50 个已标注 skills)
| 指标 | 分数 |
|---|---|
| **Precision** | 78.1% |
| **Recall** | 100.0% |
| **F1 Score** | 87.7% |
### 各行为 Recall(完整数据集,16 条规则)
| B1: 43.9% | B2: 17.7% | B3: 77.6% | B4: 72.4% | B5: 99.2% |
| B6: 92.8% | B7: 77.2% | B8: 85.1% | B9: 52.3% | B10: 33.3% |
| B11: 71.4% | B12: 20.8% | B13: 38.9% | B14: 6.9% | B15: 29.3% |
**核心洞察**:对于规则引擎而言,CI 行为(B1-B9,平均 70.5%)比 PI 行为(B10-B15,平均 33.4%)更容易被检测到。B14(目标劫持,6.9%)纯粹属于语义范畴——静态分析几乎无法发现。`--deep` 语义引擎(由 DeepSeek 提供支持)对于覆盖 PI 攻击至关重要。
亲自运行基准测试:
```
aga data pull malskillbench
aga bench run
```
## 🗺 路线图
- [x] 项目脚手架与 CLI 骨架(`aga scan` 实现端到端运行)
- [x] 包含 15 条内置规则的规则引擎(全面覆盖 B1–B15)
- [x] MalSkillBench 基准测试套件(50 个 skills,跟踪 precision/recall)
- [ ] `--deep` LLM 语义分析(第二阶段)
- [ ] Docker sandbox runtime 验证(第三阶段)
- [ ] Web 仪表板与企业策略中心
## 🔬 研究对齐
AGA 的风险分类体系对应于 MalSkillBench 的三维攻击空间:
| 向量 | 行为 | 检测方式 | 状态 |
|---|---|---|---|
| **CI** (Code Injection) | B1–B9 | 规则引擎 + AST 分析 | 77.3% precision |
| **PI** (Prompt Injection) | B10–B15 | 规则引擎 + 指令分析 | B14/B15 需要 `--deep` |
| **MIXED** | B1–B9 协同 | 双引擎联合分析 | 规则引擎检测 CI 组件 |
## 📄 许可证
Apache 2.0 — 完整文本请参见 [LICENSE](LICENSE)。
## 📚 引用与归属
AGA 的行为分类体系(B1-B15)源自 MalSkillBench。如果您在研究中使用 AGA,请引用:
```
@misc{guo2026malskillbench,
title={MalSkillBench: A Runtime-Verified Benchmark of Malicious Agent Skills},
author={Wenbo Guo and Wei Zeng and Chengwei Liu and Xiaojun Jia and
Yijia Xu and Lei Tang and Yong Fang and Yang Liu},
year={2026},
eprint={2606.07131},
archivePrefix={arXiv},
primaryClass={cs.CR},
}
```
完整的归属详情请参见 [ATTRIBUTION.md](ATTRIBUTION.md)。
*AGA · 保护你的 Skills,守护你的 Agents。*
标签:AI安全, Chat Copilot, DevSecOps, LLM分析, LNA, Python, 上游代理, 代码安全扫描, 提示词注入检测, 无后门, 逆向工具, 零日漏洞检测