opena2a-org/ai-trust
GitHub: opena2a-org/ai-trust
ai-trust 是一款 AI 原生包信任验证 CLI,通过查询 OpenA2A Registry 信任图谱为 MCP 服务器、A2A Agent 等 AI 包提供 0-100 的安全信任评分。
Stars: 3 | Forks: 1
# ai-trust
[](./STATUS.md)
用于 AI 包的信任验证 CLI。涵盖 MCP 服务器、A2A agents、skills、AI 工具、LLM。查询 OpenA2A Registry 信任图谱以获取安全扫描、社区共识、依赖风险和已知公告。Apache 2.0。
[](https://www.npmjs.com/package/ai-trust)
[](https://opensource.org/licenses/Apache-2.0)
[](https://github.com/opena2a-org/ai-trust)
[官网](https://opena2a.org/ai-trust) · [Registry](https://registry.opena2a.org) · [Discord](https://discord.gg/uRZa3KXgEn)
对于通用库(express、typescript、chalk 等),请改用 [HackMyAgent](https://github.com/opena2a-org/hackmyagent)。ai-trust 仅限于 AI 原生包。
## 快速开始
```
npx ai-trust check @modelcontextprotocol/server-filesystem
```
```
@modelcontextprotocol/server-filesystem mcp_server · scanned 2 days ago
No known issues
Trust ━━━━━━━━━━━━━━━━━━━━ 87/100
Level Scanned (3/4)
Blocked > Warning > Listed > Scanned > Verified
── Next Steps ──────────────────────────────────────────────
Fresh scan: ai-trust check @modelcontextprotocol/server-filesystem
Full project audit: ai-trust audit package.json
```

## 安装
### npm
```
npx ai-trust check # run once, no install
npm install -g ai-trust # install globally
```
要求 Node.js 18 或更高版本。
### Homebrew
```
brew install opena2a-org/tap/ai-trust
```
### 从源码构建
```
git clone https://github.com/opena2a-org/ai-trust.git
cd ai-trust
npm install
npm run build
node dist/index.js check express
```
### 验证已安装的内容
每次发布均通过 npm Trusted Publishing 发布,并附带 SLSA v1 来源信息。没有长期有效的 `NPM_TOKEN`。GitHub Actions 在发布时将其 OIDC token 与 npm 进行交换。
```
npm view ai-trust dist.attestations --json
# 期望带有 predicateType "https://slsa.dev/provenance/v1" 的非空结果
```
## 范围:仅限 AI 包
ai-trust 验证 AI 原生包的信任度。对于其他所有内容,请使用 HMA。
| 你的包是... | 使用 |
|---|---|
| MCP 服务器、A2A agents、skills、AI 工具、LLM | `ai-trust` |
| 通用库(express、chalk、typescript 等) | `hackmyagent check ` |
| 完整代码库安全审计 | `hackmyagent secure .` |
`ai-trust audit package.json` 会在信任表中审计 AI 包,并将库单独列在“范围外”部分,同时提供 HMA 的指引。
对通用库运行 `ai-trust check express` 会返回“范围外”的判定,并重定向到 `hackmyagent check express`。这是有意设计的。ai-trust 仅用于 AI 包。
## 命令
### `check`
查询单个 AI 包的信任判定。
```
ai-trust check @modelcontextprotocol/server-filesystem
ai-trust check my-custom-agent --type a2a_agent
ai-trust check @modelcontextprotocol/server-postgres --json
ai-trust check mcp-server-xyz --scan-if-missing --contribute # download + scan + share
ai-trust check server-filesystem --no-scan # registry lookup only
ai-trust check /path/to/local --scan-path /path/to/local # scan a local directory
```
Flags:`--type`、`--scan-if-missing`、`--contribute`、`--no-scan`、`--no-deep`、`--scan-path`、`--json`。
### MCP 服务器简写
```
# 以下是等效的:
ai-trust check server-filesystem
ai-trust check @modelcontextprotocol/server-filesystem
# 第三方 MCP 服务器使用它们自己的 package 名称:
ai-trust check mcp-server-kubernetes
ai-trust check @supabase/mcp-server-supabase
ai-trust check @cloudflare/mcp-server-cloudflare
```
`server-*` 会解析为 `@modelcontextprotocol/server-*`。第三方的 `mcp-server-*` 包将通过其实际名称进行查询。
### 按需扫描
当包不在 registry 中时,ai-trust 可以使用 [HackMyAgent](https://github.com/opena2a-org/hackmyagent) 在本地下载并扫描它。在交互模式下,系统会提示你。在 CI 中:
```
ai-trust check mcp-server-xyz --scan-if-missing --contribute # auto-scan + share
ai-trust check server-filesystem --no-scan # skip scanning entirely
```
本地扫描默认运行启用了 NanoMind 语义分析的 HMA。传入 `--no-deep` 则仅进行静态分析。
### `audit`
解析依赖文件并审计 AI 包。支持 `.json`(package.json 格式)和 `.txt`(requirements.txt 格式)。库会被划分到“范围外”部分。
```
ai-trust audit package.json
ai-trust audit requirements.txt
ai-trust audit package.json --min-trust 2 # custom threshold (default 3)
ai-trust audit package.json --scan-missing --contribute # scan unknown AI packages
```
示例输出(混合了 AI 包和库):
```
5 AI packages audited · 9 libraries out of scope
PACKAGE TYPE VERDICT TRUST SCORE SCAN
──────────────────────────────────────────────────────────────────────────────────────
@modelcontextprotocol/sdk mcp_server SAFE Scanned ━━━━━━━━ 87 passed
@opena2a/aim-core a2a_agent SAFE Scanned ━━━━━━━━ 81 passed
...
── Out of scope (libraries) ────────────────────────────────
ai-trust is for AI packages. For general security, use HackMyAgent.
@noble/ed25519, @noble/post-quantum, commander, js-yaml, onnxruntime-node + 4 more
── Next Steps ──────────────────────────────────────────────
Library security: npx hackmyagent secure .
```
### `batch`
一次查询多个 AI 包的信任判定。非 AI 包会被划分到“范围外”页脚。
```
ai-trust batch @modelcontextprotocol/server-filesystem @modelcontextprotocol/server-postgres
ai-trust batch my-server-a my-server-b --type mcp_server
ai-trust batch react vue express lodash chalk
```
Flags:`--type`、`--min-trust`。
## 输出选项
```
ai-trust check express --json # JSON output for scripting
ai-trust audit package.json --json # JSON audit output
ai-trust check express --no-color # disable colored output
ai-trust check express --registry-url http://localhost:8080 # custom registry endpoint
```
## 信任级别
| 级别 | 标签 | 描述 |
|---|---|---|
| 0 | Blocked | 包因安全问题被阻止 |
| 1 | Warning | 包存在已知问题 |
| 2 | Listed | 包已被列出但尚未扫描 |
| 3 | Scanned | 包已由 HackMyAgent 扫描 |
| 4 | Verified | 包已由发布者验证 |
## 退出码
| 代码 | 含义 |
|---|---|
| 0 | 所有查询的包都是安全的,且满足信任阈值 |
| 1 | 操作错误(网络故障、文件未找到、服务器错误) |
| 2 | 策略信号:一个或多个包具有警告或 blocked 判定,或低于 `--min-trust` |
## 结合 opena2a-cli 使用
[`opena2a-cli`](https://github.com/opena2a-org/opena2a) 是 OpenA2A 安全工具链的统一 CLI。ai-trust 为 `opena2a trust` 提供支持。
```
npm install -g opena2a-cli
opena2a trust @modelcontextprotocol/server-filesystem
opena2a review # full security dashboard
```
## 用例
| 指南 | 时间 |
|---|---|
| [在安装前检查包是否安全](docs/use-cases/check-before-install.md) | 2 分钟 |
| [验证 MCP 服务器的信任评分](docs/use-cases/check-mcp-server.md) | 3 分钟 |
| [向社区贡献信任数据](docs/use-cases/contribute-scans.md) | 3 分钟 |
完整索引:[docs/USE-CASES.md](docs/USE-CASES.md)。
## 链接
- [官网](https://opena2a.org/ai-trust)
- [OpenA2A Registry](https://registry.opena2a.org)。信任评分和扫描数据。
- [OpenA2A CLI](https://github.com/opena2a-org/opena2a)。统一安全 CLI。
- [HackMyAgent](https://github.com/opena2a-org/hackmyagent)。对未验证的包进行本地扫描。
- [aicomply](https://github.com/opena2a-org/aicomply)。在 agent I/O 到达 LLM 之前,对其进行内联 PII、凭证和受监管数据的分类。
[OpenA2A](https://opena2a.org) 安全平台的一部分。
## 许可证
Apache-2.0。
标签:MITM代理, npm, 人工智能, 依赖审计, 信任评估, 动态分析, 安全扫描, 文档结构分析, 时序注入, 暗色界面, 用户模式Hook绕过, 自动化攻击