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
Bughound — Strumento di analisi statica del codice basato su Elasticsearch | Kitploit
Strumenti/GitHubGitHub/mhaskar/bughound
Scanner di VulnerabilitàAnalisi Statica del Codice (SAST)Analisi delle VulnerabilitàAnalisi del CodiceDevSecOps
GitHubmhaskar/bughound

Bughound

Strumento di analisi statica del codice basato su Elasticsearch

Vedi Repository
130345 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

Stability Version Python Docker Pulls

Cos'è Bughound?

Bughound Logo

Bughound è uno strumento open-source di analisi statica del codice che analizza il tuo codice e invia i risultati a Elasticsearch e Kibana per ottenere utili informazioni sulle potenziali vulnerabilità presenti nel tuo codice.

Bughound ha una propria immagine Docker con Elasticsearch e Kibana preconfigurata con dashboard per fornire una visualizzazione efficace dei risultati.

Puoi rilevare vari tipi di vulnerabilità come:

  • Command Injection.
  • XXE.
  • Deserializzazione non sicura.
  • E altro ancora!

Per ora Bughound è in grado di analizzare codice PHP e JAVA e contiene un insieme di funzioni non sicure per questi linguaggi.

Farò in modo di aggiungere sempre più funzioni/copertura di linguaggi col tempo, ma per ora l'attenzione principale è sulla stabilità del progetto stesso.

Tieni presente che i risultati di Bughound non sono accurati al 100%; è stato creato per aiutarti a identificare potenziali debolezze durante l'analisi da approfondire.

Come funziona?

Innanzitutto, Bughound costruirà un elenco di tutti i file all'interno del tuo progetto in base all'estensione dei file che desideri analizzare, poi leggerà ogni file e cercherà di trovare eventuali funzioni non sicure predefinite per il linguaggio del tuo progetto.

La fase di analisi si basa su espressioni regolari preconfigurate e su alcune corrispondenze testuali personalizzate per rilevare le potenziali vulnerabilità; quindi, ancora una volta, è necessaria un'analisi manuale per verificare se questi risultati sono sfruttabili.

Infine, invierà i risultati all'immagine Docker di Bughound, che ha Elasticsearch e Kibana preconfigurati con dashboard personalizzate per i tuoi risultati.

Le dashboard forniranno dettagli sui risultati, come:

  • Nome della funzione.
  • Categoria della vulnerabilità.
  • Numero di riga.
  • E molto altro!

Inoltre, utilizzando Kibana, potrai visualizzare lo snippet di codice potenzialmente vulnerabile per iniziare la fase di analisi e tracciamento e verificare se è sfruttabile o meno.

Naturalmente, se preferisci, puoi utilizzare il tuo stack ELK; Bughound effettuerà la configurazione iniziale per te, ma in questo caso non avrai le dashboard preconfigurate.

Requisiti

Puoi installare tutti i requisiti per eseguire il codice di Bughound usando il seguente comando:

pip3 install -r requirements.txt

Questo garantirà che tutti i requisiti siano installati per il codice.

Inoltre, devi installare Docker per eseguire l'immagine di Bughound; maggiori dettagli nella prossima sezione!

Se desideri utilizzare le tue istanze di Elasticsearch e Kibana, salta il passaggio di installazione di Docker

Installazione

Assicurati di ottenere l'ultima versione di Bughound usando il seguente comando:

git clone https://github.com/mhaskar/Bughound

Dopo aver installato i requisiti nel passaggio precedente, puoi eseguire Bughound con il comando:

./bughound.py

Verrà visualizzata la schermata principale di Bughound.

root@kitploit:~
┌─[askar@hackbook]─[/opt/bughound]
└──╼ $./bughound.py

.______    __    __    _______  __    __    ______    __    __  .__   __.  _______
|   _  \  |  |  |  |  /  _____||  |  |  |  /  __  \  |  |  |  | |  \ |  | |       \
|  |_)  | |  |  |  | |  |  __  |  |__|  | |  |  |  | |  |  |  | |   \|  | |  .--.  |
|   _  <  |  |  |  | |  | |_ | |   __   | |  |  |  | |  |  |  | |  . `  | |  |  |  |
|  |_)  | |  `--'  | |  |__| | |  |  |  | |  `--'  | |  `--'  | |  |\   | |  '--'  |
|______/   \______/   \______| |__|  |__|  \______/   \______/  |__| \__| |_______/



          \ /
          oVo
      \___XXX___/
       __XXXXX__
      /__XXXXX__\
      /   XXX   \
           V                  V1.0 Beta

[+] Example: ./bughound3.py --path vulnerable_code/ --language php --extension .php --name testproject

usage: bughound.py [-h] [--path PATH] [--git GIT] --language LANGUAGE
                   --extension EXTENSION --name NAME [--verbose [VERBOSE]]
bughound.py: error: argument --language is required
┌─[✗]─[askar@hackbook]─[/opt/bughound]
└──╼ $

Installazione dell'immagine Docker

Per installare l'immagine Docker di Bughound, puoi semplicemente eseguire:

docker pull bughound/bughound

Questo scaricherà l'ultima versione dell'immagine e la salverà sulla tua macchina.

Una volta scaricata l'immagine, possiamo eseguirla con il seguente comando:

docker run --name bughound -p5601:5601 -p 9200:9200 bughound/bughound

Questo eseguirà l'immagine in un nuovo contenitore chiamato bughound ed esporrà le porte necessarie per la comunicazione di Elasticsearch e Kibana con il tuo host.

Potrebbe essere necessario aumentare la memoria virtuale massima per utilizzare l'immagine; assicurati di eseguire questo comando:

sysctl -w vm.max_map_count=262144

Dopo aver completato questi due passaggi, sei pronto per usare Bughound!

Utilizzo

Per avviare il processo di analisi del tuo codice, devi usare il file Bughound.py che ha alcune opzioni. Per visualizzare queste opzioni tramite il banner di aiuto, puoi usare il comando:

root@kitploit:~
┌─[✗]─[askar@hackbook]─[/opt/bughound]
└──╼ $./bughound.py -h

.______    __    __    _______  __    __    ______    __    __  .__   __.  _______
|   _  \  |  |  |  |  /  _____||  |  |  |  /  __  \  |  |  |  | |  \ |  | |       \
|  |_)  | |  |  |  | |  |  __  |  |__|  | |  |  |  | |  |  |  | |   \|  | |  .--.  |
|   _  <  |  |  |  | |  | |_ | |   __   | |  |  |  | |  |  |  | |  . `  | |  |  |  |
|  |_)  | |  `--'  | |  |__| | |  |  |  | |  `--'  | |  `--'  | |  |\   | |  '--'  |
|______/   \______/   \______| |__|  |__|  \______/   \______/  |__| \__| |_______/



          \ /
          oVo
      \___XXX___/
       __XXXXX__
      /__XXXXX__\
      /   XXX   \
           V                  V1.0 Beta

[+] Example: ./bughound3.py --path vulnerable_code/ --language php --extension .php --name testproject

usage: bughound.py [-h] [--path PATH] [--git GIT] --language LANGUAGE
                   --extension EXTENSION --name NAME [--verbose [VERBOSE]]

optional arguments:
  -h, --help            show this help message and exit
  --path PATH           local path of the source code
  --git GIT             git repository URL
  --language LANGUAGE   the used programming language
  --extension EXTENSION
                        extension to search for
  --name NAME           project name to use
  --verbose [VERBOSE]   show debugging messages
┌─[askar@hackbook]─[/opt/bughound]
└──╼ $

Analisi di un progetto locale

Ad esempio, per analizzare un progetto PHP locale, puoi usare il seguente comando:

./bughound.py --path /opt/dummyproject --language php --extension .php --name dummyproject

Questo comando creerà un nuovo progetto chiamato "dummyproject" nell'indice Elasticsearch, analizzerà tutti i file locali con estensione ".php" nel percorso locale "/opt/dummyproject" e invierà i risultati a Elasticsearch.

Analisi di un repository Git remoto

Inoltre, puoi scaricare un progetto remoto da un repository Git usando l'opzione --git come segue:

./bughound.py --git https://github.com/DummyCode/DummyProject --language php --extension .php --name dummyproject

Bughound clonerà il codice per te e lo salverà nella directory projects, quindi lo analizzerà.

Dashboard preconfigurate

Se hai deciso di utilizzare l'immagine Docker ufficiale di Bughound, riceverai un paio di dashboard pronte all'uso che ti aiuteranno nell'analisi.

Finora sono disponibili le seguenti dashboard:

  • Dashboard principale di Bughound
  • Dashboard per Command Injection
  • Dashboard per Deserializzazione
  • Dashboard per XXE

Queste dashboard ti forniranno statistiche sulle funzioni e gli snippet di codice trovati nel codice, in modo che tu possa iniziare il processo di analisi.

Ulteriori risorse

Per maggiori informazioni su Bughound, consulta i seguenti articoli:

  • Unveiling BugHound: a static code analysis tool based on ElasticSearch

Licenza

Questo progetto è concesso in licenza sotto la licenza GPL-3.0 - consulta il file LICENSE per i dettagli.

Scarica lo strumento