Skip to content
KitploitKITPLOIT
StrumentiBlog
Invia
StrumentiBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

··Feed·Contatto·Privacy·© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
auth-header-trust-rules — Regole Semgrep che segnalano pattern di bypass di autenticazione header-trust (classe CVE-2025-29927). Complemento di bk-security.github.io. | Kitploit
Strumenti/GitHubGitHub/bk-security/auth-header-trust-rules
Autenticazione e AutorizzazioneAnalisi Statica del Codice (SAST)Analisi delle VulnerabilitàAnalisi del CodiceSicurezza WebApprendimento e Formazione
GitHubbk-security/auth-header-trust-rules

auth-header-trust-rules

Regole Semgrep che segnalano pattern di bypass di autenticazione header-trust (classe CVE-2025-29927). Complemento di bk-security.github.io.

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
Condividi
Vedi Repository
3 mesi faNon ancora revisionato

auth-header-trust-rules

Un piccolo pacchetto di regole Semgrep che segnala codice che prende decisioni di autenticazione, autorizzazione o fiducia basate su intestazioni di richiesta HTTP che un attaccante controlla.

L'esempio canonico di questa classe di vulnerabilità è CVE-2025-29927: Next.js confidava nell'intestazione x-middleware-subrequest per decidere se il middleware veniva eseguito, e qualsiasi richiesta in entrata che forniva un valore manipolato poteva saltare completamente il middleware. La stessa forma si ripresenta in vari framework ed ecosistemi.

Questo pacchetto include regole per due famiglie di linguaggi e tre sottoclassi del bug. È pensato come aiuto per la revisione del codice, non come un gate CI completamente ottimizzato. Le regole privilegiano il richiamo rispetto alla precisione e sono meglio eseguite in modo interattivo, con un essere umano che prende la decisione su ogni risultato.

Per una descrizione più approfondita della classe di vulnerabilità e delle scelte progettuali alla base di questo pacchetto, vedere bk-security.github.io.

Inventario delle regole

RegolaLinguaggioGravitàCattura
nodejs-header-flag-auth-bypassJS / TSAvvisoLetture di intestazioni il cui nome suggerisce uso di protocollo interno o bypass dell'autenticazione (x-internal, x-bypass-auth, x-middleware-subrequest, x-admin-override, x-impersonate, ecc.)
nodejs-header-as-identityJS / TSAvvisoLetture di intestazioni convenzionalmente usate per trasportare l'identità dell'utente (x-forwarded-user, x-authenticated-user, x-remote-user, ecc.)
nodejs-forwarded-for-trustJS / TSInfoLetture di x-forwarded-for, x-real-ip e simili intestazioni IP sorgente comunemente fidate per decisioni di sicurezza
python-header-flag-auth-bypassPythonAvvisoStessa della variante Node.js, incluso l'accesso request.META["HTTP_X_*"] in stile Django
python-header-as-identityPythonAvvisoStessa della variante Node.js, versione Python
python-forwarded-for-trustPythonInfoStessa della variante Node.js, versione Python

Avvio rapido

Installa Semgrep:

root@kitploit:~
pip install semgrep

Esegui il pacchetto su un target:

root@kitploit:~
semgrep --config /path/to/auth-header-trust-rules/rules /path/to/target

Oppure esegui una singola regola:

root@kitploit:~
semgrep --config /path/to/auth-header-trust-rules/rules/nodejs/header-flag-auth-bypass.yaml /path/to/target

Convalida le regole rispetto ai fixture inclusi:

root@kitploit:~
semgrep --test --config rules/ tests/

Output previsto:

root@kitploit:~
6/6: ✓ All tests passed

Cosa le regole cattureranno e non cattureranno

Le regole fanno match su una lista curata di nomi di intestazioni note per essere pericolose quando sono fidate. Cattureranno i casi comuni. Non cattureranno:

  • Framework in cui la lettura dell'intestazione è nascosta all'interno di una funzione helper il cui nome non contiene la stringa dell'intestazione. Un helper personalizzato chiamato getInternalFlag(req) che legge x-some-novel-name passerà le regole.
  • Nomi di intestazioni non presenti nella lista curata. La classe CVE-2025-29927 può in linea di principio usare qualsiasi nome di intestazione; ci incliniamo a favore del richiamo includendo pattern come x-internal-*, x-trust-* e x-bypass-*, ma nuovi nomi sfuggiranno.
  • Decisioni di autenticazione basate su cookie, parametri della query o campi del corpo della richiesta. Questi sono la stessa classe di vulnerabilità ma richiedono regole proprie.
  • Decisioni di autenticazione basate sull'assenza di un'intestazione. Alcune applicazioni saltano i controlli di autenticazione quando un'intestazione non è presente (un pattern di whitelist malconfigurato). Le regole attuali sono basate sulla lettura e l'uso, non sull'assenza.

Quando si estende il pacchetto per un codebase specifico, le aggiunte di maggior valore sono solitamente pattern di funzione helper specifici del framework. Se un codebase ha un helper isInternalRequest(req), la regola che lo cattura è una riga di YAML.

Aggiungere una regola

  1. Crea la regola sotto rules/<lang>/<name>.yaml.
  2. Crea un fixture di test sotto tests/<lang>/<name>.<ext> con esempi positivi annotati # ruleid: <rule-id> ed esempi negativi annotati # ok: <rule-id>.
  3. Esegui semgrep --test --config rules/ tests/. La nuova regola e il fixture verranno rilevati automaticamente; i test devono superare prima di inviare una modifica.

Licenza

MIT.

Autore

Bruce Kang. Il codice sorgente per il post del blog complementare si trova su bk-security.github.io.

Scarica lo strumento