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.

FeedContattoPrivacy© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
terrier — Terrier è uno strumento di analisi di immagini e container che può essere utilizzato per scansionare immagini e container per identificare e verificare la presenza di file specifici in base ai loro hash. | Kitploit
Strumenti/GitHubGitHub/heroku/terrier
Sicurezza dei ContenitoriAnalisi delle VulnerabilitàAnalisi HashSicurezza della Supply Chain
GitHubheroku/terrier

terrier

Terrier è uno strumento di analisi di immagini e container che può essere utilizzato per scansionare immagini e container per identificare e verificare la presenza di file specifici in base ai loro hash.

Vedi Repository
22715704 mesi 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
Logo di Terrier

Terrier

Terrier è uno strumento di analisi di immagini e container che può essere utilizzato per scansionare immagini OCI e container al fine di identificare e verificare la presenza di file specifici in base ai loro hash. Un articolo dettagliato su Terrier è disponibile sul blog di Heroku, https://blog.heroku.com/terrier-open-source-identifying-analyzing-containers.

Installazione

Binari

Per le istruzioni di installazione dai binari, visita la Pagina delle Release.

Tramite Go

$ go get github.com/heroku/terrier

Compilazione dal sorgente

Tramite go

$ go build

oppure

$ make all

Utilizzo

$ ./terrier -h
Usage of ./terrier:
  -cfg string
        Load config from provided yaml file (default "cfg.yml")

È necessario un TAR OCI dell'immagine da scansionare; questo viene fornito a Terrier tramite il valore "Image" in cfg.yml.

Il seguente comando Docker può essere utilizzato per convertire un'immagine Docker in un TAR che può essere scansionato da Terrier.

# docker save imageid -o image.tar

$ ./terrier 
[+] Loading config: cfg.yml
[+] Analysing Image
[+] Docker Image Source:  image.tar
[*] Inspecting Layer:  05c3c2c60920f68b506d3c66e0f6148b81a8b0831388c2d61be5ef02190bcd1f
[!] All components were identified and verified: (493/493)

Configurazione YAML di esempio

Terrier analizza YAML, di seguito è riportata una configurazione di esempio.

#QUESTA È UNA CONFIGURAZIONE DI ESEMPIO, MODIFICALA SECONDO LE TUE ESIGENZE

mode: image
image: image.tar
# mode: container
# path: merged
# verbose: true
# veryverbose: true

files:
  - name: '/usr/bin/curl'
    hashes:
      - hash: '2353cbb7b47d0782ba8cdd9c7438b053c982eaaea6fbef8620c31a58d1e276e8'
      - hash: '22e88c7d6da9b73fbb515ed6a8f6d133c680527a799e3069ca7ce346d90649b2aaa'
      - hash: '9a43cb726fef31f272333b236ff1fde4beab363af54d0bc99c304450065d9c96'
      - hash: '8b7c559b8cccca0d30d01bc4b5dc944766208a53d18a03aa8afe97252207521faa'
  - name: '/usr/bin/go'
    hashes:
      - hash: '2353cbb7b47d0782ba8cdd9c7438b053c982eaaea6fbef8620c31a58d1e276e8'

#RIMUOVI IL COMMENTO PER ANALIZZARE GLI HASH
#     hashes:
#       - hash: '8b7c559b8cccca0d30d01bc4b5dc944766208a53d18a03aa8afe97252207521faa'
#       - hash: '22e88c7d6da9b73fbb515ed6a8f6d133c680527a799e3069ca7ce346d90649b2aa'
#       - hash: '60a2c86db4523e5d3eb41a247b4e7042a21d5c9d483d59053159d9ed50c8aa41aa'

Cosa fa Terrier?

Terrier è uno strumento CLI che permette di:

  • Scansionare un'immagine OCI per la presenza di uno o più file che corrispondono a uno o più hash SHA256 forniti
  • Scansionare un Container in esecuzione per la presenza di uno o più file che corrispondono a uno o più hash SHA256 forniti

A cosa serve Terrier?

Scenario 1

Terrier può essere utilizzato per verificare se una specifica immagine OCI sta utilizzando un binario specifico, utile in uno scenario di verifica della supply chain. Ad esempio, potremmo voler controllare che una specifica immagine Docker stia utilizzando una versione o versioni specifiche di cURL. In questo caso, a Terrier vengono forniti gli hash SHA256 dei binari fidati.

Un file YAML di esempio per questo scenario potrebbe essere:

mode: image
# verbose: true
# veryverbose: true
image: golang1131.tar

files:
  - name: '/usr/local/bin/analysis.sh'
    hashes:
       - hash: '9adc0bf7362bb66b98005aebec36691a62c80d54755e361788c776367d11b105'
  - name: '/usr/bin/curl'
    hashes:
       - hash: '23afbfab4f35ac90d9841a6e05f0d1487b6e0c3a914ea8dab3676c6dde612495'
  - name: '/usr/local/bin/staticcheck'
    hashes:
       - hash: '73f89162bacda8dd2354021dc56dc2f3dba136e873e372312843cd895dde24a2'

Scenario 2

Terrier può essere utilizzato per verificare la presenza di un particolare file o di più file in un'immagine OCI secondo un insieme di hash forniti. Questo può essere utile per controllare se un'immagine OCI contiene un file malevolo o un file che deve essere identificato.

Un file YAML di esempio per questo scenario potrebbe essere:

mode: image
# verbose: true
# veryverbose: true
image: alpinetest.tar
hashes:
  - hash: '8b7c559b8cccca0d30d01bc4b5dc944766208a53d18a03aa8afe97252207521f'
  - hash: '22e88c7d6da9b73fbb515ed6a8f6d133c680527a799e3069ca7ce346d90649b2'
  - hash: '60a2c86db4523e5d3eb41a247b4e7042a21d5c9d483d59053159d9ed50c8aa41'
  - hash: '9a43cb726fef31f272333b236ff1fde4beab363af54d0bc99c304450065d9c96'

Scenario 3

Terrier può essere utilizzato per verificare i componenti dei Container in fase di esecuzione analizzando il contenuto di /var/lib/docker/overlay2/.../merged. Un file YAML di esempio per questo scenario potrebbe essere:

mode: container
verbose: true
# veryverbose: true
# image: latestgo13.tar
path: merged

files:
  - name: '/usr/local/bin/analysis.sh'
    hashes:
       - hash: '9adc0bf7362bb66b98005aebec36691a62c80d54755e361788c776367d11b105'
  - name: '/usr/local/go/bin/go'
    hashes:
       - hash: '23afbfab4f35ac90d9841a6e05f0d1487b6e0c3a914ea8dab3676c6dde612495'
  - name: '/usr/local/bin/staticcheck'
    hashes:
       - hash: '73f89162bacda8dd2354021dc56dc2f3dba136e873e372312843cd895dde24a2'
  - name: '/usr/local/bin/gosec'
    hashes:
       - hash: 'e7cb8304e032ccde8e342a7f85ba0ba5cb0b8383a09a77ca282793ad7e9f8c1f'
  - name: '/usr/local/bin/errcheck'
    hashes:
       - hash: '41f725d7a872cad4ce1f403938937822572e0a38a51e8a1b29707f5884a2f0d7'
  - name: '/var/lib/dpkg/info/apt.postrm'
    hashes:
       - hash: '6a8f9af3abcfb8c6e35887d11d41a83782b50f5766d42bd1e32a38781cba0b1c'

Utilizzo

Esempio 1

Terrier è un CLI e utilizza YAML. Un esempio di configurazione YAML:

mode: image
# verbose: true
# veryverbose: true
image: alpinetest.tar
files:
  - name: '/usr/local/go/bin/go'
    hashes:
      - hash: '8b7c559b8cccca0d30d01bc4b5dc944766208a53d18a03aa8afe97252207521f'
      - hash: '22e88c7d6da9b73fbb515ed6a8f6d133c680527a799e3069ca7ce346d90649b2aaa'
      - hash: '60a2c86db4523e5d3eb41a247b4e7042a21d5c9d483d59053159d9ed50c8aa41aaa'
      - hash: '8b7c559b8cccca0d30d01bc4b5dc944766208a53d18a03aa8afe97252207521faa'
  - name: '/usr/bin/delpart'
    hashes:
      - hash: '9a43cb726fef31f272333b236ff1fde4beab363af54d0bc99c304450065d9c96aaa'
  - name: '/usr/bin/stdbuf'
    hashes:
      - hash: '8b7c559b8cccca0d30d01bc4b5dc944766208a53d18a03aa8afe97252207521faa'
      - hash: '22e88c7d6da9b73fbb515ed6a8f6d133c680527a799e3069ca7ce346d90649b2aa'
      - hash: '60a2c86db4523e5d3eb41a247b4e7042a21d5c9d483d59053159d9ed50c8aa41aa'
Scarica lo strumento