Skip to content
KitploitKITPLOIT
StrumentiBlog
Log in
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
git-vuln-finder — Trovare potenziali vulnerabilità software dai messaggi di commit git | Kitploit
Strumenti/GitHubGitHub/cve-search/git-vuln-finder
OSINT (Open Source Intelligence)Analisi delle VulnerabilitàAnalisi del Codice
GitHubcve-search/git-vuln-finder

git-vuln-finder

Trovare potenziali vulnerabilità software dai messaggi di commit git

Vedi RepositorySito web
4265892 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

git-vuln-finder

Logo di git-vuln-finder

Workflow

Trova potenziali vulnerabilità software dai messaggi dei commit git. Il formato di output è un JSON con il commit associato che potrebbe contenere una correzione relativa a una vulnerabilità software. La ricerca si basa su un insieme di espressioni regolari esclusivamente sui messaggi dei commit. Se sono presenti ID CVE, questi vengono aggiunti automaticamente nell'output. L'input può essere qualsiasi repository git o una fonte GH archive.

Requisiti

  • jq (sudo apt install jq)
  • Python poetry

Installazione

Usalo come libreria

git-vuln-finder può essere installato con poetry. Se non hai poetry installato, puoi eseguire curl -sSL https://raw.githubusercontent.com/python-poetry/poetry/master/get-poetry.py | python.

$ poetry install
$ poetry shell
$ git-vuln-finder -h

Puoi anche usare pip. Poi è sufficiente importarlo:

Python 3.8.0 (default, Dec 11 2019, 21:43:13)
[GCC 9.2.1 20191008] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> from git_vuln_finder import find
>>> all_potential_vulnerabilities, all_cve_found, found = find("~/git/curl")

>>> [commit for commit, summary in all_potential_vulnerabilities.items() if summary['state'] == 'cve-assigned']
['9069838b30fb3b48af0123e39f664cea683254a5', 'facb0e4662415b5f28163e853dc6742ac5fafb3d',
... snap ...
 '8a75dbeb2305297640453029b7905ef51b87e8dd', '1dc43de0dccc2ea7da6dddb7b98f8d7dcf323914', '192c4f788d48f82c03e9cef40013f34370e90737', '2eb8dcf26cb37f09cffe26909a646e702dbcab66', 'fa1ae0abcde5df8d0b3283299e3f246bedf7692c', 'c11c30a8c8d727dcf5634fa0cc6ee0b4b77ddc3d', '75ca568fa1c19de4c5358fed246686de8467c238', 'a20daf90e358c1476a325ea665d533f7a27e3364', '042cc1f69ec0878f542667cb684378869f859911']

 >>> print(json.dumps(all_potential_vulnerabilities['9069838b30fb3b48af0123e39f664cea683254a5'], sort_keys=True, indent=4, separators=(",", ": ")))
 {
     "author": "Daniel Stenberg",
     "author-email": "[email protected]",
     "authored_date": 1567544372,
     "branches": [
         "master"
     ],
     "commit-id": "9069838b30fb3b48af0123e39f664cea683254a5",
     "committed_date": 1568009674,
     "cve": [
         "CVE-2019-5481",
         "CVE-2019-5481"
     ],
     "language": "en",
     "message": "security:read_data fix bad realloc()\n\n... that could end up a double-free\n\nCVE-2019-5481\nBug: https://curl.haxx.se/docs/CVE-2019-5481.html\n",
     "origin": "https://github.com/curl/curl.git",
     "origin-github-api": "https://api.github.com/repos///github.com/curl/curl/commits/9069838b30fb3b48af0123e39f664cea683254a5",
     "pattern-matches": [
         "double-free"
     ],
     "pattern-selected": "(?i)(double[-| ]free|buffer overflow|double free|race[-| ]condition)",
     "state": "cve-assigned",
     "stats": {
         "deletions": 4,
         "files": 1,
         "insertions": 2,
         "lines": 6
     },
     "summary": "security:read_data fix bad realloc()",
     "tags": []
 }

Usalo come strumento da riga di comando

$ git clone https://github.com/cve-search/git-vuln-finder.git
$ cd https://github.com/cve-search/git-vuln-finder.git
$ pip install .
$ git-vuln-finder --help

Puoi anche usare pip. pipx installa script (disponibili a livello di sistema) forniti da pacchetti Python in virtualenv separati per isolarli dal tuo sistema e tra loro.

Utilizzo

usage: git-vuln-finder [-h] [-v] [-r R] [-o O] [-s S] [-p P] [-c] [-t] [-gh GH]

Finding potential software vulnerabilities from git commit messages.

optional arguments:
  -h, --help  show this help message and exit
  -v          increase output verbosity
  -r R        git repository to analyse
  -o O        Output format: [json]
  -s S        State of the commit found
  -p P        Matching pattern to use: [vulnpatterns, cryptopatterns, cpatterns] - the pattern 'all' is used to match all the patterns at once.
  -c          output only a list of the CVE pattern found in commit messages (disable by default)
  -t          Include tags matching a specific commit
  -gh GH      special option for gharchive, pass a file containing a PushEvent in JSON format

More info: https://github.com/cve-search/git-vuln-finder

Pattern

git-vuln-finder include 3 pattern predefiniti che possono essere selezionati per trovare potenziali vulnerabilità descritte nei messaggi dei commit, come:

  • vulnpatterns è un pattern generico per vulnerabilità, mirato soprattutto ad applicazioni web e messaggi di commit di sicurezza generici. Basato su un articolo accademico.
  • cryptopatterns è un pattern per vulnerabilità legate a errori crittografici menzionati nei messaggi di commit.
  • cpatterns è un insieme di pattern standard per vulnerabilità tipiche dei linguaggi simili a C/C++.

Un esempio di output parziale dal repository git di Curl

Scarica lo strumento