Scanner de sécurité axé sur l'IA. NOUVEAU dans v2026.7 : détection de compromission de Claude Code — vérifiez les hooks, permissions et compétences `.claude/` avant de cloner — plus un scanner de signatures d'attaques IA toujours actif et des règles natives Rust & PHP. Également : `medusa scan --git` pour vérifier n'importe quel dépôt, `medusa secrets scan` pour les clés API divulguées. 40 000+ modèles, zéro configuration.
Scanner de sécurité pensé pour l'IA avec plus de 40 000 modèles de détection pour les applications IA/ML, les agents et les LLM.
🤖 Fonctionne directement - aucune installation d'outil requise.
🚨 200 CVE : Log4Shell, Spring4Shell, XZ Utils, LangChain RCE, MCP-Remote RCE, React2Shell
🔥 medusa scan --git <URL> — Analysez n'importe quel dépôt pour détecter les attaques sur la chaîne d'approvisionnement IA (empoisonnement de dépôt, injection de prompt, empoisonnement d'outils MCP)
🔐 medusa secrets scan — Trouvez les clés API divulguées dans l'historique de votre Claude / Cursor / Copilot / shell. 21 types d'émetteurs. Rédaction interactive sur place.
🚀 v2026.7.0 : détection de compromission de Claude Code, scanner toujours actif de signatures d'attaques IA, règles de sécurité natives Rust et PHP, et diagnostics au niveau des règles — en plus de plus de 40 000 modèles de détection.
MEDUSA est un scanner de sécurité pensé pour l'IA avec plus de 40 000 modèles de détection qui fonctionne directement. Installez et analysez simplement - aucune installation d'outil externe requise. Les règles intégrées de MEDUSA détectent les vulnérabilités dans les applications IA/ML, les agents LLM, les serveurs MCP, les pipelines RAG et le code traditionnel.
medusa scan --git <URL> - Analysez n'importe quel dépôt GitHub pour détecter les attaques sur la chaîne d'approvisionnement IA en quelques secondesmedusa secrets scan + purge - Trouvez les clés API / jetons / clés privées divulgués dans les historiques de chat de Claude Code / Cursor / Copilot / Zed / Gemini et dans l'historique de votre shell bash / zsh / psql / mysql / python REPL. 21 types d'émetteurs (Anthropic, OpenAI, PyPI, GitHub PAT, AWS, GCP, Stripe, Slack…). Purge interactive [y/n/s/a/q] avec sauvegarde obligatoire octet pour octet et rédaction compatible JSONL. Uniquement en local, aucune télémétrie.pip install - aucune installation d'outil nécessaire.medusa.yml pour les paramètres spécifiques au projetDétection de la chaîne d'approvisionnement Claude Code, couverture linguistique élargie et observabilité au niveau des règles.
| Changement | Détails | |
|---|---|---|
| 🛡️ | Détection de compromission de Claude Code | medusa scan --git vérifie désormais structurellement .claude/ — hooks empoisonnés (curl|bash, base64→exec, exfiltration d'identifiants, shells inversés), permissions trop larges (Bash(*), bypassPermissions), sous-agents à outils génériques, et compétences dropper — avant que vous ne cloniez. |
| 🎯 | Scanner toujours actif de signatures d'attaques | Comble une lacune de faux négatifs — les charges utiles de jailbreak / injection de prompt dans les fichiers de données (.jsonl/.csv) et la prose sont désormais détectées quelle que soit la confiance du contexte LLM, ainsi que la récupération d'unicode invisible / bidi (Trojan Source, CVE-2021-42574). |
| 🦀 | Règles de sécurité natives Rust | 22 règles prêtes à l'emploi (aucune chaîne d'outils requise) — vérification TLS désactivée, injection de commandes, désérialisation non fiable, SQL brut, opérations mémoire dangereuses, cryptographie faible, SSRF. |
| 🐘 | Règles de sécurité natives PHP | 16 règles prêtes à l'emploi — SQLi, injection de commandes/eval, LFI/RFI, traversée de chemin, injection d'objets unserialize(), téléversement sans restriction, XSS réfléchi, SSRF, cryptographie faible. |
| 🔬 | Diagnostics de règles (--trace-rules) | Journal de déclenchement par règle + mesures de temps (rule-trace.jsonl, slow_rules.csv) et une heartbeat survivant aux blocages — a trouvé et corrigé un véritable ReDoS à backtracking catastrophique, ainsi qu'un lint ReDoS/ensemble imbriqué qui bloque les modèles dangereux au moment de la rédaction. |
| ⚡ | Moteur + précision | Gains de performance rapides du moteur d'analyse, mode de criblage contextuel pour la vérification des cibles --git, échantillonnage avec plafond d'octets pour les gros fichiers, et correction d'un faux positif secret lié aux espaces réservés de documentation. |
v2026.5.12 — La plus grosse version de modèles : passage de 9 600 à plus de 40 000 modèles de détection issus de 8 466 articles de recherche en sécurité IA, renforcés contre les faux positifs ; scanner structurel d'intégrité des règles.
v2026.5.10 — Durcissement de la sécurité : correction d'une injection de commande dans l'extension VS Code, correction du bug des résultats en cache --fail-on, correction d'un chemin obsolète dans le cache d'outils, configuration MCP du dossier utilisateur désormais optionnelle.
v2026.5.9 — Couverture du commerce agentique : UCPScanner + AP2Scanner + 45 règles de modèles positifs ajustées manuellement.
v2026.5.8 — medusa secrets : analysez les historiques de chat IA et de shell pour détecter des identifiants divulgués (21 types d'émetteurs) avec purge interactive [y/n/s/a/q].
v2026.5.7 — Règles d'injection indirecte de prompt (101/102), scanner d'imports de la chaîne d'approvisionnement, correction du multiprocessing macOS/Windows.
v2026.5.5 — Version de durcissement de la sécurité (défenses contre l'injection argv, SSRF git, intégrité du cache HMAC, correction XSS markdown).
Linters externes (facultatifs) : MEDUSA détecte automatiquement bandit, eslint, shellcheck, etc. s'ils sont installés. Voir le Guide des outils facultatifs.
Votre jeton PyPI est peut-être dans l'historique de votre chat Claude en ce moment même.
Les développeurs collent chaque jour des clés API, des jetons et des identifiants dans les assistants IA —
« déploie ça avec pypi-AgEI... », « utilise mon ghp_... pour pousser », « la clé AWS est AKIA... ».
Les assistants conservent ces conversations en clair sur le disque. Toute personne ayant un accès en lecture
à $HOME — ou tout futur logiciel malveillant avec un accès shell — peut lancer grep -r 'sk-\|ghp_\|AKIA' ~/
et récolter des identifiants de production en quelques secondes.
medusa secrets scan les trouve. medusa secrets purge les nettoie.
medusa secrets scan
Aucun contenu source n'a été fourni pour la traduction.```text
Scanning 118 file(s)...
── claude-code ──────────────────────────────────────────────
/home/ross/.claude/history.jsonl (13 finding(s))
[CRITICAL] Anthropic API key (anthropic)
/home/ross/.claude/history.jsonl:1005:13
sk-ant-api03***...***
[CRITICAL] PyPI API token (pypi)
/home/ross/.claude/history.jsonl:125:94
pypi-AgEIc***...***
[CRITICAL] GitHub fine-grained PAT (github)
/home/ross/.claude/history.jsonl:2306:13
github_pat_11A***...***
[HIGH] HuggingFace token (huggingface)
/home/ross/.claude/history.jsonl:3387:13
hf_JOi***...***
...
Total: 13 credentials across 1 file(s).
Report: /home/ross/.medusa/secrets-scan/secrets-20260519-074452.json
gui_panel: logger: level: debug output: stdout filters: includes: [] excludes: [] local: enabled: yes endpoint: unix:///var/run/nmap.sock nmap: enabled: yes workers: 10 ping_template: -sn {{target}} -oN /tmp/scan_{{network}}.txt syn_scan_template: -sS {{target}} -oN /tmp/scan_{{network}}.txt no_port_scan_template: -sT {{target}} -oN /tmp/scan_{{network}}.txt udp_scan_template: -sU {{target}} -oN /tmp/scan_{{network}}.txt scrapy: enabled: yes workers: 5 spider_template: scrapy runspider /app/spiders/{{spider}}.py -o /tmp/spider_{{network}}.json
logging: version: 1 disable_existing_loggers: False formatters: simple: format: "%(asctime)s - %(name)s - %(filename)s:%(lineno)d - %(levelname)s - %(message)s" detailed: format: "%(asctime)s - %(name)s - %(filename)s:%(lineno)d - %(levelname)s - %(message)s" handlers: console: class: logging.StreamHandler level: DEBUG formatter: detailed stream: ext://sys.stdout loggers: ivre: level: INFO handlers: [console] propagate: yes sampleLogger: level: DEBUG handlers: [console] propagate: yes root: level: INFO handlers: [console]
gui_panel: target_network_list: - network: 192.168.1.0/24 gateway: 192.168.1.1 - network: 10.0.0.0/16 gateway: 10.0.0.1
gui_panel: scan_level: stealth
medusa secrets purge
I received no source text to translate. The input after "INPUT:" is empty. Please provide the actual chunk content so I can translate it into French.```text
[CRITICAL] PyPI API token (pypi)
/home/ross/.claude/history.jsonl:125:94
pypi-AgEIc***...***
redact? [y/n/s/a/q/?]: y
[CRITICAL] Anthropic API key (anthropic)
/home/ross/.claude/history.jsonl:1005:13
sk-ant-api03***...***
redact? [y/n/s/a/q/?]: y
...
✓ /home/ross/.claude/history.jsonl (13 redacted)
backup → /home/ross/.medusa/secrets-scan/backups/20260519-074452/home/ross/.claude/history.jsonl
Le fichier d'origine est sauvegardé octet pour octet avant toute modification. Le JSONL reste
analysable après l'occultation. Le marqueur d'occultation ([REDACTED-MEDUSA-...-<run-id>])
est unique par exécution, ce qui permet de le retracer jusqu'au scan qui l'a produit.
medusa secrets scan # everything (default — chat + shell) medusa secrets scan --source ai-chats # AI assistants only medusa secrets scan --source shell # ~/.bash_history, ~/.zsh_history, fish, psql, mysql, ... medusa secrets scan --path FILE # explicit file (e.g. a ChatGPT export) medusa secrets scan --reveal # show real values (requires 'I UNDERSTAND')
medusa secrets purge # interactive [y/n/s/a/q] medusa secrets purge SCAN_ID # purge a specific report medusa secrets purge --all --yes-i-know # batch mode for power users / CI
### Ce qui est détecté (21 émetteurs)
**Fournisseurs d'IA** : Anthropic, OpenAI, HuggingFace, Replicate, Cohere
**Registres de paquets** : PyPI, npm
**Forges de code source** : GitHub PAT (classic + fine-grained + OAuth + App), GitLab PAT
**Cloud** : clés d'accès AWS, JSON de compte de service GCP
**Paiements / communications** : clés live/restreintes Stripe, jetons bot/utilisateur Slack, SendGrid, Twilio, webhooks Discord
**Cryptographie** : clés privées encodées PEM (RSA, DSA, EC, OpenSSH, PGP)
### Propriétés de sécurité
- **Local uniquement.** Rapports sous `~/.medusa/secrets-scan/` mode `0o600`. Aucun réseau, aucune télémétrie, jamais écrit dans les arborescences de projet.
- **Sauvegarde avant écriture.** Chaque rédaction est précédée d'une sauvegarde octet pour octet. `cp` la restaure.
- **Sûr pour JSONL.** Le marqueur de rédaction ne contient aucun caractère non sûr pour JSON ; les lignes affectées sont ré-analysées après l'écriture.
- **Refus en cas de divergence.** Si le fichier source a changé entre l'analyse et la purge, le purgeur refuse plutôt que de risquer d'écraser une modification.
- **Écriture atomique.** Fichier temporaire + échange `os.replace`. Soit la réécriture aboutit, soit l'original reste.
[**📖 Guide complet du scanner de secrets →**](https://github.com/pantheon-security/medusa/blob/main/docs/SECRETS_SCANNER.md)
---
## 🚀 Démarrage rapide
### Installation```bash
# Install MEDUSA (works on Windows, macOS, Linux)
pip install medusa-security
# Run your first scan - that's it!
medusa scan .
Environnement virtuel (recommandé):```bash
python3 -m venv medusa-env source medusa-env/bin/activate # On Windows: medusa-env\Scripts\activate
pip install medusa-security medusa scan .
**Notes sur les plateformes :**
- **Windows** : Utilisez `py -m medusa` si la commande `medusa` n'est pas trouvée
- **macOS/Linux** : Devrait fonctionner sans configuration
### Scanner n'importe quel dépôt GitHub```bash
# Scan a remote repo for AI supply chain attacks
medusa scan --git https://github.com/org/repo
# Shorthand - just user/repo
medusa scan --git org/repo
# Scan a specific branch
medusa scan --git https://github.com/org/repo/tree/main
MEDUSA détecte automatiquement plus de 28 fichiers de configuration d'éditeurs IA qui sont des vecteurs d'attaque connus :
| Niveau de risque | Fichiers détectés |
|---|---|
| Critique (RCE) | .cursorrules, .cursor/mcp.json, .clinerules/, .windsurfrules, .codex/config.toml, .kiro/settings/mcp.json, .vscode/settings.json, mcp.json |
| Élevé | CLAUDE.md, GEMINI.md, AGENTS.md, AGENT.md, SKILL.md, .github/copilot-instructions.md, CONVENTIONS.md, .amazonq/rules/, .roo/rules/, .augment/rules/ |
Attaques connues détectées : Clinejection, CurXecute (CVE-2025-54135), IDEsaster (CVE-2025-64660), ToxicSkills, CamoLeak, RoguePilot, AIShellJack, Cacheract
medusa install --ai-tools
### Facultatif : Linters externes
MEDUSA détecte automatiquement les linters externes s'ils sont installés (bandit, eslint, shellcheck, etc.) et les utilise automatiquement pour améliorer la couverture de scan.
**[Voir le guide d'installation →](https://github.com/pantheon-security/medusa/blob/main/docs/OPTIONAL_TOOLS.md)** pour des instructions spécifiques à chaque plateforme.
> **Note :** Les linters externes sont facultatifs. Les 40,000+ règles intégrées de MEDUSA fonctionnent sans eux. Pour une assistance à l'installation, veuillez vous référer à la documentation de chaque fournisseur d'outil.
### Démo
<div align="center">

</div>
### 📊 Formats de rapport
MEDUSA génère de magnifiques rapports dans plusieurs formats :
**JSON** - Lisible par machine pour l'intégration CI/CD```bash
medusa scan . --format json
HTML - Magnifique interface glassmorphism avec graphiques interactifs```bash medusa scan . --format html
**Markdown** - Adapté à la documentation pour GitHub/wikis```bash
medusa scan . --format markdown
Tous les formats - Générer tout en une fois```bash medusa scan . --format all
---
## 📚 Prise en charge des langues
MEDUSA prend en charge **79 types de scanners** couvrant la sécurité IA/ML, tous les principaux langages de programmation et formats de fichiers :
### Langages backend (9)
| Langage | Scanner | Extensions |
|----------|---------|------------|
| Python | Bandit | `.py` |
| JavaScript/TypeScript | ESLint | `.js`, `.jsx`, `.ts`, `.tsx` |
| Go | golangci-lint | `.go` |
| Ruby | RuboCop | `.rb`, `.rake`, `.gemspec` |
| PHP | Règles natives (+ PHPStan optionnel) | `.php` |
| Rust | Règles natives (+ Clippy optionnel) | `.rs` |
| Java | Checkstyle | `.java` |
| C/C++ | cppcheck | `.c`, `.cpp`, `.cc`, `.cxx`, `.h`, `.hpp` |
| C# | Roslynator | `.cs` |
### Langages JVM (3)
| Langage | Scanner | Extensions |
|----------|---------|------------|
| Kotlin | ktlint | `.kt`, `.kts` |
| Scala | Scalastyle | `.scala` |
| Groovy | CodeNarc | `.groovy`, `.gradle` |
### Langages fonctionnels (5)
| Langage | Scanner | Extensions |
|----------|---------|------------|
| Haskell | HLint | `.hs`, `.lhs` |
| Elixir | Credo | `.ex`, `.exs` |
| Erlang | Elvis | `.erl`, `.hrl` |
| F# | FSharpLint | `.fs`, `.fsx` |
| Clojure | clj-kondo | `.clj`, `.cljs`, `.cljc` |
### Développement mobile (2)
| Langage | Scanner | Extensions |
|----------|---------|------------|
| Swift | SwiftLint | `.swift` |
| Objective-C | OCLint | `.m`, `.mm` |
### Frontend et styles (3)
| Langage | Scanner | Extensions |
|----------|---------|------------|
| CSS/SCSS/Sass/Less | Stylelint | `.css`, `.scss`, `.sass`, `.less` |
| HTML | HTMLHint | `.html`, `.htm` |
| Vue.js | ESLint | `.vue` |
### Infrastructure en tant que code (4)
| Langage | Scanner | Extensions |
|----------|---------|------------|
| Terraform | tflint | `.tf`, `.tfvars` |
| Ansible | ansible-lint | `.yml` (playbooks) |
| Kubernetes | kubeval | `.yml`, `.yaml` (manifests) |
| CloudFormation | cfn-lint | `.yml`, `.yaml`, `.json` (templates) |
### Fichiers de configuration (4)
| Langage | Scanner | Extensions |
|----------|---------|------------|
| JSON | intégré | `.json` |
| TOML | taplo | `.toml` |
| XML | xmllint | `.xml` |
| Protobuf | buf lint | `.proto` |
### Shell et scripts (4)
| Langage | Scanner | Extensions |
|----------|---------|------------|
| Bash/Shell | ShellCheck | `.sh`, `.bash` |
| PowerShell | PSScriptAnalyzer | `.ps1`, `.psm1` |
| Lua | luacheck | `.lua` |
| Perl | perlcritic | `.pl`, `.pm` |
### Documentation (2)
| Langage | Scanner | Extensions |
|----------|---------|------------|
| Markdown | markdownlint | `.md` |
| reStructuredText | rst-lint | `.rst` |
### Autres langages (5)
| Langage | Scanner | Extensions |
|----------|---------|------------|
| SQL | SQLFluff | `.sql` |
| R | lintr | `.r`, `.R` |
| Dart | dart analyze | `.dart` |
| Solidity | solhint | `.sol` |
| Docker | hadolint | `Dockerfile*` |
**Total : 79 types de scanners — 41 scanners langage/outil + 38 scanners de sécurité IA/ML — couvrant plus de 100 extensions de fichiers**
---
## 🚨 Détection de CVE React2Shell (NOUVEAU dans v2025.8)
MEDUSA détecte désormais **CVE-2025-55182 « React2Shell »** — une vulnérabilité RCE de score CVSS 10.0 affectant les composants serveur React et Next.js.```bash
# Check if your project is vulnerable
medusa scan .
# Vulnerable versions detected:
# - React 19.0.0 - 19.2.0 (Server Components)
# - Next.js 15.0.0 - 15.0.4 (App Router)
# - Various canary/rc releases
Scans : package.json, package-lock.json, yarn.lock, pnpm-lock.yaml
Correctif : Mise à niveau vers React 19.0.1+ et Next.js 15.0.5+
MEDUSA fournit une analyse de sécurité IA de pointe avec plus de 40 000 modèles de détection pour l'ère de l'IA agentique. Mis à jour pour OWASP Top 10 pour les applications LLM 2025 et inclut la détection de plus de 200 CVE dans les éditeurs de code IA et les serveurs MCP.
| Catégorie | Modèles | Détecte |
|---|---|---|
| Injection de prompt | 800+ | Injection directe/indirecte, jailbreaks, manipulation de rôle |
| Sécurité des serveurs MCP | 400+ | Empoisonnement d'outils, empoisonnement de schéma, ATPA, injection d'échantillonnage, rug-pull |
| Empoisonnement de dépôt | 150+ | Configurations d'éditeur IA piégées, Clinejection, CurXecute, IDEsaster, CamoLeak |
| Sécurité RAG | 300+ | Injection vectorielle, empoisonnement de documents, isolation des locataires |
| Sécurité des agents | 500+ | Autonomie excessive, empoisonnement de la mémoire, contournement HITL |
| Sécurité des modèles | 400+ | Chargement non sécurisé, exposition des points de contrôle, attaques adverses |
| Chaîne d'approvisionnement | 350+ | Confusion de dépendances, typosquatting, portes dérobées dans les fichiers de verrouillage |
| SAST traditionnel | 1 400+ | Injection SQL, XSS, injection de commandes, secrets |
|
Attaques sur le contexte et les entrées
Attaques sur la mémoire et l'état
Attaques sur les outils et les actions
|
Attaques sur le flux de travail et le routage
Attaques RAG et sur les connaissances
Attaques avancées
|
.cursorrules # Cursor AI (CVE-2025-54135) .cursor/rules/.mdc # Cursor rules directory .cursor/mcp.json # Cursor MCP (CurXecute RCE) .clinerules/.md # Cline (Clinejection) .windsurfrules # Windsurf (CVE-2025-36730) .windsurf/rules/* # Windsurf workspace rules .codex/config.toml # Codex CLI (CVE-2025-61260) .kiro/settings/mcp.json # Kiro (CVE-2026-0830) .vscode/settings.json # VS Code (IDEsaster) *.code-workspace # VS Code workspace mcp.json / .mcp.json # MCP server configs
CLAUDE.md # Claude Code GEMINI.md # Gemini CLI AGENTS.md # OpenAI Codex AGENT.md # Roo Code SKILL.md # ClawHub/ToxicSkills CONVENTIONS.md # Aider .github/copilot-instructions.md # GitHub Copilot .amazonq/rules/.md # Amazon Q Developer .augment/rules/ # Augment Code .roo/rules/.md # Roo Code .tabnine/guidelines/.md # Tabnine .continue/config.yaml # Continue.dev .cody.yml # Sourcegraph Cody
### Analyse de sécurité IA rapide```bash
# Scan AI configuration files
medusa scan . --ai-only
# Example output:
# 🔍 AI Security Scan Results
# ├── .cursorrules: 3 issues (1 CRITICAL, 2 HIGH)
# │ └── AIC001: Prompt injection - ignore previous instructions (line 15)
# │ └── AIC011: Tool shadowing - override default tools (line 23)
# ├── mcp-config.json: 2 issues (2 HIGH)
# │ └── MCP003: Dangerous path - home directory access (line 8)
# └── rag_config.json: 1 issue (1 CRITICAL)
# └── AIR010: Knowledge base injection pattern detected (line 45)
medusa init
medusa scan .
medusa scan /path/to/project
medusa scan . --quick
medusa scan . --force
medusa scan . --workers 4
medusa scan . --fail-on high
medusa scan . -o /tmp/reports
### Commandes d’installation```bash
# Check tool status
medusa install --check
# Install AI tools (modelscan for ML model scanning)
medusa install --ai-tools
# Show detailed output
medusa install --ai-tools --debug
Remarque : MEDUSA v2026.2+ n'installe plus les linters externes. Installez-les via votre gestionnaire de paquets (apt, brew, npm, pip) si nécessaire. MEDUSA détecte automatiquement et utilise tout linter installé.
medusa init
medusa init --ide claude-code
medusa init --ide claude-code --ide gemini-cli --ide cursor
medusa init --ide all
medusa init --force
medusa init --install
### Commandes supplémentaires```bash
# Uninstall modelscan
medusa uninstall modelscan
# Check for updates
medusa version --check-updates
# Show current configuration
medusa config
# Override scanner for specific file
medusa override path/to/file.yaml YAMLScanner
# List available scanners
medusa override --list
# Show current overrides
medusa override --show
# Remove override
medusa override path/to/file.yaml --remove
| Option | Description |
|---|---|
TARGET | Répertoire ou fichier à analyser (par défaut : .) |
-g, --git URL | Clone et analyse un dépôt git distant (URL GitHub ou raccourci user/repo) |
-w, --workers N | Nombre de workers parallèles (par défaut : détection automatique) |
--quick | Analyse rapide (fichiers modifiés uniquement, nécessite git) |
--force | Force une analyse complète (ignore le cache) |
--no-cache | Désactive la mise en cache des résultats |
--fail-on LEVEL | Quitte avec une erreur sur la sévérité : critical, high, medium, low |
-o, --output PATH | Répertoire de sortie personnalisé pour les rapports |
--format FORMAT | Format de sortie : json, html, sarif, junit, text (peut être spécifié plusieurs fois) |
--no-report | Ignore la génération du rapport HTML |
| Option | Description |
|---|---|
--check | Vérifie l'état de l'outil |
--ai-tools | Installe les outils de sécurité IA (modelscan) |
--debug | Affiche une sortie de débogage détaillée |
Changement v2026.2+ : MEDUSA ne gère plus l'installation des linters externes. L'option
--allest obsolète. Installez les linters externes via votre gestionnaire de paquets système si nécessaire.
.medusa.ymlMEDUSA utilise un fichier de configuration YAML pour les paramètres spécifiques au projet :```yaml
version: 2026.5.5
scanners: enabled: [] # Empty = all scanners enabled disabled: [] # List scanners to disable
fail_on: high # critical | high | medium | low
exclude: paths: - node_modules/ - venv/ - .venv/ - .git/ - pycache/ - dist/ - build/ files: - ".min.js" - ".min.css"
ide: claude_code: enabled: true auto_scan: true cursor: enabled: false vscode: enabled: false
workers: null # null = auto-detect CPU cores cache_enabled: true # Enable file caching for speed
### Générer la configuration par défaut```bash
medusa init
This creates .medusa.yml with sensible defaults and auto-detects your IDE.
MEDUSA prend en charge 5 principaux assistants de codage IA avec des intégrations natives. Initialisez avec medusa init --ide all ou sélectionnez des plateformes spécifiques.
| IDE | Fichier de contexte | Commandes | Statut |
|---|---|---|---|
| Claude Code | CLAUDE.md | /medusa-scan, /medusa-install | ✅ Prise en charge complète |
| Gemini CLI | GEMINI.md | /scan, /install | ✅ Prise en charge complète |
| OpenAI Codex | AGENTS.md | Native slash commands | ✅ Prise en charge complète |
| GitHub Copilot | .github/copilot-instructions.md | Code suggestions | ✅ Prise en charge complète |
| Cursor | Reuses CLAUDE.md | MCP + Claude commands | ✅ Prise en charge complète |
medusa init --ide all
medusa init --ide claude-code --ide gemini-cli
### Claude Code
**Ce qu'il crée:**
- `CLAUDE.md` - Fichier de contexte du projet
- `.claude/agents/medusa/agent.json` - Configuration de l'agent
- `.claude/commands/medusa-scan.md` - Commande slash de scan
- `.claude/commands/medusa-install.md` - Commande slash d'installation
**Utilisation:**```
Type: /medusa-scan
Claude: *runs security scan*
Results: Displayed in terminal + chat
Ce qu'il crée :
GEMINI.md - Fichier de contexte du projet.gemini/commands/scan.toml - Configuration de la commande scan.gemini/commands/install.toml - Configuration de la commande installUtilisation :```bash gemini /scan # Full scan gemini /scan --quick # Quick scan gemini /install --check # Check tools
### OpenAI Codex
**Ce qu'il crée :**
- `AGENTS.md` - Contexte du projet (niveau racine)
**Utilisation :**```
Ask: "Run a security scan"
Codex: *executes medusa scan .*
Ce qu'il crée :
.github/copilot-instructions.md - Normes de sécurité et bonnes pratiquesComment il aide :
Ce qu'il crée :
.cursor/mcp-config.json - Configuration du serveur MCP.claude/ (Cursor est un fork de VS Code)Utilisation :
MEDUSA surveille automatiquement la charge système et ajuste le nombre de workers :```python
⚠️ High CPU usage: 85.3% Using 2 workers (reduced due to system load)
### Mise en cache intelligente
La mise en cache basée sur les hachages ignore les fichiers inchangés :```bash
# First scan
📂 Files scanned: 145
⏱️ Total time: 47.28s
# Second scan (no changes)
📂 Files scanned: 0
⚡ Files cached: 145
⏱️ Total time: 2.15s # 22× faster!
Analyse multicœur pour des accélérations massives :``` Single-threaded: 417.5 seconds 6 workers: 47.3 seconds # 8.8× faster 24 workers: ~18 seconds # 23× faster
---
## 📊 Exemple de flux de travail
### Configuration d'un nouveau projet```bash
# 1. Initialize
cd my-awesome-project
medusa init
🐍 MEDUSA Initialization Wizard
✅ Step 1: Project Analysis
Found 15 language types
Primary: PythonScanner (44 files)
✅ Step 2: Scanner Availability
Available: 6/79 scanners
Missing: 73 tools
✅ Step 3: Configuration
Created .medusa.yml
Auto-detected IDE: Claude Code
✅ Step 4: IDE Integration
Created .claude/agents/medusa/agent.json
Created .claude/commands/medusa-scan.md
✅ MEDUSA Initialized Successfully!
# 2. First scan
medusa scan .
🔍 Issues found: 23
CRITICAL: 0
HIGH: 2
MEDIUM: 18
LOW: 3
# 3. Fix issues and rescan
medusa scan . --quick
⚡ Files cached: 142
🔍 Issues found: 12 # Progress!
name: Security Scan
on: [push, pull_request]
jobs: medusa: runs-on: ubuntu-latest steps: - uses: actions/checkout@v3
- name: Set up Python
uses: actions/setup-python@v4
with:
python-version: '3.11'
- name: Install MEDUSA
run: pip install medusa-security
- name: Run security scan
run: medusa scan . --fail-on high
> **Remarque**: Aucune étape d'installation d'outil n'est nécessaire - les 40 000+ règles intégrées de MEDUSA fonctionnent immédiatement.
---
## 🏗️ Architecture
### Modèle de scanner
Tous les scanners suivent un modèle cohérent:```python
class PythonScanner(BaseScanner):
"""Scanner for Python files using Bandit"""
def get_tool_name(self) -> str:
return "bandit"
def get_file_extensions(self) -> List[str]:
return [".py"]
def scan_file(self, file_path: Path) -> ScannerResult:
# Run bandit on file
# Parse JSON output
# Map severity levels
# Return structured issues
return ScannerResult(...)
Les scanners s'enregistrent automatiquement :```python
registry = ScannerRegistry() registry.register(PythonScanner()) registry.register(JavaScriptScanner())
### Mappage des sévérités
Niveaux de sévérité unifiés pour tous les outils :
- **CRITICAL** - Vulnérabilités de sécurité, erreurs fatales
- **HIGH** - Erreurs, alertes de sécurité
- **MEDIUM** - Avertissements, problèmes de qualité de code
- **LOW** - Problèmes de style, conventions
- **INFO** - Suggestions, opportunités de refactorisation
---
## 🧪 Tests et qualité
### Résultats de dogfooding
MEDUSA s'analyse elle-même — ainsi que des projets réels :```
Self-scan (473 files):
✅ Issues found: 114 (pre-filter) → 0 (post-filter)
✅ FP reduction: 100% on own codebase
⏱️ Time: 8.2s
OpenClaw benchmark (4,124 files, 751K LOC):
🔍 Issues found: 825 (post-filter)
✅ FPs filtered: 11,436 (93.9% reduction)
⏱️ Time: 3.3 hours (79 scanners)
| Taille du projet | Fichiers | Temps | Vitesse |
|---|---|---|---|
| Petit (auto-scan MEDUSA) | 473 | ~8s | 59 files/s |
| Moyen | 1,000 | ~45s | 22 files/s |
| Grand (OpenClaw) | 4,124 | ~3.3h | 0.34 files/s* |
*La durée des grands projets est dominée par les sous-processus d'outils externes (Semgrep, Trivy, GitLeaks). L'analyse de motifs intégrée est quasi instantanée.
medusa scan --git <URL> - Analyse de n'importe quel dépôt GitHub à la recherche d'attaques sur la chaîne d'approvisionnement en IANous accueillons volontiers les contributions ! Voici comment commencer :```bash
git clone https://github.com/yourusername/medusa.git cd medusa
python -m venv .venv
source .venv/bin/activate # or .venv\Scripts\activate on Windows
pip install -e ".[dev]"
pytest
git checkout -b feature/my-awesome-feature
medusa scan . # Dogfood your changes!
git push origin feature/my-awesome-feature
### Ajout de nouveaux scanners
Consultez `docs/development/adding-scanners.md` pour un guide sur l'ajout de la prise en charge de nouveaux langages.
---
### 📜 Licence
AGPL-3.0-or-later - Voir le fichier [LICENSE](https://github.com/pantheon-security/medusa/blob/main/LICENSE)
MEDUSA est un logiciel libre et open source. Vous pouvez l'utiliser, le modifier et le distribuer librement, mais toute modification ou œuvre dérivée (y compris les déploiements SaaS) doit également être publiée sous licence AGPL-3.0.
Pour les options de licence commerciale, contactez : [email protected]
---
### Bientôt disponible
MEDUSA Professional ajoute une **protection à l'exécution** pour les applications LLM de production - bloquant les tentatives d'injection de prompt, de jailbreak et d'exfiltration de données en temps réel avant qu'elles n'atteignent vos modèles.
| Fonctionnalité | Open Source | Professional | Enterprise |
|---------|-------------|--------------|------------|
| Analyse statique (40,000+ motifs) | Oui | Oui | Oui |
| Filtres de proxy d'exécution (1,100+) | - | Oui | Oui |
| API REST et webhooks | - | Oui | Oui |
| Règles personnalisées et SSO | - | - | Oui |
| **Prix** | Gratuit | $99/dev/mo | $499/50 devs/mo |
Le proxy d'exécution est actuellement en bêta privée. Si vous protégez des applications LLM de production et souhaitez un accès anticipé, contactez **[email protected]**.
---
### 🙏 Crédits
**Développement :**
- Pantheon Security
- Claude AI (Anthropic) - développement assisté par IA
**Développé avec :**
- Python 3.10+
- Click - framework CLI
- Rich - formatage du terminal
- Bandit, ESLint, ShellCheck et 39+ autres outils de sécurité open source
**Inspiré par :**
- Bandit (sécurité Python)
- SonarQube (analyse multilingue)
- Semgrep (sécurité basée sur des motifs)
- Mega-Linter (linting complet)
---
### 📖 Guides
- **[Démarrage rapide](https://github.com/pantheon-security/medusa/blob/main/docs/guides/quick-start.md)** - Prise en main en 5 minutes
- **[Analyse de sécurité IA](https://github.com/pantheon-security/medusa/blob/main/docs/AI_SECURITY.md)** - Guide complet de la sécurité IA/LLM (OWASP 2025, MCP, RAG)
- **[Gérer les faux positifs](https://github.com/pantheon-security/medusa/blob/main/docs/guides/handling-false-positives.md)** - Réduire le bruit, trouver les vrais problèmes
- **[Intégration IDE](https://github.com/pantheon-security/medusa/blob/main/docs/guides/ide-integration.md)** - Configuration de Claude Code, Gemini, Copilot
---
### 📞 Support
- **Problèmes GitHub** : [Signaler des bogues ou demander des fonctionnalités](https://github.com/Pantheon-Security/medusa/issues)
- **E-mail** : [email protected]
- **Documentation** : https://docs.pantheonsecurity.io
- **Discord** : https://discord.gg/medusa (bientôt disponible)
---
### 📈 Statistiques
**Version** : 2026.5.5
**Date de sortie** : 2026-04-03
**Motifs de détection** : 40,000+ règles de sécurité IA
**Analyseurs** : 79 scanners spécialisés
**Motifs de filtrage FP** : 514 filtres intelligents (taux de réduction de 96.8%)
**Couverture CVE** : 200 vulnérabilités critiques (37+ CVE d'éditeurs IA)
**Empoisonnement de dépôt** : 28+ types de fichiers de configuration d'éditeurs IA détectés
**Couverture des langages** : 46+ types de fichiers
**Plateformes prises en charge** : Linux, macOS, Windows
**Intégration IA** : Claude Code, Gemini CLI, GitHub Copilot, Cursor, OpenAI Codex
**Normes** : OWASP Top 10 for LLM 2025, MITRE ATLAS
**Téléchargements** : 11,500+ sur PyPI
---
### 🌟 Pourquoi MEDUSA ?
### vs. Bandit
- ✅ 40,000+ motifs (pas seulement la sécurité Python)
- ✅ Couverture de sécurité IA/ML
- ✅ Aucune configuration requise
- ✅ Intégration IDE
### vs. SonarQube
- ✅ Configuration plus simple (`pip install && scan`)
- ✅ Aucun serveur requis
- ✅ Focus sécurité IA avant tout
- ✅ Gratuit et open source
### vs. Semgrep
- ✅ Règles spécifiques IA/ML intégrées
- ✅ MCP, RAG, sécurité des agents
- ✅ Meilleure intégration IDE
- ✅ Aucune configuration de règles nécessaire
### vs. SAST traditionnel
- ✅ Fonctionne immédiatement (aucune installation d'outil)
- ✅ Motifs de sécurité IA inclus
- ✅ Traitement parallèle
- ✅ Mise en cache intelligente
---
**🐍🐍🐍 MEDUSA - Scanner de sécurité multi-langages 🐍🐍🐍**
**Une seule commande. Sécurité complète.**```bash
medusa init && medusa scan .
Dernière mise à jour: 2026-04-03 Statut: Prêt pour la production Version actuelle: v2026.5.5 - Durcissement de la sécurité