Skip to content
KitploitKITPLOIT
StrumentiExploitsBlog
Log in
Invia
StrumentiExploitsBlog
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.

FeedContattoPrivacy© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
deepsecrets — Scanner offline di segreti che combina regole regex, analisi semantica basata su lexer e corrispondenza di valori hash per rilevare credenziali esposte nel codice con output SARIF. | Kitploit
Strumenti/GitHubGitHub/ntoskernel/deepsecrets
Strumenti DifensiviAnalisi StaticaScanner di VulnerabilitàAnalisi Statica del Codice (SAST)Analisi del CodiceDevSecOpsRilevamento SegretiSicurezza della Supply Chain
GitHubntoskernel/deepsecrets

deepsecrets

Scanner offline di segreti che combina regole regex, analisi semantica basata su lexer e corrispondenza di valori hash per rilevare credenziali esposte nel codice con output SARIF.

18418525 giorni faRevisionato da Kitploit

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 →
Vedi Repository
Condividi

OWASP DeepSecrets — uno strumento migliore per la scansione dei segreti

Tests Status

Cos'è? Un altro proxy CLI che spreca token verso un'API di IA?

Assolutamente no!

Nella nostra era dell'hype per gli LLM, DeepSecrets funziona ancora interamente sulla tua macchina — offrendoti ottimi risultati offline, in modo sicuro e gratuitamente.

Quindi perché un altro strumento?

La maggior parte degli scanner esistenti non "comprende" davvero il codice. Si limitano ad analizzare i testi e hanno una copertura scarsa.

DeepSecrets colma il divario tra gli scanner regex classici e gli strumenti SAST commerciali su larga scala. Estende la classica strategia di scansione basata su regex facendo ampio affidamento sull'analisi semantica del codice, sul rilevamento di variabili pericolose e sull'analisi dell'entropia consapevole del contesto. Ciò significa che i candidati segreti sono sempre semanticamente corretti. Otteniamo una vera comprensione del codice in oltre 500 linguaggi e formati utilizzando tecniche di lexing e parsing.

DeepSecrets introduce anche un nuovo modo per trovare credenziali con conoscenza zero: l'HashedSecret Engine. Basta fornire i valori hash dei tuoi segreti di produzione noti e lo strumento li troverà esposti in testo in chiaro all'interno del tuo codice.

Prestazioni e Benchmark (SecretBench)

DeepSecrets v2.0 è stato valutato (giugno 2026) rispetto al benchmark SecretBench, superando gli scanner tradizionali basati su testo piatto:

  • 93% di Recall
  • 8% di tasso di falsi positivi nell'ambito di SecretBench
  • ~9K risultati aggiuntivi al di fuori dell'ambito di SecretBench

(Puoi leggere la storia completa dietro le quinte e l'analisi dei benchmark nel mio articolo su HackerNoon qui)

Guida rapida

Installazione

Da Github tramite pip

$ pip install git+https://github.com/ntoskernel/deepsecrets.git

Da PyPi

$ pip install deepsecrets

DeepSecrets richiede Python 3.11 o versione successiva.

Scansione

Il modo più semplice per eseguire una scansione:

$ deepsecrets --target-dir /path/to/your/code --outformat dojo-sarif --outfile report.json

Questo eseguirà una scansione su /path/to/your/code utilizzando la configurazione predefinita:

  • Regex utilizzando il ruleset integrato
  • Controlli semantici (rilevamento di variabili, controlli di entropia)

Un report in formato SARIF (compatibile con DefectDojo e GitHub Security) verrà salvato in report.json.

Fine-Tuning

Il comando --help è sempre pronto a guidarti, ma ecco i flag principali che puoi usare per adattare la scansione al tuo ambiente:

  • --regex-rules /path/to/rules.json: Fornisci il tuo ruleset regex personalizzato.
  • --hashed-values /path/to/hashes.json: Fornisci un elenco di segreti di produzione noti pre-hashati per cercarli in modo sicuro.
  • --excluded-paths /path/to/exclusions.json: Sovrascrivi o estendi i percorsi predefiniti ignorati durante la scansione.
  • --deep-max-size BYTES: I file più grandi di questa dimensione (predefinito 250.000 byte) ricevono l'analisi rapida: le regole regex e la ricerca di variabili, senza il lexer del linguaggio. I file grandi sono per lo più generati o minificati, il lexer costa la maggior parte del tempo di scansione su di essi e raramente trova di più. 0 assegna a ogni file l'analisi completa.
  • --skip-bundles: Salta completamente i JavaScript minificati, le source map e i bundle (*.min.js, *.map, *.bundle.js), in aggiunta alle altre esclusioni di percorso.
  • --confidence-level {all,low,medium,high,very-high}: Il livello di confidenza minimo da riportare (predefinito low, ogni risultato). medium, high e very-high mantengono confidenza 3, 6 e 9 o superiore; all riporta anche le corrispondenze regex che lo scanner ha giudicato non essere segreti (placeholder, esempi), con un id di regola -INFO.
  • --report-diagnostics: Aggiungi ogni file trovato sotto il target al report SARIF, con il suo stato, tempo di scansione, motivo di esclusione e profondità di analisi.
  • --regex-candidate-scoring-rules /path/to/rules.json: Fornisci le tue regole per giudicare le corrispondenze regex prima che vengano riportate. Non assegnare alcun valore al flag per riportare le corrispondenze regex senza giudizio.
  • --multiprocessing-context {forkserver,spawn,fork}: Come vengono avviati i processi worker. Il valore predefinito è forkserver dove la piattaforma lo supporta (Linux, macOS): i worker condividono lo scanner già caricato in un processo server. Windows usa spawn. Tutti e tre producono gli stessi risultati.
  • --disable-masking: Mantieni i potenziali segreti non mascherati nel report di output (vedi avvertenza sotto).
  • --ci / --no-ci: Attiva o disattiva la modalità CI. La modalità CI stampa una riga di avanzamento semplice ogni 30 secondi invece della visualizzazione dell'avanzamento in tempo reale. Si attiva automaticamente all'interno dei servizi CI (GitHub Actions, GitLab CI, Jenkins e altri) e ogni volta che l'output non è un terminale.

Integrazione con Github Actions

es. .github/workflows/deepsecrets.yml

name: DeepSecrets Scan
on: [push, pull_request]

jobs:
  scan:
    runs-on: ubuntu-latest
    steps:
      - name: Checkout code
        uses: actions/checkout@v4

      - name: Set up Python
        uses: actions/setup-python@v5
        with:
          python-version: '3.11'

      - name: Install DeepSecrets
        run: pip install deepsecrets

      - name: Run Scan
        run: deepsecrets --target-dir . --outformat dojo-sarif --outfile report.sarif
        continue-on-error: true

      - name: Upload SARIF report
        uses: github/codeql-action/upload-sarif@v3
        with:
          sarif_file: report.sarif

Mascheramento dei segreti nei report

A partire dalla v1.3.0, i potenziali segreti vengono mascherati automaticamente all'interno dei report per proteggere gli artefatti della tua pipeline. Disattiva questa funzione tramite il flag --disable-masking se necessario.

Il mascheramento non compromette la logica di deduplicazione delle piattaforme downstream (come Github), poiché la sezione partialFingerprints nel report viene popolata correttamente in base ai dati grezzi.

[!Caution]
Se integri DeepSecrets nella tua pipeline CI con il mascheramento disattivato, è probabile che i tuoi segreti vengano nuovamente esposti nei log e negli artefatti della CI.

Report SARIF e affidabilità dinamica

Ogni rilevamento riceve un punteggio di affidabilità. Tuttavia, piattaforme di sicurezza diverse interpretano le metriche SARIF in modo differente. Per garantire la compatibilità con le moderne dashboard ASPM, DeepSecrets adotta le seguenti strategie:

  • Sottoregole virtuali (rules[]): genera dinamicamente regole per livello di affidabilità, da S105-LOW passando per -MEDIUM e -HIGH fino a S105-VERY-HIGH (e -INFO per le corrispondenze rifiutate che --confidence-level all riporta). Questo forza GitHub Security e DefectDojo a mappare correttamente la varianza di precisione semantica senza compromettere i parser nativi.

  • Livello deterministico dei risultati: lo strumento imposta sempre esplicitamente level: error nel modello results[]. Questo funge da fallback universale per le pipeline CI/CD e per i parser SAST più datati, garantendo che i segreti esposti interrompano in modo affidabile le build o blocchino le Pull Request indipendentemente dalle singole interpretazioni delle regole.

  • Messaggi contestuali: inserisce nativamente il punteggio numerico grezzo di affidabilità in result.message.text, così che gli analisti di sicurezza lo vedano immediatamente nelle loro dashboard.

Creazione di ruleset

Regex

Scarica lo strumento