.claude/skills/medusa-security/SKILL.md
AI-first security scanning with Medusa. 3,000+ detection patterns covering AI/ML, agents, MCP, RAG, prompt injection, and traditional SAST vulnerabilities. Wraps Medusa CLI with SARIF/JSON parsing, structured finding output, OWASP mapping, and remediation guidance.
npx skillsauth add oimiragieo/agent-studio medusa-securityInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
AI-first security scanner integration skill. Leverages Medusa's 76 scanners and 3,000+ detection patterns for comprehensive security analysis including AI/ML-specific vulnerability detection.
Python 3.10+
pip install medusa-security
Check installation: python -m medusa --version
# Step 1: Verify installation
python -m medusa --version
# Step 2: Run scan
medusa scan . --format sarif --fail-on high
# Step 3: Parse output (use scripts/main.cjs)
node .claude/skills/medusa-security/scripts/main.cjs --mode full --target .
# Step 4: Review findings by severity
# CRITICAL → immediate fix required
# HIGH → fix before release
# MEDIUM → fix in next sprint
# LOW → track and address
medusa scan . --format sarif --ai-only
Scans only: prompt injection (800+ patterns), MCP security (400+ patterns), agent security (500+ patterns), RAG security (300+ patterns).
medusa scan . --format sarif --quick
Only scans git-changed files. Use during development for rapid feedback.
# MCP security only
medusa scan . --format sarif --scanners mcp-server,mcp-config
# Secrets only
medusa scan . --format sarif --scanners secrets,gitleaks,env
# AI context files only
medusa scan . --format sarif --scanners ai-context
The skill uses helper scripts located at .claude/skills/medusa-security/scripts/:
| Script | Purpose |
| ----------------------- | ----------------------------------------------- |
| sarif-parser.cjs | Parses SARIF v2.1.0 output |
| json-parser.cjs | Parses Medusa JSON output |
| finding-formatter.cjs | Formats findings with OWASP mapping |
| main.cjs | Orchestrates the full pipeline |
| cli-wrapper.cjs | Wraps Medusa CLI invocation |
| security-review.cjs | Deterministic report writer (no Glob recursion) |
# Full scan with structured output
node .claude/skills/medusa-security/scripts/main.cjs --mode full --target .
# AI-only scan
node .claude/skills/medusa-security/scripts/main.cjs --mode ai-only --target .
# Quick scan (git-changed files)
node .claude/skills/medusa-security/scripts/main.cjs --mode quick --target .
Use this when you need the final security review report and want to avoid recursive Glob timeouts:
node .claude/skills/medusa-security/scripts/security-review.cjs
This writes:
/.claude/context/reports/security/security-review-medusa-scan-2026-02-17.md
and performs fixed-path checks on:
.claude/hooks/.claude/lib/.claude/skills/medusa-security/scripts/.claude/CLAUDE.md.claude/skills/medusa-security/**/* in long sessions.Findings are automatically mapped to:
| Severity | Action | Timeline | | -------- | ------------------ | ---------------- | | CRITICAL | Immediate fix | Before any merge | | HIGH | Fix before release | Same sprint | | MEDIUM | Fix in next sprint | Next cycle | | LOW | Track and address | Backlog |
| Agent | Usage |
| -------------------- | ----------------------------------------------------------- |
| security-architect | Primary consumer. Use for comprehensive security reviews. |
| penetration-tester | Use for targeted vulnerability scanning with authorization. |
| code-reviewer | Use AI-only scan as part of code review workflow. |
# GitHub Actions example
- name: Security Scan
run: |
pip install medusa-security
medusa scan . --format sarif --fail-on high -o reports/
- name: Upload SARIF
uses: github/codeql-action/upload-sarif@v3
with:
sarif_file: reports/medusa-results.sarif
python -m medusa --version first; a missing install produces no output instead of an error, silently masking all vulnerabilities.--fail-on high in CI/CD pipelines — without a fail threshold, pipelines pass even when CRITICAL findings exist, creating false confidence in the security posture.github/codeql-action/upload-sarif@v3 persists findings for PR review, trend tracking, and compliance audit trails.| Anti-Pattern | Why It Fails | Correct Approach |
| ------------------------------------ | ----------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------- |
| Skipping installation check | Missing Medusa produces no output, not an error — all vulnerabilities silently missed | Run python -m medusa --version first; abort on non-zero exit |
| Using AI-only mode as a release gate | AI-only misses traditional SAST patterns (SQLi, XSS, path traversal) — 76 scanners needed for full coverage | Use full-scan mode for CI/CD gates; AI-only mode for rapid dev-time feedback only |
| No fail-on threshold in CI | Pipeline passes even when CRITICAL findings exist — false confidence in security posture | Always use --fail-on high in CI pipelines; adjust to --fail-on critical for high-risk repos |
| Ignoring MEDIUM findings | MEDIUM findings compound into exploitable chains when combined with HIGH findings | Triage MEDIUM findings each sprint; never allow them to accumulate without a tracking issue |
| Not uploading SARIF to Code Scanning | Findings live only in local files, lost after build — no PR-level review or trend tracking | Upload SARIF via github/codeql-action/upload-sarif@v3 in every CI run |
After scanning:
patterns.jsonissues.mdrecordGotcha() for recurring false positivesconst manager = require('.claude/lib/memory/memory-manager.cjs');
manager.recordGotcha({
text: 'False positive: medusa flags X pattern in Y context',
area: 'security-scanning',
});
manager.recordPattern({
text: 'Prompt injection found in CLAUDE.md context files',
area: 'ai-security',
});
security-architect — Threat modeling and OWASP analysisstatic-analysis — CodeQL and Semgrep SARIF analysissemgrep-rule-creator — Create custom Semgrep rulesinsecure-defaults — Detect hardcoded credentialsvariant-analysis — Discover vulnerability variantstools
Comprehensive biosignal processing toolkit for analyzing physiological data including ECG, EEG, EDA, RSP, PPG, EMG, and EOG signals. Use this skill when processing cardiovascular signals, brain activity, electrodermal responses, respiratory patterns, muscle activity, or eye movements. Applicable for heart rate variability analysis, event-related potentials, complexity measures, autonomic nervous system assessment, psychophysiology research, and multi-modal physiological signal integration.
tools
Comprehensive toolkit for creating, analyzing, and visualizing complex networks and graphs in Python. Use when working with network/graph data structures, analyzing relationships between entities, computing graph algorithms (shortest paths, centrality, clustering), detecting communities, generating synthetic networks, or visualizing network topologies. Applicable to social networks, biological networks, transportation systems, citation networks, and any domain involving pairwise relationships.
data-ai
Molecular featurization for ML (100+ featurizers). ECFP, MACCS, descriptors, pretrained models (ChemBERTa), convert SMILES to features, for QSAR and molecular ML.
development
Run Python code in the cloud with serverless containers, GPUs, and autoscaling. Use when deploying ML models, running batch processing jobs, scheduling compute-intensive tasks, or serving APIs that require GPU acceleration or dynamic scaling.