mcpField
T
TAR Engine

TAR Engine

本地服务
tarai.dev安全214 周前更新

关于 TAR Engine

TAR Engine 用于审计 AI Agent 技能及相关配置,面向技能作者和安全审查者。它结合静态、语义、对抗和供应链检查,并可通过 CLI、CI、托管 Playground 或 MCP 服务运行。

主要功能

  1. 01静态规则与语义审计
  2. 02对抗式提示词探测
  3. 03依赖漏洞与仿冒检查
  4. 04评分、等级及逐行发现
  5. 05CLI、CI 与网页审计

适用场景

  1. 01发布前检查技能安全性
  2. 02在 CI 中按分数阻止构建
  3. 03编写技能时通过 Agent 触发审计

MCP 相关

提供 MCP 服务,允许兼容客户端调用 audit_skill_text 审计技能。语义与对抗检查需显式配置自带的 LLM 密钥;默认托管后端会接收待审计的技能文本。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"qingxuantang-tar-engine": {
"command": "uvx",
"args": [
"tar-engine"
],
"env": {
"TAR_ENGINE_URL": "<TAR_ENGINE_URL>",
"TAR_ENGINE_BYOK_OPENAI_KEY": "<TAR_ENGINE_BYOK_OPENAI_KEY>",
"TAR_ENGINE_BYOK_ANTHROPIC_KEY": "<TAR_ENGINE_BYOK_ANTHROPIC_KEY>"
}
}
}
}
启动命令uvx tar-engine
需要配置的环境变量
TAR_ENGINE_URLOverride the audit backend. Default is the hosted playground at https://tarai.dev. Set to http://localhost:8765 (or your own tar-engine deployment) to self-host and keep SKILL.md content on your machine.
TAR_ENGINE_BYOK_OPENAI_KEY密钥OpenAI API key that unlocks the semantic LLM and adversarial prompt-fuzz layers. Static and supply-chain layers run without it.
TAR_ENGINE_BYOK_ANTHROPIC_KEY密钥Anthropic API key alternative to the OpenAI key for the semantic and adversarial layers.

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
pypitar-engine0.3.3

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

TAR Engine — 发布前审核 AI 技能的安全性

面向 AI Agent 技能的静态、语义、对抗和供应链审核。可在 CI 中运行,也可从 Claude Code / Cursor / Codex 将其作为 MCP 工具调用。大模型层支持自带 API 密钥(BYOK);可免费使用托管版,并在 tarai.dev 体验在线 Playground。

PyPI MCP Registry License Python

已列入官方 Model Context Protocol Registry,并已发布到 PyPI——可一键安装到任何兼容 MCP 的 Agent 中。

TAR Engine 位于官方 MCP Registry 中

tar-engine 可审核 SKILL.md(OpenClaw、Claude Code)、Codex skill.yaml、Claude Code 自定义命令(.claude/commands/*.md)和 OpenCode 配置,无需改变技能的编写方式。核心理念是:技能通过所有静态危险信号检查后,运行时仍可能表现恶意。TAR Engine 能捕捉到这一点。

三种运行方式——其中两种无需在你的机器上安装任何东西:

  • 托管版——无需安装。 在 tarai.dev Playground 中粘贴或上传技能,然后在浏览器中查看审核结果。无需安装,也无需在本地信任任何内容。
  • 在 CI 中运行——无需安装到你的 Agent。 GitHub Action 会在你自己的 CI 沙箱中运行一个固定版本的发布包:tar-engine scan ./skills --min-score 70,如果任何技能的得分低于门槛,就会以状态码 1 退出。这是发布前的关卡,而不是一张更精致的目录卡片。
  • 在你的 Agent 中运行——按需选择。 安装 MCP 服务,在编写技能时审核任意 SKILL.md。这是一个固定版本、可通过哈希验证的 PyPI 发布包——不会安装任意 git+https 包。详情见下文。

审核结果示例

将它用于一个看起来没问题的技能。一个“每周笔记格式整理器”,其 SKILL.md 看起来干净无误——但其中暗藏着一个 curl … | bash 步骤、一个会将 ~/.aws 和 ~/.ssh 打包归档的“云同步”功能,还有一条指令,要求 Agent 对你隐瞒这些网络调用:

weekly-note-formatter        0 / 100   grade F   risk CRITICAL

  L01 static      SS-003  critical  remote script piped to shell (curl … | bash)
  L01 static      PI-002  critical  hidden instruction — "don't tell the user"
  L02 semantic    SEM-003 critical  only formats docs, yet packages up AWS creds + SSH keys
  L02 semantic    SEM-004 high      instructs the model to lie about its network calls
  L03 adversarial AR-002  high      3/3 role-jailbreak probes changed the skill's behavior

  → below --min-score 70, exit 1

正则表达式能捕捉到 curl | bash。语义和对抗层则能捕捉正则表达式无法发现的部分:超出技能所声明用途的意图,以及让 Agent 反过来对付用户的指令。每条发现都会标明确切的源代码行,并附上修复方法。


四个审计层

层级检查内容需要大模型?
L01 静态正则匹配风险信号:curl|bash 安装、凭据/SSH 外传、混淆或 Base64 字符串、隐藏的“忽略之前指令”类指令、超出范围的文件写入否
L02 语义阅读技能实际要求 Agent 执行的操作,并标记超出其声明用途的意图是(BYOK)
L03 对抗将 SKILL.md 视为系统提示词,并在 5 类攻击中运行 15 项探测,检查能否诱使其做出不安全行为是(BYOK)
L06 供应链解析声明的依赖项,并与 OSV.dev 公告及仿冒拼写参考列表进行核对否

5 类对抗攻击(L03):

类别ID探测内容
指令覆盖AR-001ignore previous、new system prompt 劫持
角色越狱AR-002DAN/假设情境/虚构角色扮演绕过
隐藏载荷AR-003Base64/leet 语/相似 Unicode 字符走私
权限伪造AR-004I'm the developer / admin / platform staff
反射式注入AR-005将输出循环用作指令

每项技能都会获得一个 0–100 分数、一个 A–F 等级和一个风险类别。L01 和 L06 具有确定性且免费;L02 和 L03 需要你提供自己的大模型密钥(BYOK)。

这四个层级实现了一项供应商中立标准——技能审计维度清单(静态、语义、对抗/行为、供应链)。这些维度就是标准;TAR Engine 是一个开源参考实现。该清单还规定,审计工具本身也必须达到供应链标准——因此 TAR Engine 以固定版本、可验证哈希的 PyPI 发布包形式提供,并支持零安装的托管和 CI 路径,而不是通过 git+https 安装。


CLI — 从命令行审计 AI 技能

tar-engine CLI 会遍历目录,审计找到的每项技能,并返回适合 CI 使用的状态码。

# audit every skill under ./skills, fail the build if any scores below 70
tar-engine scan ./skills --min-score 70

# list discovered skills without auditing
tar-engine list ./skills

# JSON output for downstream processing
tar-engine scan ./skills --json

开箱即支持以下五种格式:

文件模式格式
**/SKILL.mdOpenClaw、Claude Code、通用 Markdown
**/.claude/commands/*.mdClaude Code 自定义命令
**/skill.yaml / .ymlCodex
**/manifest.jsonCodex / Claude Code(通过键检测)
**/opencode.jsonOpenCode

每个审计载荷会打包主要技能文件,以及同一目录中的同级 .sh / .py / .js / .ts / .yaml / .json 辅助文件(上限为 200 KB)。可捕获“SKILL.md 干净,但 install.sh 有恶意内容”这类情况。

在 CI 中运行——零安装。 审计在你自己的 CI 沙箱中通过固定版本运行;不会向你的 Agent 安装任何内容,也无需信任任意 Git 获取操作:

- name: Audit AI skills
  uses: qingxuantang/[email protected]   # pinned release
  with:
    path: ./skills
    min-score: 70

更喜欢普通步骤?直接运行固定版本的 PyPI 发布包——仍然无需 git+https:

- run: uvx --from tar-engine==0.3.3 tar-engine scan ./skills --min-score 70

Pre-commit 钩子:

#!/usr/bin/env bash
tar-engine scan ./skills --min-score 80 || exit 1

退出码:0 表示干净,1 表示低于阈值,2 表示用法错误/路径缺失。


安装为 MCP 工具

TAR Engine 以 Python 包形式提供 MCP 服务,可通过 uvx 运行——无需 Docker。默认情况下,它会连接到 托管后端 tarai.dev(免费, 但有速率限制)。

请先阅读 — 你信任的内容
  • SKILL.md 会被发送到哪里。 使用默认配置时,MCP 服务会将你要求它审核的 SKILL.md 内容 POST 到 https://tarai.dev。我们不会将技能文本写入磁盘或记录日志,但它确实会离开你的设备。如果你要审核专有或敏感技能,请自行托管,并设置 TAR_ENGINE_URL=http://localhost:8765。
  • 不会在你不知情时转发密钥。 服务绝不会转发你的 OPENAI_API_KEY。语义和对抗性审核层需要你在 MCP 服务配置中通过 TAR_ENGINE_BYOK_OPENAI_KEY 明确选择启用——见下文的 BYOK。
  • 适用的环境。 Claude Code CLI、Cursor、Codex CLI——任何 Agent 能启动子进程的环境都可以。Claude Desktop、Claude.ai 网页版和移动应用无法安装本地 MCP 服务;这些环境的托管端点即将推出——请前往 tarai.dev 登记候补。
步骤 0 — 安装 uv(一次性,约 5 秒)

该软件包通过 uvx 运行,而 uvx 随 uv 一同安装。只需安装一次:

# macOS / Linux
curl -fsSL https://astral.sh/uv/install.sh | sh

# Windows (PowerShell)
irm https://astral.sh/uv/install.ps1 | iex

# Alternative — via pipx if you don't trust curl|sh
pipx install uv

# Alternative — via pip
pip install --user uv

使用 uvx --version 验证。

步骤 1 — 在 Agent 中注册

一键安装: 获取 setup-mcp.sh 并运行——它会检查是否已安装 uv,提示你输入可选的 BYOK 密钥(输入内容不可见,脚本也绝不会将其写入磁盘),然后在 Agent 中注册服务:

curl -fsSL https://raw.githubusercontent.com/qingxuantang/tar-engine/master/setup-mcp.sh -o setup-mcp.sh
chmod +x setup-mcp.sh
./setup-mcp.sh                       # Claude Code (default); add --client cursor|codex

或者手动配置。支持两种安装方式:

  • 从 PyPI 安装——推荐,版本固定且可验证: uvx --from tar-engine==0.3.3 tar-engine-mcp。每个版本都会发布到 PyPI,并提供可锁定在 lockfile 中的已发布哈希值——这是规范、可复现的安装方式,也是 MCP 注册表/Anthropic MCPB 客户端采用的方式。不要使用任意 git+https;固定版本,确保始终清楚自己运行的内容。
  • 从源代码安装——仅用于开发: 从 git 检出安装会运行尚未发布的代码,且没有已发布版本的哈希值。只有在你要修改 TAR Engine 本身时才使用这种方式——这并非推荐的运行方式,正是因为“安装这个未经审查的 git URL”就是供应链审计应该警示的做法。
Claude Code
claude mcp add tar-engine -- uvx --from tar-engine==0.3.3 tar-engine-mcp

验证:/mcp list 应显示 tar-engine Connected。重启 Claude Code,让当前会话加载新的工具,然后询问:

审核此 SKILL.md:[粘贴一个技能]

Cursor

编辑 ~/.cursor/mcp.json(或项目级 .cursor/mcp.json):

{
  "mcpServers": {
    "tar-engine": {
      "command": "uvx",
      "args": ["--from", "tar-engine==0.3.3", "tar-engine-mcp"]
    }
  }
}

在 Cursor 中重新加载 MCP 服务(或重启应用),然后在 Cursor 内调用 audit_skill_text。

Codex CLI

添加到 ~/.codex/config.toml:

[mcp_servers.tar-engine]
command = "uvx"
args = ["--from", "tar-engine==0.3.3", "tar-engine-mcp"]

重启 Codex CLI,然后调用 audit_skill_text。

任何其他兼容 MCP 的 Agent

大多数 Agent 都接受包含 command + args 的 MCP 服务规范(JSON 或 TOML):

  • command: uvx
  • args: ["--from", "tar-engine==0.3.3", "tar-engine-mcp"] — 固定到 PyPI 已发布版本,以实现可复现且可验证哈希的安装

env(可选):

  • TAR_ENGINE_URL=http://localhost:8765 用于自行托管
  • TAR_ENGINE_BYOK_OPENAI_KEY=sk-... 用于启用语义和对抗性审核层

重新加载 Agent,并调用 audit_skill_text 进行验证。

### BYOK(语义层 + 对抗层)

默认情况下,只会对你的技能运行静态规则层—— 免费、确定性执行,不产生大模型费用。若要启用语义大模型审查和 对抗式提示词模糊测试,请明确提供你自己的大模型密钥:

"tar-engine": {
  "command": "uvx",
  "args": ["--from", "tar-engine==0.3.3", "tar-engine-mcp"],
  "env": {
    "TAR_ENGINE_BYOK_OPENAI_KEY": "sk-..."
  }
}

密钥层兼容 OpenAI,因此你可以将其指向任何兼容的端点(TAR_ENGINE_BYOK_OPENAI_BASE_URL / TAR_ENGINE_BYOK_OPENAI_MODEL)。我们有意不会从你的通用环境中读取 OPENAI_API_KEY——大多数 Claude Code / Cursor / OpenAI SDK 用户设置此密钥是为了其他用途,而在未告知的情况下转发请求是不妥的。只有当你希望此 MCP 服务使用你的密钥时,才设置 TAR_ENGINE_BYOK_OPENAI_KEY。

自托管

如果托管后端在隐私和延迟方面的权衡不适合你, 可以在本地运行引擎:

git clone https://github.com/qingxuantang/tar-engine
cd tar-engine
cp .env.example .env  # add OPENAI_API_KEY if you want semantic + adversarial
docker compose up -d

然后将 MCP 服务指向它:

"env": {
  "TAR_ENGINE_URL": "http://localhost:8765"
}

工具接口保持不变,数据不会离开你的设备,使用你自己的密钥, 且不会受到超出硬件能力范围之外的速率限制。


公开审计报告 + 在线 Playground(AI 米其林指南)

我们持续发布对主要技能平台上的热门开源技能的审计报告,包括 Smithery、Claude Hub 和 MCPHub。每份报告都包含安全评分、 具体发现和修复建议,均由本仓库提供的同一套流水线生成。

阅读报告,并将任意 SKILL.md 粘贴到 tarai.dev 上的在线 Playground,约 60 秒即可获取评估结果——无需安装。想要自托管?只需一条 curl 命令,即可调用同一静态端点:

curl -X POST http://localhost:8765/api/cockpit/audit/static \
  -H "Content-Type: application/json" \
  -d '{"skill_text": "<your SKILL.md content>"}'

不止于审计

大多数人安装此项目是为了使用审计流水线,它也是开源核心。同一引擎还包含一个愿望机器控制台——规划 → 执行 → 追踪 → 审计 → 反思——并为精选领域包(量化交易、内容发布)提供支持,这些领域包作为付费附加项出售。它们是审计用例之外的次要功能;领域包详情和定价请参阅 tarai.dev,控制台架构请参阅 docs/。


本仓库包含什么

tar-engine/
├── backend/
│   ├── app.py                    # FastAPI entry
│   ├── auditor/                  # Audit pipeline: L01 static / L02 semantic / L03 adversarial / L06 supply chain + risk scorer
│   ├── cockpit/                  # Wish machine: planner / dispatcher / skill executor / trace / retrospective
│   ├── adapters/                 # IDE/runtime adapters (Claude Code, Codex CLI, generic webhook)
│   └── knowledge/                # Knowledge RAG (LlamaIndex + ChromaDB)
├── mcp-server/                   # MCP server + CLI (tar-engine / tar-engine-mcp entry points)
├── packs/
│   ├── hello-world/              # Reference demo pack — 5-min install verifier
│   └── postall-content/          # Multi-platform content publishing pack
├── frontend/                     # Web UI (static, optional)
├── setup-mcp.sh                  # One-click MCP registration
├── docker-compose.yml
└── docs/                         # Architecture, deployment, contribution notes

状态

当前版本:v0.3.3——已发布至 PyPI,并列入官方 MCP Registry。

当前可用功能:

  • ✅ CLI scan / list,支持适用于 CI 的退出码和 --min-score 门槛
  • ✅ MCP 服务(audit_skill_text),适用于 Claude Code / Cursor / Codex
  • ✅ 四个审计层——L01 静态、L02 语义、L03 对抗式(15 个探测 × 5 类)、L06 供应链
  • ✅ 开箱即用,可识别五种技能格式,并打包同级辅助文件
  • ✅ 托管免费套餐 + tarai.dev 在线 Playground
  • ✅ 通过 Docker Compose 自托管(BYOK,数据不会离开你的设备)

规划中:

  • 面向 Claude Desktop / Web / 移动端的托管 MCP 端点
  • 托管高级套餐中的多受害者对抗式集成
  • 更深入的供应链覆盖范围 + 更多技能格式适配器

贡献

以下是最快捷的参与方式:

  1. 对你使用的技能运行 tar-engine scan,并在 Issues 中分享发现(或误报)
  2. 添加技能格式适配器或审计规则——欢迎向 backend/auditor/ 和 mcp-server/ 提交 PR
  3. 尝试自托管快速入门,并反馈使用中的问题

付费领域包(量化交易、内容发布)仅由官方团队维护——我们不接受向 packs/ 添加 UGC 领域包的 PR。


许可证

Apache 2.0——完整条款请参阅 LICENSE。


致谢

TAR Engine 最初是用于审计 AI 量化交易工作流的工具,后来通过与量化工程师、 内容创作者和安全团队的实际交流,发展为通用技能审计工具——他们提出的问题虽各不相同,却都围绕着同一个疑问: “怎样才能让我的 AI Agent 真正干活,同时又不把我从未读过的恶意内容交给它们?”

由 Mark Zhou 使用 Claude Code 构建。

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。