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
Strumenti/GitHubGitHub/skyscanner/whispers
Analisi StaticaAnalisi delle VulnerabilitàAnalisi del CodiceAudit di ConfigurazioneDevSecOpsRilevamento SegretiSicurezza della Supply ChainArchived
GitHubskyscanner/whispers

whispers

Identificare i segreti hardcoded in testo strutturato statico

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

Whispers Whispers

"I miei piccoli uccelli sono ovunque, persino al Nord, mi sussurrano le storie più strane." - Lord Varys

Whispers è uno strumento di analisi statica del codice progettato per analizzare vari formati di dati comuni alla ricerca di credenziali hardcoded e funzioni pericolose. Whispers può essere eseguito tramite CLI o integrato nella tua pipeline CI/CD.

Rileva

  • Password
  • Token API
  • Chiavi AWS
  • Chiavi private
  • Credenziali hashate
  • Token di autenticazione
  • Funzioni pericolose
  • File sensibili

Formati supportati

Whispers è pensato per essere un parser di testo strutturato, non un parser di codice.

I seguenti formati comunemente utilizzati sono attualmente supportati:

  • YAML
  • JSON
  • XML
  • .npmrc
  • .pypirc
  • .htpasswd
  • .properties
  • pip.conf
  • conf / ini
  • Dockerfile
  • Dockercfg
  • Shell scripts
  • Python3

I file Python3 vengono analizzati come AST grazie al supporto nativo del linguaggio.

Formati di dichiarazione e assegnazione

I seguenti file di linguaggio vengono analizzati come testo e controllati per pattern comuni di dichiarazione e assegnazione di variabili:

  • JavaScript
  • Java
  • Go
  • PHP

Formati speciali

  • File di credenziali AWS
  • Stringhe di connessione JDBC
  • File di configurazione Jenkins
  • File di configurazione Beans di SpringFramework
  • File delle proprietà Java
  • File di autenticazione del registro privato Dockercfg
  • Token GitHub

Installazione

Da PyPI

root@kitploit:~
pip3 install whispers

Da GitHub

root@kitploit:~
git clone https://github.com/Skyscanner/whispers
cd whispers
make install

Utilizzo

CLI

root@kitploit:~
whispers --help
whispers --info
whispers source/code/fileOrDir
whispers --config config.yml source/code/fileOrDir
whispers --output /tmp/secrets.yml source/code/fileOrDir
whispers --rules aws-id,aws-secret source/code/fileOrDir
whispers --severity BLOCKER,CRITICAL source/code/fileOrDir
whispers --exitcode 7 source/code/fileOrDir

Python

root@kitploit:~
from whispers.cli import parse_args
from whispers.core import run

src = "tests/fixtures"
configfile = "whispers/config.yml"
args = parse_args(["-c", configfile, src])
for secret in run(args):
  print(secret)

Configurazione

Ci sono diverse opzioni di configurazione disponibili in Whispers. È possibile includere/escludere i risultati in base al percorso del file, alla chiave o al valore. Le specifiche del percorso del file sono interpretate come glob. Chiavi e valori accettano espressioni regolari e diversi altri parametri. C'è un file di configurazione predefinito integrato che verrà utilizzato se non ne fornisci uno personalizzato.

config.yml dovrebbe avere la seguente struttura:

root@kitploit:~
include:
  files:
    - "**/*.yml"

exclude:
  files:
    - "**/test/**/*"
    - "**/tests/**/*"
  keys:
    - ^foo
  values:
    - bar$

rules:
  starks:
    message: Whispers from the North
    severity: CRITICAL
    value:
      regex: (Aria|Ned) Stark
      ignorecase: True

Il modo più rapido per ottimizzare il rilevamento (ad esempio: rimuovere falsi positivi e risultati indesiderati) è copiare il file config.yml predefinito in un nuovo file, adattarlo e passarlo come argomento a Whispers.

whispers --config config.yml --rules starks src/file/or/dir

Regole personalizzate

Le regole specificano le cose effettive che dovrebbero essere estratte dalle coppie chiave-valore. Ce ne sono diverse comuni già integrate, come chiavi AWS e password, ma lo strumento è progettato per essere facilmente espandibile con nuove regole.

  • Le regole personalizzate possono essere definite nel file di configurazione principale sotto rules:
  • Le regole personalizzate possono essere aggiunte a whispers/rules
root@kitploit:~
rule-id:  # unique rule name
  description: Values formatted like AWS Session Token
  message: AWS Session Token  # report will show this message
  severity: BLOCKER           # one of BLOCKER, CRITICAL, MAJOR, MINOR, INFO

  key:        # specify key format
    regex: (aws.?session.?token)?
    ignorecase: True   # case-insensitive matching

  value:      # specify value format
    regex: ^(?=.*[a-z])(?=.*[A-Z])[A-Za-z0-9\+\/]{270,450}$
    ignorecase: False  # case-sensitive matching
    minlen: 270        # value is at least this long
    isBase64: True     # value is base64-encoded
    isAscii: False     # value is binary data when decoded
    isUri: False       # value is not formatted like a URI

  similar: 0.35        # maximum allowed similarity between key and value 
                       # (1.0 being exactly the same)

Plugin

Tutta la funzionalità di parsing è implementata tramite plugin. Ogni plugin implementa una classe con il metodo pairs() che scorre i file e restituisce le coppie chiave-valore da controllare con le regole.

root@kitploit:~
class PluginName:
    def pairs(self, file):
        yield "key", "value"
Scarica lo strumento