
Plateforme open-source de test de sécurité web : proxy, scanner et fuzzer dans une seule CLI. Par Pennacle Security.
Une CLI scriptable unique pour les tests de sécurité web : scanner, proxy d'interception TLS, fuzzer, tests d'autorisation, analyse WAF, détection de détournement de liens, conditions de course, surveillance planifiée et reconnaissance.
Plus de 58 vérifications réparties en 11 familles, 37 modèles YAML inclus, fuzzing de payloads de style Intruder et une cartographie de la surface d'attaque sans trafic. Gratuit là où les équivalents sont payants - par Pennacle Security.
Nous utilisons Burp et ZAP tous les jours. Nous avons aussi continuellement voulu trois choses qu'ils ne sont pas : un scanner que nous pouvons scripter dans la CI, des résultats qui nous indiquent leur niveau de certitude, et une base de code suffisamment petite pour être lue d'une traite. Summit dispose désormais de plus de 58 vérifications réparties en 11 familles, d'une cartographie de la surface d'attaque en une seule commande, d'un fuzzing de payloads qui parle le format de fichier Intruder, et d'un proxy qui déchiffre le HTTPS avec une AC qu'il génère lui-même. Summit est cet outil - v2.1.0, MIT, construit ouvertement. Trois dépendances principales (requests, pyyaml, packaging) plus une optionnelle (cryptography, uniquement pour l'interception TLS), toutes FLOSS, toutes standard.
Documentation complète : pennacle-security.github.io/summit
Des capacités qui se trouvent habituellement derrière des outils payants, plus le cœur du scan :
| Capacité | Summit | La voie habituelle |
|---|---|---|
| Test de contrôle d'accès défaillant (BOLA/IDOR) | summit authorize | Extension de type Autorize / workflows payants |
| Découverte de paramètres cachés | summit mine | Extension de type Param Miner |
| Scan piloté par OpenAPI | summit scan --openapi | extensions |
| Empreinte WAF + sondage de contournement | intégré | partiel / extensions |
| Cartographie de la surface d'attaque | summit map | extensions / workflows payants |
| SQLi, XSS, redirection, traversée, prise de contrôle, host header, CORS | intégré | scanners de base (gratuits) |
| Chaîne de reconnaissance : subfinder -> httpx -> nmap | summit recon | assemblage manuel |
| Détection de conditions de course | summit race | Burp Turbo Intruder (payant) |
| Fuzzing de payloads de style Intruder | summit fuzz --request | payant (Intruder) |
| Proxy d'interception TLS | summit proxy --tls-intercept | cœur payant |
| Scans planifiés avec diff par tour | summit schedule | cron + scripts d'assemblage |
| Audit de certificat TLS | summit tls | manuel / sslscan |
| Limitation de débit, nouvelles tentatives, boîte à outils JWT/encodeur | intégré | extensions / payant |
| Résultats prêts pour la CI, étiquetés par confiance, marqués CWE/CVE | tout l'intérêt | automatisation payante |
| Sortie SARIF + JUnit XML | intégré | reporting payant |
| Binaires précompilés (linux/amd64, arm64, windows) | chaque version | N/A |
Chaque résultat porte une étiquette de confiance - confirmed (un fait observé), likely (preuves solides), needs-manual (une heuristique à vérifier par un humain) ou info - et l'étiquette plafonne la sévérité, de sorte qu'une supposition ne peut jamais se faire passer pour critique. Cette distinction traverse l'ensemble de l'outil.
git clone https://github.com/pennacle-security/summit.git
cd summit
pip install -e .
Python 3.10+. Dépendances : requests, pyyaml, packaging - toutes FLOSS, toutes standard.
Installer depuis PyPI :
pip install summit-scanner
Ou depuis la source :
git clone https://github.com/pennacle-security/summit.git
cd summit
pip install -e .
Binaires précompilés disponibles sur chaque release :
summit-linux-amd64 - Linux x86_64 (Ubuntu 20.04+, Debian 11+, RHEL 8+)summit-linux-arm64 - Linux ARM64 (AWS Graviton, Raspberry Pi 4+, Apple Silicon)summit-windows-amd64.exe - Windows 10+ / Windows Server 2019+Aucune installation de Python n'est requise pour les binaires.
Ensuite, observez-le fonctionner contre une cible locale délibérément vulnérable :
python examples/vuln_app.py # terminal 1 - the target (127.0.0.1 only)
summit map http://127.0.0.1:8765 # attack-surface map, no attack traffic
summit scan http://127.0.0.1:8765 # terminal 2 - the scan
Une passe plus complète sur un engagement réel se présente comme suit :
summit recon target.com --json recon.json # subdomains -> hosts -> ports
summit scan https://target.com --depth 2 --rate 10 # crawl + all checks
summit scan --openapi api-spec.json # API: scan what the spec admits to
summit authorize https://target.com/admin?user=1 \
--role 'admin=Cookie: session=abc' \
--role 'user=Cookie: session=xyz' # BOLA/IDOR testing
Chaque affirmation sur cette page est reproduite par examples/evidence.py - il exécute la cible de démonstration en direct, mesure chaque fonctionnalité et affiche PASS/FAIL avec les chiffres réels. La CI l'exécute à chaque push ; une affirmation qui cesse de tenir fait échouer le build.
python examples/evidence.py)