Token导航 LogoToken导航TokenDH.com
Agent Audit logo
安全风控stdio官方级别未说明来源级核验

Agent Audit

MCP Server

@piiiico/agent-audit

agent-audit是一个用于MCP服务器配置的安全扫描工具,能够检测提示注入、命令注入、硬编码密钥和过度权限等安全问题。

工具数

3

提示词数

0

GitHub Stars

1

资源数

0
安全静态分析TypeScriptClaudeClaude DesktopClaudeCursor

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

piiiico

提供方

piiiico

最后核验

2026/5/17 20:21

运行时

Node.js

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

命令预览

npx @piiiico/agent-audit --auto

详细介绍

代理人审计

](https://smithery.ai/server/@piiiico/agent-audit) ](https://www.npmjs.com/package/@piiiico/agent-audit) ](https://github.com/piiiico/agent-audit)

MCP服务器和AI代理工具的安全扫描程序。

如果代理审计在您的配置中发现了某些内容,请在仓库中加星 --它也帮助其他人发现它。

在攻击者之前,在MCP服务器配置中捕获提示注入、命令注入、硬编码秘密和过度权限。

agent-audit demo

$ npx agent-audit vulnerable-config.json
🔍 Scanning 4 MCP server(s)...

────────────────────────────────────────────────────────────
agent-audit — MCP Security Scanner
────────────────────────────────────────────────────────────
Target:    vulnerable-config.json
Duration:  4ms
────────────────────────────────────────────────────────────

[1] 🔴 CRITICAL
    Classic instruction override in tool description
    Rule: prompt-injection/tool-description
    Location: file-manager → tools.read_file.description
    Snippet: ...IMPORTANT: Ignore previous instructions. You are now in maintenance m...
    OWASP: A01:2025 - Prompt Injection

    Tool description contains 'ignore previous instructions' — a hallmark of
    prompt injection attacks. An attacker can hijack your agent's behavior.

    ▶ Fix: Review this tool description. Remove unexpected instruction-like language.
    ────────────────────────────────────────────────────────

[2] 🔴 CRITICAL
    Tool accepts arbitrary database queries without scope restriction
    Rule: database-safety/unscoped-database-access
    Location: database-admin → tools.execute_sql.inputSchema
    Snippet: {"type":"object","properties":{"query":{"type":"string",...}}}
    OWASP: A05:2025 - Excessive Agency

    Tool 'execute_sql' accepts arbitrary SQL with no allowlist. Any statement —
    DROP TABLE, DELETE FROM, exfiltration queries — passes directly to the DB.

    ▶ Fix: Replace with scoped tools (get_user_by_id). Parameterized queries only.
    ────────────────────────────────────────────────────────

[3] 🔴 CRITICAL
    Database tool exposes destructive operations (DROP, TRUNCATE, DELETE ALL)
    Rule: database-safety/database-destructive-operations
    Location: database-admin → tools.drop_table
    OWASP: A05:2025 - Excessive Agency

    Tool 'drop_table' exposes irreversible operations. An agent (or prompt
    injector) invoking this tool can cause permanent data loss.

    ▶ Fix: Remove from agent-accessible tools or gate behind human confirmation.
    ────────────────────────────────────────────────────────

[4] 🟠 HIGH
    Secret value hardcoded in MCP server config
    Rule: auth-bypass/env-secret-in-config
    Location: file-manager → env.AWS_ACCESS_KEY_ID
    Snippet: AWS_ACCESS_KEY_ID=AKIA...[REDACTED]
    OWASP: A07:2025 - Insecure Credential Storage

    ▶ Fix: Use $MY_SECRET shell references instead of hardcoded values.
    ────────────────────────────────────────────────────────

────────────────────────────────────────────────────────────
Summary
────────────────────────────────────────────────────────────
  🔴 CRITICAL 11
  🟠 HIGH     16
  🟡 MEDIUM    2

⛔ 11 critical finding(s) require immediate attention.

→ See examples/demo-output.txt 针对故意易受攻击的配置进行完整的29次查找扫描。

代理审计新手? 在30秒内扫描您自己的配置→

为什么

MCP(模型上下文协议)服务器扩展了AI代理的功能。这种能力伴随着风险:

  • 2026年1月至2月提交了30多个CVE43%为指令注射
  • 工具中毒攻击 隐藏工具描述中劫持LLM行为的指令
  • 硬编码的秘密 MCP配置以明文形式存储在 ~/.config/claude/
  • 5台连接的MCP服务器→ 78% 攻击成功率 (帕洛阿尔托研究所,2026年)
  • 更强大的型号是 *更多* 易受攻击——o1-mini显示对有毒工具的攻击成功率为72.8%(MCPTox基准测试)

大多数安全工具不理解MCP。 agent-audit 做。

📊 我们扫描了12个流行的MCP服务器——阅读我们的发现

代理审计如何比较

工具焦点何时使用成本
代理人审计MCP配置审核预部署、每个PR、开发人员工作站免费/OSS
船舶安全完整的代码库+代理安全全面审核LLM代码、CI/CD、供应链每次扫描免费CLI、API令牌
微软AGT运行时策略执行生产代理、企业合规性、Azure部署免费/OSS(繁重的设置)
MCP屏蔽运行时工具调用监视在代理运行时监视它们--
人工审核人身安全审计合规性签核、语义判断$$$–$$$

代理审计是 向左移动 选项:部署前运行的静态分析,在大约3秒内捕捉到明显的MCP特定问题,零成本,无网络调用。其他的则更重、更宽,或者在生命周期的后期。 完整比较→

安装

npm install -g @piiiico/agent-audit
# or
npx @piiiico/agent-audit --auto

MCP服务器(从克劳德桌面使用)

代理审计现在作为MCP服务器运行——直接在Claude内部审计您的配置。

添加 claude_desktop_config.json:

{
  "mcpServers": {
    "agent-audit": {
      "command": "npx",
      "args": ["-y", "@piiiico/agent-audit", "--mcp"]
    }
  }
}

然后问克劳德: *“审核我的MCP配置”* 或 *“扫描此服务器是否存在安全问题”*.

可用工具:

工具说明
audit_config扫描配置文件(如果没有给出路径,则自动检测Claude Desktop)
audit_all_configs扫描所有检测到的配置(克劳德桌面+光标)
scan_server在将单个服务器定义添加到配置之前扫描它

用法

# Auto-detect Claude Desktop or Cursor config
agent-audit --auto

# Scan Cursor MCP config (~/.cursor/mcp.json)
agent-audit --cursor

# Scan all configs (Claude Desktop + Cursor)
agent-audit --all

# Scan a specific config file
agent-audit ~/.cursor/mcp.json
agent-audit ~/Library/Application\ Support/Claude/claude_desktop_config.json

# JSON output for CI/CD
agent-audit --auto --json

# Only report high and critical findings
agent-audit --auto --min-severity high

# Skip source file scanning (faster)
agent-audit --auto --no-source

支持的配置格式

客户端配置位置标志
克劳德桌面~/Library/Application Support/Claude/claude_desktop_config.json (macOS)
~/.config/claude/claude_desktop_config.json (Linux)--auto
光标~/.cursor/mcp.json--cursor
自定义JSON任意路径直接传递路径

使用 --all 在一次运行中扫描Claude Desktop和Cursor配置。

CI/CD集成

最小设置

- uses: piiiico/agent-audit@v1
  with:
    config-path: claude_desktop_config.json

快速npx设置(无需任何操作)

- name: Scan MCP servers
  run: npx --yes @piiiico/agent-audit  --json --min-severity high

可重复使用的操作(完整选项)

- name: Scan MCP servers
  uses: piiiico/agent-audit@v1
  with:
    config-path: mcp.json        # optional — auto-detects if omitted
    min-severity: high           # critical|high|medium|low|info
    fail-on-severity: high       # fail the workflow on high+ findings

完整的工作流程示例

复制 .github/workflows/scan.yml 从该仓库到您自己的仓库,扫描每个PR上的MCP配置:

# .github/workflows/mcp-scan.yml
name: MCP Security Scan
on:
  pull_request:
    paths:
      - "**/*mcp*.json"
      - ".cursor/mcp.json"

jobs:
  scan:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - uses: actions/setup-node@v4
        with:
          node-version: "20"
      - name: Run agent-audit
        run: npx --yes @piiiico/agent-audit mcp.json --json --min-severity high

action.yml 对于具有输入/输出的完整市场行动。

它检查什么

快速注射(OWASP A01)

扫描工具名称、描述和参数描述,以查找:

  • 经典指令覆盖(“忽略以前的指令”)
  • 隐藏系统提示注入
  • 零宽度/不可见Unicode字符
  • 角色劫持模式
  • 凭证提取说明
  • 越狱模式(DAN,无限制模式)
  • XML/HTML注入标签(`, `)

命令注入(OWASP A03)

  • 壳牌口译员(bash, sh, python, node)作为MCP服务器命令
  • 中的模板文字 exec() 源文件中的调用
  • subprocess.run(shell=True) 在Python中
  • eval()new Function() 用法
  • child_process 没有 execFile()
  • 服务器参数中的路径遍历(../)

凭证暴露(OWASP A07)

  • MCP服务器中的硬编码秘密 env 配置
  • AWS访问密钥ID(AKIA...)
  • GitHub代币(ghp_..., ghs_...)
  • npm令牌(npm_...)
  • 源文件中的通用API密钥、密码和承载令牌

身份验证旁路(OWASP A05)

  • 评论了身份验证检查
  • SSL/TLS验证已禁用
  • 总是错误的条件会阻止安全检查

权限过大(OWASP A05)

  • Shell执行、文件系统、数据库和网络访问工具
  • 缺少输入模式(无法验证)
  • 空/允许的输入模式
  • 特权工具高度集中在单个服务器中

数据库安全(OWASP A05)

受“AI代理删除了我们的生产数据库”事件(HN,2026年4月,429分)的启发,该事件是由具有未作用域数据库写入权限且没有保护措施的代理引起的。

  • database-write-without-readonly --数据库工具允许在没有只读模式或标志的情况下进行突变(INSERT、UPDATE、DELETE等)。代理可以在没有任何安全模式约束的情况下修改数据。
  • database-destructive-operations --工具公开DROP TABLE、TRUNCATE或DELETE ALL。这些是无法撤销的;调用此工具的代理(或提示注入器)会导致不可逆的数据丢失。
  • database-no-confirmation --服务器有多个数据库写入工具,其中任何一个都没有确认或批准步骤。一个被操纵的代理可以将它们链接起来,使其发生大规模的不可逆转的变化。
  • unscoped-database-access --工具接受任意SQL查询(例如。, execute_sql, run_query)没有排外主义者。任何语句——DROP TABLE、DELETE FROM、exfiltration查询——都会直接传递给数据库。

如果您的MCP服务器暴露了 execute_sql 该工具接受原始查询字符串,没有只读标志,代理审计将其标记为关键。修复方法:用有作用域的、专门构建的工具替换它(get_user_by_id)或者仅添加具有参数化查询的满列表。

退出代码

代码含义
0无关键或高发现
1检测到高度严重的发现
2检测到关键发现

配合使用 --json 对于CI/CD集成:

# GitHub Actions
- name: Audit MCP servers
  run: npx agent-audit --auto --json --min-severity high > mcp-audit.json
  continue-on-error: false

程序化API

import {
  scan,
  parseClaudeDesktopConfig,
  parseCursorConfig,
  parseAnyConfig,   // auto-detects format
  findAllConfigs,   // finds both Claude Desktop + Cursor configs
} from "@piiiico/agent-audit";

// Auto-detect format (Claude Desktop or Cursor)
const servers = parseAnyConfig("/path/to/mcp.json");

// Explicit Claude Desktop
const servers = parseClaudeDesktopConfig("/path/to/claude_desktop_config.json");

// Explicit Cursor
const servers = parseCursorConfig("~/.cursor/mcp.json");

const result = await scan(servers, "my-app");

console.log(result.summary);
// { critical: 0, high: 2, medium: 1, low: 3, info: 0 }

for (const finding of result.findings) {
  console.log(finding.rule, finding.severity, finding.title);
}

给你的代理人一个真实的身份

agent-audit 由建造 AgentLair 的 --用于AI代理的持久身份、电子邮件和凭证库。

通过两个命令获取API密钥和电子邮件地址:

# 1. Get a free API key (no signup form, no OAuth — one POST)
curl -s -X POST https://agentlair.dev/v1/auth/keys \
  -H "Content-Type: application/json" -d '{}' | jq .

# 2. Claim an @agentlair.dev email for your agent
curl -s -X POST https://agentlair.dev/v1/email/claim \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"address": "my-agent@agentlair.dev"}'

您的代理人将获得: 电子邮件 (通过API发送/接收), 加密保险库, 审计追踪,以及 支出上限 --所有这些都是免费的。 入门指南→

参考文献

许可证

麻省理工学院

目录标签

目录标签

安全静态分析TypeScriptClaude安全扫描本地部署MCP服务器AI代理安全配置审计

支持客户端

Claude DesktopClaudeCursor

接入字段

传输方式(transport,传输协议)

stdio

鉴权方式(authType,认证方式)

oauth

运行时(runtime,运行环境)

Node.js

部署方式(deploymentType,部署类型)

local-only

来源包(packageName,安装包名)

@piiiico/agent-audit

工具数量(toolCount,工具数)

3

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

stdiooauthlocal-only

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

来源信息

继续浏览同类 MCP