Sponsored by Deepsite.site

Skillaudit

Created By
megamind-0xa month ago
Security scanner for AI agent skills. Detects credential theft, data exfiltration, prompt injection, reverse shells, dangerous capability combos, and hardcoded secrets. 14 rules, 80+ patterns, 22 secret detectors. Free API + CLI (npx skillaudit). Built by an AI agent.
Overview

🛡️ SkillAudit

The security layer for AI agent skills. Scan, gate, and enforce policy before your agent installs anything.

32 detection rules · 289 patterns · MCP + A2A coverage · Zero dependencies

Live npm API Docs

# Gate check — should my agent install this?
npx skillaudit gate https://example.com/SKILL.md

# Full scan
npx skillaudit https://example.com/SKILL.md

# Scan MCP manifest for schema poisoning
npx skillaudit manifest tools.json

Why SkillAudit?

AI agents install tools, skills, and MCP servers from untrusted sources. Those skills can steal credentials, exfiltrate data, inject prompts, or manipulate other agents — and most of this is invisible to the user.

SkillAudit catches it. One API call before install. That's it.


Quick Start

1. Gate Check (one line)

The infrastructure endpoint. Returns allow/deny.

curl "https://skillaudit.vercel.app/gate?url=https://example.com/SKILL.md"
# → {"allow": true, "decision": "allow", "risk": "clean", ...}

2. Full Scan

curl "https://skillaudit.vercel.app/scan/quick?url=https://example.com/SKILL.md"

3. Bulk Gate (check multiple skills at once)

curl -X POST https://skillaudit.vercel.app/gate/bulk \
  -H "Content-Type: application/json" \
  -d '{"urls": ["https://example.com/skill1.md", "https://example.com/skill2.md"]}'
# → {"allow": false, "denied": 1, "blocked": [...]}

4. Policy Enforcement

curl -X POST https://skillaudit.vercel.app/policy/evaluate-inline \
  -H "Content-Type: application/json" \
  -d '{
    "url": "https://example.com/SKILL.md",
    "policy": {"maxRisk": "low", "blockedCategories": ["credential_theft"]}
  }'

What It Detects

32 rule categories, 289 patterns:

CategoryRulesWhat it catches
🔑 Credential TheftCRED_ENV_READ, TOKEN_STEALReading .env, stealing tokens/cookies, accessing SSH keys
📤 Data ExfiltrationDATA_EXFIL, EXFIL_PATTERN, EXFIL_COVERTWebhook.site, DNS exfil, covert channels, image beacons
💉 Prompt InjectionPROMPT_INJECT, TOOL_POISONING"Ignore previous instructions", hidden system prompts
🧬 MCP Schema PoisoningMCP_SCHEMA_POISONHidden instructions in MCP tool descriptions/schemas
🤖 A2A AttacksA2A_AGENT_IMPERSONATION, A2A_TASK_HIJACK, A2A_CROSS_AGENT_INJECT, A2A_DATA_LEAK, A2A_CAPABILITY_ABUSEAgent Card spoofing, task hijacking, cross-agent injection
🐚 Code ExecutionSHELL_EXEC, REVERSE_SHELLShell commands, reverse shells, eval/Function
🔐 Hardcoded Secrets22 detectorsAWS keys, GitHub tokens, JWTs, private keys, API keys
👻 ObfuscationOBFUSCATION, INVISIBLE_TEXTBase64 payloads, zero-width Unicode, encoded URLs
⏰ EvasionTIME_BOMBDate-triggered activation, delayed execution
🔗 Supply ChainSUPPLY_CHAINRemote code loading, curl|bash, dependency confusion
🌐 NetworkNET_SUSPICIOUS, SSRF_PATTERN, DNS_REBINDSSRF, raw IPs, DNS rebinding, metadata endpoints
📦 Container EscapeCONTAINER_ESCAPEDocker socket, nsenter, /proc traversal, LD_PRELOAD
🔄 PersistencePERSISTENCECron injection, systemd, LaunchAgents, pm2, nohup
🕵️ ReconENV_RECONos.hostname, whoami, network interfaces, environment dump
🔧 Agent ManipulationAGENT_MEMORY_MOD, TOOL_SHADOW, CROSS_TOOL_ACCESSMemory modification, tool shadowing, cross-tool data access
💰 Crypto TheftCRYPTO_THEFTWallet files, seed phrases, MetaMask vaults

Smart context suppression: documentation examples and placeholder tokens are automatically suppressed to minimize false positives.


CLI

Zero install, zero config. Requires Node.js 18+.

# Scan a file, URL, or directory
npx skillaudit SKILL.md
npx skillaudit https://github.com/user/repo
npx skillaudit ./my-agent-project/

# Gate check (CI/CD: exit 0 = allow, exit 1 = deny)
npx skillaudit gate https://example.com/SKILL.md
npx skillaudit gate https://example.com/SKILL.md --threshold high

# Scan MCP manifest for schema poisoning
npx skillaudit manifest tools.json

# CI/CD integration
npx skillaudit SKILL.md --fail-on moderate          # Exit 1 if risk >= moderate
npx skillaudit SKILL.md --markdown >> "$GITHUB_STEP_SUMMARY"  # PR summary
npx skillaudit SKILL.md --json | jq .riskLevel      # Machine-readable

# MCP server mode
npx skillaudit --mcp

API Endpoints

Full interactive docs at skillaudit.vercel.app/docs

Gate (Infrastructure)

EndpointDescription
GET /gate?url=Pre-install gate — allow/warn/deny
POST /gate/bulkCheck multiple skills, one composite decision

Scanning

EndpointDescription
GET /scan/quick?url=Quick scan by URL
POST /scan/contentScan raw content
POST /scan/manifestScan MCP tool manifest for schema poisoning
GET /scan/agent-card?url=Scan A2A Agent Card
GET /scan/npm?package=Scan npm package
GET /scan/pypi?package=Scan PyPI package
GET /scan/repo?repo=Scan GitHub repo
POST /scan/depsScan dependency tree
POST /scan/batchBatch scan (up to 20 URLs)
POST /scan/compareDiff two skill versions
POST /scan/deepDeep scan with threat chains

Policy & Intelligence

EndpointDescription
POST /policy/evaluate-inlineEvaluate against custom policy (no auth)
POST /policyCreate stored policy (API key)
GET /reputation/:domainDomain trust score
GET /feedThreat intelligence feed
GET /badge/scan.svg?url=Embeddable SVG badge
GET /certificate/:idSigned audit certificate

Results

EndpointDescription
GET /scan/:idRetrieve scan result
GET /scan/:id/sarifSARIF v2.1.0 output
GET /report/:idShareable HTML report

Rate limit: 30 req/min per IP. Bypass with API key.


MCP Server

Use SkillAudit as a native tool in Claude Desktop, Cursor, or any MCP client:

{
  "mcpServers": {
    "skillaudit": {
      "command": "npx",
      "args": ["skillaudit", "--mcp"]
    }
  }
}

Tools: skillaudit_gate, skillaudit_scan, skillaudit_scan_content, skillaudit_reputation, skillaudit_batch


GitHub Action

name: SkillAudit
on: [pull_request]
jobs:
  scan:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - run: npx skillaudit . --fail-on high --markdown >> "$GITHUB_STEP_SUMMARY"

CI/CD Integration

# GitHub Actions — gate check before deploy
npx skillaudit gate "$SKILL_URL" --threshold moderate || exit 1

# Generate PR comment
npx skillaudit ./skills/ --markdown > scan-results.md

# Policy enforcement in pipeline
curl -sf -X POST https://skillaudit.vercel.app/policy/evaluate-inline \
  -H "Content-Type: application/json" \
  -d "{\"url\": \"$SKILL_URL\", \"policy\": {\"maxRisk\": \"low\"}}" \
  | jq -e '.pass == true'

Risk Levels

LevelScoreMeaning
🟢 clean0No issues found
🟡 low1–9Minor concerns, review recommended
🟠 moderate10–24Manual review required
🔴 high25–49Do NOT install without audit
critical50+Almost certainly malicious

Self-Hosted

git clone https://github.com/megamind-0x/skillaudit
cd skillaudit && npm install && npm start
# → http://localhost:3847

Built by Megamind_0x 🧠

Live App · API Docs · Dashboard · npm

Server Config

{
  "mcpServers": {
    "skillaudit": {
      "command": "npx",
      "args": [
        "skillaudit"
      ]
    }
  }
}
Recommend Servers
TraeBuild with Free GPT-4.1 & Claude 3.7. Fully MCP-Ready.
BlenderBlenderMCP connects Blender to Claude AI through the Model Context Protocol (MCP), allowing Claude to directly interact with and control Blender. This integration enables prompt assisted 3D modeling, scene creation, and manipulation.
Howtocook Mcp基于Anduin2017 / HowToCook (程序员在家做饭指南)的mcp server,帮你推荐菜谱、规划膳食,解决“今天吃什么“的世纪难题; Based on Anduin2017/HowToCook (Programmer's Guide to Cooking at Home), MCP Server helps you recommend recipes, plan meals, and solve the century old problem of "what to eat today"
MCP AdvisorMCP Advisor & Installation - Use the right MCP server for your needs
MiniMax MCPOfficial MiniMax Model Context Protocol (MCP) server that enables interaction with powerful Text to Speech, image generation and video generation APIs.
WindsurfThe new purpose-built IDE to harness magic
DeepChatYour AI Partner on Desktop
Visual Studio Code - Open Source ("Code - OSS")Visual Studio Code
Zhipu Web SearchZhipu Web Search MCP Server is a search engine specifically designed for large models. It integrates four search engines, allowing users to flexibly compare and switch between them. Building upon the web crawling and ranking capabilities of traditional search engines, it enhances intent recognition capabilities, returning results more suitable for large model processing (such as webpage titles, URLs, summaries, site names, site icons, etc.). This helps AI applications achieve "dynamic knowledge acquisition" and "precise scenario adaptation" capabilities.
Baidu Map百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。
Playwright McpPlaywright MCP server
Y GuiA web-based graphical interface for AI chat interactions with support for multiple AI models and MCP (Model Context Protocol) servers.
Tavily Mcp
AiimagemultistyleA Model Context Protocol (MCP) server for image generation and manipulation using fal.ai's Stable Diffusion model.
EdgeOne Pages MCPAn MCP service designed for deploying HTML content to EdgeOne Pages and obtaining an accessible public URL.
Serper MCP ServerA Serper MCP Server
ChatWiseThe second fastest AI chatbot™
CursorThe AI Code Editor
RedisA Model Context Protocol server that provides access to Redis databases. This server enables LLMs to interact with Redis key-value stores through a set of standardized tools.
Jina AI MCP ToolsA Model Context Protocol (MCP) server that integrates with Jina AI Search Foundation APIs.
Amap Maps高德地图官方 MCP Server