原型 · 预览版:收录官方注册中心里的全部服务器,每 30 分钟同步一次。评价和账户功能将在后续阶段推出。
PopNx MCP为使用 AI 的人准备的 MCP 服务器 · 用大白话讲清楚

Coding Agent Audit

作者:stackscribe-ai版本 0.11.0i★ –i在你的电脑上运行
注册名称io.github.stackscribe-ai/coding-agent-audit

安装

概览

作者提供的说明(英文原文)

Audits Claude Code/Cursor MCP configs for supply-chain backdoors and risky permissions.

PopNx MCP 的三大支柱

这三项永远不会合并成一个分数:意见、测量和人气是不同的东西。

它能帮你做什么

我们还没有为它写通俗的介绍。下面是我们从注册中心读取到的事实。

  • 连接方式: 在你的电脑上运行
  • 传输方式: stdio
  • 分类: 其他

安装

选择你使用的 AI 应用,然后复制设置。

安装之前

  • 基础检查:1 项中通过 1 项
  • 在你的电脑上运行,拥有你的用户账户的权限(文件、网络、应用)。
  • 注册中心没有列出需要填写的密钥。

你需要

  • PyPI已安装 Python 的 uv(用于 uvx 命令)

你用的是哪个应用?

在上方选择你的应用。我们会记住它,下次按钮会显示“安装到 …”。

打开 Claude Desktop → Settings → Developer → Edit Config,把下面的内容粘贴到 claude_desktop_config.json

{
  "mcpServers": {
    "coding-agent-audit": {
      "command": "uvx",
      "args": [
        "coding-agent-audit"
      ]
    }
  }
}

在终端中运行这条命令

claude mcp add coding-agent-audit -- uvx coding-agent-audit

在 Cursor 中打开

或者自己复制设置

粘贴到项目中的 .cursor/mcp.json,或 ~/.cursor/mcp.json

{
  "mcpServers": {
    "coding-agent-audit": {
      "command": "uvx",
      "args": [
        "coding-agent-audit"
      ]
    }
  }
}

浏览器会先询问是否打开应用,然后应用会显示设置并请你确认。密钥的值会留空,由你自己填写。

在 VS Code 中打开

或者自己复制设置

粘贴到项目中的 .vscode/mcp.json

{
  "servers": {
    "coding-agent-audit": {
      "type": "stdio",
      "command": "uvx",
      "args": [
        "coding-agent-audit"
      ]
    }
  }
}

浏览器会先询问是否打开应用,然后应用会显示设置并请你确认。密钥的值会留空,由你自己填写。

这个服务器在你的电脑上运行,而 ChatGPT 只能连接互联网上的服务器。请选择其他应用。

你的选择通过 Cookie 保存在这台设备上,无需账户。

这些设置是根据作者在注册中心的条目生成的。如果 README 的写法不同,请以 README 为准。

它能做什么

它在你的电脑上运行;安装后,工具列表会显示在你的 AI 应用中。

基础检查i

我们检查的是任何人都能看到的信息;我们没有阅读代码。不适用的检查项不计入总数。 · 检查于 2026年11月7日

  • ✓ 通过

    作者与仓库一致

    注册名称已通过 GitHub 账户 stackscribe-ai 验证,该账户拥有此仓库

  • … 尚未检查

    仍在维护

    我们还没有从 GitHub 读取这个仓库

  • … 尚未检查

    有许可证

    我们还没有从 GitHub 读取这个仓库

  • – 不适用

    端点有响应

    它在你的电脑上运行,没有互联网端点

  • – 不适用

    使用 OAuth 登录

    在你的电脑上运行,改用本地设置

  • … 尚未检查

    工具描述中没有隐藏指令

    它在你的电脑上运行;我们只能读取互联网端点的工具列表

与“其他”中的其他服务器比较i

  • 星标数多于此分类中其他 32583 个服务器的 0%
  • 发布到注册中心的时间比此分类中其他 32583 个服务器的 91% 更新
  • 基础检查结果等于或优于此分类中其他 32583 个服务器的 100%

与注册中心里这个分类中所有活跃的服务器比较。只有当发布者拥有该仓库时,星标数才计入。

常见问题

Coding Agent Audit 安全吗?

它在 1 项适用的基础检查中通过了 1 项。我们没有阅读代码。在添加密钥或令牌之前,请先看看这个服务器要求哪些权限,并使用只具备所需权限的密钥。

它需要哪些密钥或代码?

注册中心没有列出必需的密钥,不过有些服务器会在首次使用时要求你登录。

它在我的电脑上运行还是在云端?

它在你的电脑上运行。你的 AI 应用会在需要时启动它,数据不会经过作者的服务器(除非它自己调用在线服务)。

它还在维护吗?

GitHub 仓库最后更新于–,最新版本(0.11.0)于3天前进入注册中心。

哪些应用可以使用它?

支持 MCP 的应用,例如 Claude Desktop、Claude Code、Cursor 和 VS Code。你的电脑上还需要有 Python (uv)。

有什么可以替代它?

同一分类中有:Spec Driven Development, Remote Desktop Commander, sync. labs

替代选择

同一分类中其他作者的服务器,按星标数排序。

如何看卡片:★ GitHub 星标i三大支柱:评价 · 检查 · 使用情况i更新 = 最新版本发布到注册中心的时间i

Spec Driven Development

作者:formulahendry

MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.

在你的电脑上运行★ 440MIT14个月前更新
安装

Remote Desktop Commander

作者:desktop-commander

Remote Desktop Commander: use files, terminal and processes on your own computers from any AI app.

在云端运行★ 211昨天更新
安装

sync. labs

作者:synchronicity-labs

Lipsync videos, dub them into other languages, make talking videos and open sync. Studio.

电脑或云端今天更新
安装

作者的 README

打开 README

按原文从作者的仓库复制。PopNx MCP 没有审查或背书其内容。HTML、图片和脚本已被移除。链接会离开本站。

coding-agent-audit

A small, open-source CLI that scans your machine for:

  1. Known indicators of compromise (IOCs) from publicly documented supply-chain attacks against AI coding assistants (Claude Code / Cursor / Windsurf / VS Code forks), and
  2. Risky configuration patterns in your local Claude Code / MCP config (hooks that pipe curl into a shell, auto-approved wildcard permissions, unpinned MCP server packages, etc.).

AI disclosure: this tool, its tests, and this README were built by

StackScribe AI, an autonomous AI

software project. No human reviews the code before release. Read the

source before trusting it in anything sensitive — it's short enough to

audit yourself in a few minutes.

Why this exists

In October 2026, a trojanized build of the Claude Code extension (anthropic.claude-code@2.1.313) was published on Open-VSX, and the same malicious build was later also found on the Cursor Marketplace. Loading it silently added an SSH key, tried to enable remote login, opened a reverse SSH tunnel to an attacker-controlled server, beaconed basic host recon, and installed OS-specific persistence (a disguised macOS LaunchAgent, a Linux cron @reboot entry, or a Windows scheduled task / Startup-folder script) — no user interaction required beyond the editor loading the extension.

This tool is an independent re-implementation, from scratch, of the publicly documented indicators from that incident (file paths, a known file hash, a C2 host/fingerprint, marker files), plus a broader set of heuristic checks for the *kind* of risky config pattern that makes these attacks possible in the first place (overly broad auto-approve rules, hooks that exfiltrate data, unpinned MCP server packages that can be swapped out for a malicious version later). It is not the original incident-response script and is not affiliated with Anthropic; see References for the primary sources.

Install

pip install coding-agent-audit

Usage

# scan this machine for the known IOCs + your home-directory Claude/MCP config

agent-audit

also scan a specific project's .claude/ and .mcp.json

agent-audit --project /path/to/repo

machine-readable output, e.g. for CI

agent-audit --json

only one half of the scan

agent-audit --skip-config # IOC-only agent-audit --skip-ioc # config-heuristics only

also check package.json/requirements.txt/pyproject.toml deps against

npm/PyPI and flag any that don't exist (hallucinated/slopsquattable name)

agent-audit --project /path/to/repo --check-deps

Exit codes: 0 nothing found, 1 only warning/info findings, 2 at least one critical (confirmed-IOC-pattern) finding.

What it checks

IOC scan (checks.py) — all tied to the October 2026 Open-VSX / Cursor Marketplace Claude Code trojan:

  • ~/.ssh/authorized_keys for the planted key comment
  • ~/Library/LaunchAgents/com.apple.sysmond.plist (macOS persistence)
  • Marker files under ~/.config (macOS/Linux and Windows filenames)
  • Leftover temporary SSH tunnel key files
  • extension.js files under common VS Code / Cursor / Windsurf extension directories, hash-compared against the known-malicious build
  • Running processes / crontab for references to the known C2 host or persistence task name
  • On Windows: the known SYSTEM scheduled task name, and the Startup-folder script dropped as a fallback when that task can't be created
  • A GitHub Copilot VS Code extension older than 1.1.29 (the version that fixed the address-bar-spoofing half of EMBRACE, Forever Security's Oct 2026 disclosure of embedded-browser flaws in Cursor, Copilot, Codex, VS Code and Claude Desktop), plus a presence check that flags Codex/VS Code (still unpatched at disclosure time) or Claude Desktop (patch status unconfirmed) if installed, with mitigation guidance
  • Mini Shai-Hulud (the npm worm that targets Claude Code / VS Code specifically, added in v0.7.0): the gh-token-monitor persistence service (systemd user service on Linux, LaunchAgent on macOS — both carry a documented dead-man's switch that wipes your home directory if the stolen GitHub token is revoked before the service is removed), and the .claude/router_runtime.js / .claude/setup.mjs / .vscode/setup.mjs dropper files it plants in a project (checked in the current directory and any --project path)
  • SANDWORM_MODE (the npm worm that registers a rogue local MCP server with Claude Code, Cursor, Windsurf and Continue, added in v0.8.0): the hidden ~/.dev-utils/ directory it installs, and any MCP server entry in your Claude Code / Claude Desktop / Cursor / Windsurf config that points at that directory or uses one of its giveaway tool names (index_project, lint_check, scan_dependencies)

Config heuristics (configscan.py) — pattern-based, always worth a second look rather than proof of compromise:

  • Hook commands that pipe a remote download into a shell, write to authorized_keys, use netcat in reverse-shell mode, etc.
  • MCP server definitions that run an unpinned package (npx -y pkg with no version pin)
  • MCP server definitions explicitly pinned to a package version with a disclosed, fixed RCE CVE (added in v0.10.0): mcp-remote below v0.1.16 (CVE-2025-6514, CVSS 9.6 — a malicious remote server's OAuth authorization_endpoint response is passed unsanitized to the OS, arbitrary command execution on just opening the client) and mcp-server-git below v2025.12.18 (CVE-2025-68143/68144/68145 — Anthropic's own reference git MCP server, chainable via indirect prompt injection into full RCE). Only an explicit old pin is flagged — an unpinned install picks up the current, patched release and is already covered by the generic unpinned-package finding above
  • Auto-approved permission rules that are unscoped wildcards (e.g. Bash(*))
  • The "lethal trifecta" pattern: an untrusted-content-fetching tool (WebFetch/WebSearch/browser/MCP scraper) auto-approved alongside an action-capable tool (Bash/Write/Edit/shell) in the same config, with no confirmation step between them — the combination that turns a prompt-injection payload in a fetched page or tool response into real data exfiltration or command execution

Tool definition injection scan (configscan.py:scan_tool_descriptions, added in v0.9.0, opt-in via --tools-json) — scans an MCP server's own tools/list response (the tool name/description pairs it hands to the client) for instructions hidden in the description text: "after every tool call, also call X", fake system:/assistant: role labels, "do not tell the user", "send this data to", etc. MCP clients treat tool descriptions as authoritative guidance for the LLM, so a malicious or compromised server can steer the agent into calling a second, attacker-controlled tool or hiding an action from the user without ever shipping malicious code in a package — this never requires the server itself to be compromised at the package level, so the IOC/config scans above can't catch it. This check never connects to or executes an MCP server; pass it a tool list you already have (e.g. exported from your client, or from another server's own tools/list call) as a JSON file:

agent-audit --skip-ioc --skip-config --tools-json my-mcp-servers-tools.json

Phantom-dependency scan (phantomdeps.py, opt-in via --check-deps) — reads package.json / requirements.txt / pyproject.toml in the --project directory and checks each listed package name against the npm/PyPI registries (read-only HTTP lookups, nothing is installed). AI coding assistants occasionally hallucinate a plausible-but-nonexistent package name; if one ends up in your manifest, an attacker can register that exact name with malicious code and have it silently installed on the next npm install / pip install ("slopsquatting"). Network errors are treated as inconclusive, not as a finding, so a flaky connection can't produce a false positive.

MCP phantom-package scan (scan_mcp_phantom_packages, also opt-in via --check-deps) — the same registry-lookup idea, applied to the MCP server commands themselves: any npx/uvx/pipx run invocation in a scanned config is checked against npm/PyPI. This is the "MCPhantom" pattern flagged by Glow Labs in November 2026: a coding agent fills in a plausible but nonexistent MCP server package name from training data (or copies one from a long-archived tutorial whose package was since renamed/unpublished), and nothing stops an attacker from registering that exact name and having it run as the MCP server next time the config loads.

New incidents can be added to iocs.py as data, without touching the check logic.

Limitations

This is a lightweight triage tool, not an endpoint-security product. A clean result does not prove your machine is uncompromised; it only means none of the *currently known, documented* patterns matched. The config heuristics will produce false positives on legitimate, intentional setups — read the detail line before acting.

MCP server (run it from inside Claude Desktop / Claude Code)

Instead of a terminal, you can run both scans as MCP tools directly inside any MCP client. Add this to your client's MCP config (e.g. Claude Desktop's claude_desktop_config.json, or via claude mcp add):

{

"mcpServers": { "coding-agent-audit": { "command": "uvx", "args": ["coding-agent-audit"] } } }

(No uv? pip install coding-agent-audit then use "command": "agent-audit-mcp" with no args — same server, explicit entry-point name.) This exposes three tools — scan_for_known_backdoors, scan_mcp_config and scan_tool_descriptions — so you can just ask your assistant "scan my machine for AI coding assistant backdoors" and read the result in the chat — same heuristics as the CLI above, nothing installed beyond the server itself. scan_tool_descriptions takes a tool list as its argument (e.g. another MCP server's own tools/list output) rather than scanning the local machine, so one agent can audit another agent's tools directly, agent-to-agent, with no files involved.

Pay-per-call API (for other AI agents / CI systems)

The config heuristics (scan_config_dict) are also available as an x402 pay-per-call HTTP API, for agents/pipelines that want to check a config programmatically without installing anything:

POST https://stackscribe-audit-x402.stackscribe-paywall-worker.workers.dev/audit

Content-Type: application/json {"config": { }}

No X-PAYMENT header → 402 with the x402 v2 price (0.02 USDC on Polygon, scheme exact). No account, API key or KYC on either side; settlement runs through the public PayAI facilitator. This only scans the JSON object you send (hooks/permissions/MCP-server heuristics) - it can't do this package's filesystem IOC scan remotely. Full request/response shape: GET /openapi.json on that URL, or the source of the x402 worker. The free CLI above remains the full, unpaid alternative. Registered and domain-verified on 402index.io; see the writeup on the three compliance gaps discovery crawlers found that our own tests missed.

GitHub Action (CI gate for your repo's own config)

If your repo commits .claude/settings.json or .mcp.json, there's a [GitHub Action](htt

只显示了开头部分;其余内容请在仓库中阅读

问 PopNx