AgentSafe-AI/tooltrust-scanner
GitHub: AgentSafe-AI/tooltrust-scanner
AI 工具生态安全扫描网关,在工具执行前检测提示词注入、权限滥用和供应链漏洞,为 MCP server、OpenAI tools 等提供 A–F 安全评级与策略建议。
Stars: 0 | Forks: 0
# ToolTrust Scanner
[](https://github.com/AgentSafe-AI/tooltrust-scanner/actions/workflows/ci.yml)
[](https://github.com/AgentSafe-AI/tooltrust-scanner/actions/workflows/security.yml)
[](https://codecov.io/gh/AgentSafe-AI/tooltrust-scanner)
[](https://goreportcard.com/report/github.com/AgentSafe-AI/tooltrust-scanner)
[](LICENSE)
[](go.mod)
**MCP server、OpenAI 工具和 AI Skills 的安全信任层。**
AI 代理盲目信任其调用的工具。单个中毒的工具定义即可劫持代理、泄露数据或静默提升权限。ToolTrust Scanner 在执行*之前*拦截工具定义,从源头阻断威胁。
**被以下项目使用** — [ToolTrust Directory](https://github.com/AgentSafe-AI/tooltrust-directory):100 多个 MCP server 和 AI 工具,拥有经过验证的 A–F 安全评级。
## 扫描目录
| 规则 | ID | 解决的问题 |
|------|----|--------|
| 🛡️ **Tool Poisoning** | AS-001 | 代理被隐藏在工具描述中的恶意指令操纵(`ignore previous instructions`、`system:`、``) |
| 🔑 **Permission Surface** | AS-002 | 工具声明的 `exec`、`network`、`db` 或 `fs` 权限远超其既定目的——或暴露了不必要宽泛的 input schema |
| 📐 **Scope Mismatch** | AS-003 | 工具名称与其权限相矛盾,使代理混淆工具的实际功能(例如 `read_config` 实际上持有 `exec` 权限) |
| 📦 **Supply Chain (CVE)** | AS-004 | 工具捆绑的第三方库包含已知 CVE 漏洞——从 [OSV database](https://osv.dev) 实时查询 |
| 🔓 **Privilege Escalation** | AS-005 | OAuth/token 范围比工具声明的目的更广(`admin`、`:write` 通配符)或描述层面的提权信号(`sudo`、`impersonate`) |
| 🗝️ **Secret Handling** | AS-010 | 接受 API key、密码或 token 的输入参数(代理跟踪日志中存在泄露风险),以及暗示凭据被不安全记录或存储的描述 |
| ⚡ **DoS Resilience** | AS-011 | 未声明速率限制、超时或重试配置的网络或执行工具——造成资源消耗失控的风险 |
## 风险评级
$$\text{RiskScore} = \sum_{i=1}^{n} \left( \text{SeverityWeight}_i \times \text{FindingCount}_i \right)$$
| 权重 | 严重程度 | 触发示例 |
|--------|----------|-----------------|
| **25** | CRITICAL | 提示词注入 (AS-001) |
| **15** | HIGH | `exec` / `network` 权限 (AS-002)、范围不匹配 (AS-003)、广泛的 OAuth 范围 (AS-005) |
| **8** | MEDIUM | 不安全的秘密处理 (AS-010) |
| **2** | LOW | 范围过大的 schema (AS-002)、缺少速率限制 (AS-011) |
| 等级 | 分数 | Gateway 操作 |
|-------|-------|----------------|
| **A** | 0–9 | `ALLOW` |
| **B** | 10–24 | `ALLOW` + rate limit |
| **C** | 25–49 | `REQUIRE_APPROVAL` |
| **D** | 50–74 | `REQUIRE_APPROVAL` |
| **F** | 75+ | `BLOCK` |
## 🚀 快速开始
**通过自动化脚本安装 (macOS / Linux):**
```
curl -fsSL https://raw.githubusercontent.com/AgentSafe-AI/tooltrust-scanner/main/install.sh | bash
```
### 🤖 用于 CI/CD (版本锁定)
为了确保流水线稳定性,强烈建议锁定 ToolTrust Scanner 的特定版本:
```
# 安装特定版本 (例如 v1.0.0)
curl -fsSL https://raw.githubusercontent.com/AgentSafe-AI/tooltrust-scanner/main/install.sh | bash -s -- v1.0.0
```
**运行你的第一次扫描:**
```
tooltrust scan --input tools.json
```
## 输出 (ToolTrust Directory schema v1.0)
```
{
"schema_version": "1.0",
"policies": [
{
"tool_name": "run_shell",
"action": "BLOCK",
"score": {
"risk_score": 80,
"grade": "F",
"findings": [
{ "rule_id": "AS-001", "severity": "CRITICAL", "code": "TOOL_POISONING",
"description": "possible prompt injection: pattern matched ignore.*instructions",
"location": "description" },
{ "rule_id": "AS-002", "severity": "HIGH", "code": "HIGH_RISK_PERMISSION",
"location": "permissions" },
{ "rule_id": "AS-004", "severity": "CRITICAL", "code": "SUPPLY_CHAIN_CVE",
"description": "CVE-2024-1234 in lodash@4.17.15: Prototype pollution" }
]
}
}
],
"summary": {
"total": 3, "allowed": 1, "require_approval": 1, "blocked": 1,
"scanned_at": "2026-02-27T10:00:00Z"
}
}
```
## 路线图
- **v0.2** — OpenAI Function Calling · Markdown Skills · A2A adapters
- **v0.3** — REST API · ToolTrust Directory sync · certified reports
- **v0.4** — K8s + gVisor sandbox 用于动态行为分析
- **v0.5** — 公共 MCP/Skills 安全目录(可按等级搜索)
- **v1.0** — 浏览器扩展 · webhook gateway · 签名扫描证书
[开发者指南](docs/DEVELOPER.md) · [贡献指南](CONTRIBUTING.md) · [更新日志](CHANGELOG.md) · [安全](SECURITY.md) · [License: MIT](LICENSE) © 2026 AgentSafe-AI
标签:AI安全, API密钥检测, Chat Copilot, Claude, CVE检测, DNS 反向解析, EVTX分析, EVTX分析, Golang, GraphQL安全矩阵, MCP服务器, OpenAI Tools, 云安全监控, 信任网关, 大模型安全, 安全扫描器, 安全编程, 工具投毒, 工具调用安全, 数据泄露防护, 文档结构分析, 日志审计, 权限滥用, 网络探测, 范围不匹配, 越权检测, 输入验证, 静态分析