
Scanner de sécurité d'API asynchrone en Rust pour CORS, CSP, GraphQL, JWT, OpenAPI et les contrôles de posture d'API active.
Si ce projet vous aide dans votre travail, soutenez la maintenance continue et les nouvelles fonctionnalités.
Portefeuille de don ETH
0x11282eE5726B3370c8B480e321b3B2aA13686582
Scannez le QR code ou copiez l'adresse du portefeuille ci-dessus.
Scanner de sécurité API asynchrone et modulaire pour les tests de référence API et la détection de régressions.
Il combine la découverte à des contrôles ciblés (CORS/CSP/GraphQL/OpenAPI/JWT/Sécurité API) grâce à une concurrence adaptative et des sorties prêtes pour la CI (NDJSON/SARIF).
Cas d'usage : offensif pour la découverte en red team / pentest d'API et la validation d'exploits, et défensif pour les portes de régression CI/CD, le durcissement continu des API et la détection précoce des mauvaises configurations.
Vous scannez à grande échelle ? Consultez le Mode Triage — scannez 5 000 cibles en 20 minutes avec les contrôles de sécurité essentiels, puis utilisez le Mode Enrich pour ajouter un contexte de renseignement sur les menaces (ports, CVE, ASN, âge du domaine) aux résultats.
ApiHunterapihunterapi_scannerapihunter (par défaut pour cargo run)Définissez-les dans les paramètres du dépôt GitHub pour une meilleure découvrabilité :
Async API security scanner for CORS/CSP/GraphQL/JWT/OpenAPI and active API posture checks.https://github.com/Teycir/ApiHunterrust, security, api-security, scanner, graphql, cors, csp, jwt, openapi, sarif, ndjsonflowchart LR A[CLI apihunter] --> B[main.rs] D[Input Sources] --> E[Pre-filter + Discovery] B --> C[HttpClient + Config] E --> F[runner.rs] C --> F
F --> G1[Passive scanners]
F --> G2[Active scanners]
I[template-tool] --> H[CVE templates]
H --> G2
G1 --> J[Findings]
G2 --> J
J --> K[Reporter]
K --> L[Auto Reports]
K --> M[CI/CD Controls]
## Pourquoi ApiHunter ?
### Avantages principaux
- **Architecture orientée API** : conçu spécifiquement pour les API REST/GraphQL, pas adapté de scanners d'applications web
- **Réduction intelligente des faux positifs** :
- Détection SPA catch-all avec sondes canaries
- Validation contextuelle des secrets (frontend vs backend)
- Validation du contenu du corps et vérification du referer
- Empreintes de réponse pour ignorer les résultats en double
- **Conçu pour être sûr en production** :
- Concurrence adaptative (AIMD) qui réduit en cas d'erreurs
- Limitation de débit par hôte avec délais configurables
- Contrôles de politesse (nouvelles tentatives, délais d'attente, évasion WAF)
- Mode dry-run pour les contrôles actifs
- **Furtivité et évasion** :
- Rotation du User-Agent à l'exécution depuis un pool soigneusement sélectionné (assets/user_agents.txt)
- Délais de requête aléatoires avec jitter
- Application du délai par hôte (évite les rafales)
- Logique de nouvelle tentative avec backoff exponentiel
- Injection d'en-têtes personnalisés pour se fondre dans le trafic légitime
- Synchronisation adaptative selon les réponses du serveur
- Aucune empreinte de scanner codée en dur en mode par défaut
### Plongée dans les techniques de furtivité
ApiHunter utilise plusieurs techniques de furtivité pour éviter la détection par les WAF (Web Application Firewall) et les systèmes de protection anti-bots :
#### 1. Rotation du User-Agent
**Ce que ça fait :** Alterne aléatoirement parmi plus de 100 chaînes de User-Agent de navigateurs réels provenant d'un fichier (`assets/user_agents.txt`)
**Pourquoi ça marche :** Les bots utilisent généralement le même User-Agent (comme `curl/7.68.0`). En se faisant passer pour Chrome, Firefox, Safari, etc., vous vous fondez dans le trafic légitime