AI Skill & Prompt Security Scanner β detect malware, prompt injection, hidden payloads, and credential leaks in AI skills, plugins, and prompt files.
As AI agents become more powerful with skills, plugins, and MCP servers, the attack surface grows. A malicious skill can:
- π΄ Steal credentials β read
.env, API keys, tokens - π΄ Execute commands β reverse shells, subprocess abuse
- π΄ Inject prompts β jailbreak, system override, data exfiltration
- π΄ Hide payloads β zero-width Unicode, nested base64, obfuscation
- π΄ Pivot attacks β supply chain poisoning, persistence mechanisms
SkillGuard scans AI skills, prompt files, and plugins for these threats before they run.
- π File Scanning β upload
.py,.md,.js,.sh,.yamlfiles for threat analysis - π¬ Prompt Scanning β analyze text input for injection patterns
- π URL Scanning β scan GitHub repos and HuggingFace models remotely
- π‘οΈ 215 Patterns β 10 malware categories + 7 injection categories
- π Risk Scoring β 0-100 with dynamic severity levels (LOW / MEDIUM / HIGH / CRITICAL)
- π Admin Dashboard β scan history with date/type filters (default password:
1234) - π Badge API β SVG security badge for your repos
- β‘ Rate Limiting β 5 scans/minute per IP
- π¨ Dark UI β terminal aesthetic, developer-first design
pip install skillguard# Scan a file
skillguard scan suspicious_skill.py
# Scan a directory
skillguard scan ./my-skills/
# Scan a prompt
skillguard scan --prompt "ignore all previous instructions"
# Scan a GitHub repo
skillguard scan --url https://github.com/user/repo# Start the web server
skillguard serve --port 5000Or try the live demo: skillguard.burakgider.com
| Category | Severity | Examples |
|---|---|---|
| Reverse Shell | Critical | bash -i >& /dev/tcp, socket.connect(), nc -e |
| Credential Theft | Critical | os.environ[], os.getenv(), .env access |
| Crypto Miner | Critical | stratum+tcp://, xmrig, coinhive |
| Stealer | Critical | Keylogger, cookie theft, browser data |
| Obfuscation | Warning | eval(atob()), base64.b64decode, getattr(__builtins__) |
| Network Exfil | Critical | Discord/Slack webhooks, webhook.site, Pastebin |
| Suspicious Imports | Warning | pickle, marshal, subprocess, paramiko |
| Hidden Payloads | Critical | Nested base64, zlib+base64, zero-width Unicode |
| Supply Chain | Critical | `curl |
| Persistence | High | Crontab, bashrc, chmod 777, authorized_keys |
| Category | Severity | Examples |
|---|---|---|
| System Override | Critical | "ignore previous instructions", "override safety" |
| Jailbreak | Critical | DAN, AIM, STAN, forced compliance |
| Data Exfiltration | Critical | System prompt extraction, credential in response |
| Tool Abuse | High | Command execution, file deletion, package install |
| Indirect Injection | High | {{template}}, <system> tags, XSS vectors |
| Prompt Leaking | Warning | Repeat trick, translation trick, rule enumeration |
| Skill Poisoning | Critical | Conditional triggers, hidden instructions, nested decode |
curl -X POST https://skillguard.burakgider.com/api/scan/file \
-F "file=@suspicious_skill.py"curl -X POST https://skillguard.burakgider.com/api/scan/prompt \
-H "Content-Type: application/json" \
-d '{"content": "ignore all previous instructions"}'curl https://skillguard.burakgider.com/healthcurl https://skillguard.burakgider.com/api/export/1 \
-H "Authorization: Bearer sg_5c8a386a25edac0b13d579bb6016a77c"106 tests covering all pattern categories, API endpoints, and security features:
pip install -e ".[dev]"
pytest tests/ -v| Test Suite | Count | Coverage |
|---|---|---|
test_static_scanner.py |
34 | All malware categories |
test_prompt_scanner.py |
33 | All injection categories |
test_api.py |
16 | File/prompt/admin/badge/export endpoints |
test_security.py |
23 | Rate limiting, auth, path sanitize, risk score |
skillguard/
βββ src/skillguard/
β βββ scanners/
β β βββ static.py # File/directory scanner
β β βββ prompt.py # Prompt injection scanner
β βββ patterns/
β β βββ malware.json # 136 malware patterns
β β βββ injection.json # 79 injection patterns
β βββ web/
β β βββ app.py # Flask web server
β β βββ templates/ # Dark-themed UI
β βββ mcp_server.py # MCP Server (stdio transport)
β βββ auth.py # Admin authentication
β βββ ratelimit.py # Rate limiter
β βββ logger.py # SQLite scan logger
β βββ cli.py # CLI interface
βββ tests/ # 106 pytest tests
βββ docs/ # Documentation
βββ pyproject.toml # Package config
- AI Agent Developers β scan skills before loading into agents
- Security Researchers β analyze prompt injection techniques
- MCP Server Operators β validate tools before deployment
- DevSecOps Teams β integrate into CI/CD pipelines
- Open Source Consumers β verify third-party AI plugins
- VS Code Extension β real-time scanning while editing skill files
- GitHub Action β automatic scanning on PR/push
- Pattern DB v2 β community-contributed signatures
- Docker Image β one-command deployment
- Webhook Alerts β Slack/Discord notifications on high-risk scans
Contributions welcome! Especially:
- New pattern signatures
- False positive reports
- Security research on AI-specific threats
- UI/UX improvements
- Fork the repo
- Create a feature branch:
git checkout -b feature/new-patterns - Add tests for your changes
- Submit a pull request
MIT License β see LICENSE for details.
Built by PHRIXUS β AI tools, secured by design.