Scanner SAST alimenté par l'IA qui détecte les contournements d'authentification, les IDOR et les bugs logiques que Semgrep/CodeQL manquent. Action GitHub gratuite. Prend en charge Python, JS/TS, Go, PHP, Ruby.
Scanner de sécurité de code alimenté par l'IA qui trouve les vulnérabilités que Semgrep et CodeQL manquent.
Démarrage rapide • Action GitHub • Comparaison • Langages • FAQ
Les outils SAST traditionnels reposent sur la correspondance de motifs et les règles de l'AST. Ils excellent pour détecter les motifs de vulnérabilités connus, mais ils ne peuvent fondamentalement pas raisonner sur l'intention.
Si votre API a 20 points de terminaison et que 19 d'entre eux vérifient l'autorisation avant d'agir sur une ressource, Semgrep n'a aucun moyen de signaler celui qui ne le fait pas – car il n'y a aucun motif à faire correspondre. La vulnérabilité est l'absence d'un motif.
VulnHawk analyse le code avec l'IA et, pour chaque morceau de code examiné, il inclut le code connexe provenant d'autres endroits de votre codebase comme contexte. Cette étape d'enrichissement permet à l'IA de comparer comment des composants similaires gèrent la sécurité – et de repérer celui qui ne le fait pas.
pip install vulnhawk
Choisissez un backend :
# Claude Code CLI – GRATUIT pour les abonnés (recommandé)
vulnhawk scan ./src -b claude-code
# Codex CLI – GRATUIT pour les abonnés ChatGPT Pro/Plus
vulnhawk scan ./src -b codex
# Claude API
export ANTHROPIC_API_KEY=sk-ant-...
vulnhawk scan ./src
# OpenAI API
vulnhawk scan ./src -b openai -m gpt-4o
# Ollama – gratuit, local, totalement privé
vulnhawk scan ./src -b ollama -m llama3.1
Pas de fichiers de configuration. Pas de règles à écrire. Pas de base de données à construire.
Les backends Claude Code et Codex sont gratuits pour les utilisateurs disposant d'abonnements existants. VulnHawk transmet les prompts via votre CLI locale, il n'y a donc aucun coût API supplémentaire.
| Capacité | VulnHawk | Semgrep | CodeQL | Snyk Code | Checkmarx | SonarQube |
|---|---|---|---|---|---|---|
| Méthode de détection | Raisonnement IA | Motifs AST | Flux de données QL | ML + règles | Motifs + flux | Motifs |
| Défauts de logique métier | Oui | Non | Limité | Limité | Limité | Non |
| Contexte inter-fichier | Automatique | Règles personnalisées | Requêtes personnalisées | Partiel | Niveau payant | Limité |
| Complexité de configuration | Zéro config | Configuration de règles | Construction DB + QL | Fichier de config | Complexe | Configuration serveur |
| Règles personnalisées requises | Non | Oui (YAML) | Oui (QL) | Partiel | Oui | Oui |
| Corrections contextuelles | Oui | Génériques | Génériques | Génériques | Génériques | Génériques |
| Mode local / privé | Ollama | Oui | Oui | Non | Non | Auto-hébergé |
| Intégration CI/CD | Action 1 ligne | Action | Action | Action | Plugin | Plugin |
| Entrée SARIF (chaîne d'outils) | Oui | Non | Non | Non | Non | Non |
| Tarification | Gratuit* | Gratuit / Payant | Gratuit / Payant | Gratuit / $$$ | $$$$$ | Gratuit / $$$ |
*Gratuit avec Claude Code, Codex CLI ou Ollama. Les backends API coûtent environ 0,50 $ à 2,00 $ par analyse.
| Classe de vulnérabilité | Pourquoi les outils basés sur des règles la manquent |
|---|---|
| Autorisation manquante sur 1 des N points de terminaison | Aucun motif à faire correspondre – le bogue est l'absence d'une vérification |
| IDOR / BOLA | Nécessite de comprendre que l'ID utilisateur dans le JWT doit correspondre à l'ID dans l'URL |
| Manipulation du montant du paiement | Logique métier – le champ de montant ne devrait pas être fiable côté client |
| Validation d'entrée incohérente | 5 gestionnaires nettoient, le 6e ne le fait pas – nécessite une comparaison inter-fichier |
| Mauvaise utilisation des entrées stockées | Entrée sauvegardée en toute sécurité, mais eval() ou SQL brut 3 fichiers plus loin |
| Conditions de concurrence dans les mises à jour d'état | Modifications simultanées du solde sans verrouillage |
VulnHawk est conçu comme une couche complémentaire, pas un remplacement :
| Couche | Outil | Objectif |
|---|---|---|
| 1 | Semgrep | Passerelle rapide et déterministe sur les motifs connus de mauvaise qualité |
| 2 | CodeQL | Suivi de taint profond à travers des chaînes d'appel complexes |
| 3 | VulnHawk | Logique métier, lacunes d'authentification, IDOR et incohérences que les règles ne peuvent pas exprimer |
vulnhawk scan ./src # Analyse complète (par défaut)
vulnhawk scan ./src --mode auth # Contournement d'authentification, vérifications manquantes, défauts de session
vulnhawk scan ./src --mode injection # SQLi, injection de commandes, SSTI, XSS
vulnhawk scan ./src --mode secrets # Clés, tokens, mots de passe codés en dur
vulnhawk scan ./src --mode config # Mode débogage, CORS permissif, cookies non sécurisés
vulnhawk scan ./src --mode crypto # Hachage faible, clés codées en dur, mauvais RNG
vulnhawk scan ./src -o json -f results.json # JSON
vulnhawk scan ./src -o sarif -f results.sarif # SARIF (Analyse de code GitHub)
vulnhawk scan ./src -o markdown -f report.md # Rapport Markdown
vulnhawk scan ./src --severity high # Critique + Élevé uniquement
vulnhawk scan ./src --severity info # Tout
Alimentez la sortie de Semgrep, CodeQL ou de tout outil produisant du SARIF dans VulnHawk. Il utilise ces résultats comme contexte supplémentaire pour valider, étendre et enchaîner en vulnérabilités plus profondes.
# Exécutez d'abord Semgrep, puis enrichissez avec VulnHawk
semgrep --config auto ./src -o semgrep.sarif --sarif
vulnhawk scan ./src --sarif-input semgrep.sarif
Ce que cela permet :
vulnhawk info ./src # Prévisualiser les fichiers, morceaux et répartition des langages