프로토타입 · 미리 보기: 공식 레지스트리의 모든 서버를 담고 있으며 30분마다 동기화해요. 리뷰와 계정 기능은 다음 단계에서 열려요.
PopNx MCPAI를 쓰는 사람을 위한 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개 통과
  • 내 컴퓨터에서 내 사용자 계정의 권한(파일, 네트워크, 앱)으로 실행돼요.
  • 레지스트리에 입력해야 할 키가 나와 있지 않아요.

필요한 것

  • PyPIPython의 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는 인터넷에 있는 서버에만 연결할 수 있어요. 다른 앱을 고르세요.

선택한 앱은 이 기기의 쿠키에만 저장돼요. 계정은 필요 없어요.

이 설정은 제작자의 레지스트리 정보로 만들었어요. 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일 전 레지스트리에 올라왔어요.

어떤 앱에서 쓸 수 있나요?

Claude Desktop, Claude Code, Cursor, VS Code처럼 MCP를 지원하는 앱에서 쓸 수 있어요. 내 컴퓨터에 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에게 묻기