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 [![状态:稳定](https://img.shields.io/badge/status-stable-green)](./STATUS.md) 用于 AI 包的信任验证 CLI。涵盖 MCP 服务器、A2A agents、skills、AI 工具、LLM。查询 OpenA2A Registry 信任图谱以获取安全扫描、社区共识、依赖风险和已知公告。Apache 2.0。 [![npm 版本](https://img.shields.io/npm/v/ai-trust.svg)](https://www.npmjs.com/package/ai-trust) [![许可证:Apache-2.0](https://img.shields.io/badge/License-Apache%202.0-blue.svg)](https://opensource.org/licenses/Apache-2.0) [![测试](https://img.shields.io/badge/tests-201%20passing-brightgreen)](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 ``` ![ai-trust 演示](https://raw.githubusercontent.com/opena2a-org/ai-trust/main/docs/ai-trust-demo.gif) ## 安装 ### 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绕过, 自动化攻击