Skip to content
KitploitKITPLOIT
OutilsExploitsBlog
Log in
Soumettre
OutilsExploitsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

FluxContactConfidentialité© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
terrier — Terrier est un outil d'analyse d'images et de conteneurs qui peut être utilisé pour scanner des images et des conteneurs afin d'identifier et de vérifier la présence de fichiers spécifiques en fonction de leurs hachages. | Kitploit
Outils/GitHubGitHub/heroku/terrier
Sécurité des ConteneursAnalyse des VulnérabilitésAnalyse de HachageSécurité de la Chaîne Logistique
GitHubheroku/terrier

terrier

Terrier est un outil d'analyse d'images et de conteneurs qui peut être utilisé pour scanner des images et des conteneurs afin d'identifier et de vérifier la présence de fichiers spécifiques en fonction de leurs hachages.

Voir le dépôt
2271570il y a 4 moisVérifié par Kitploit

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Partager
Logo Terrier

Terrier

Terrier est un outil d'analyse d'images et de conteneurs qui peut être utilisé pour scanner des images OCI et des conteneurs afin d'identifier et de vérifier la présence de fichiers spécifiques en fonction de leurs empreintes. Une description détaillée de Terrier est disponible sur le blog d'Heroku, à l'adresse https://blog.heroku.com/terrier-open-source-identifying-analyzing-containers.

Installation

Binaires

Pour les instructions d'installation à partir des binaires, veuillez consulter la page des versions.

Via Go

$ go get github.com/heroku/terrier

Compilation à partir des sources

Via Go

$ go build

ou

$ make all

Utilisation

$ ./terrier -h
Utilisation de ./terrier:
  -cfg string
        Charger la configuration depuis le fichier yaml fourni (par défaut "cfg.yml")

Une archive TAR OCI de l'image à analyser est requise ; elle est fournie à Terrier via la valeur "Image" dans le fichier cfg.yml.

La commande Docker suivante peut être utilisée pour convertir une image Docker en archive TAR pouvant être analysée par Terrier.

# docker save id_image -o image.tar
$ ./terrier
[+] Chargement de la configuration : cfg.yml
[+] Analyse de l'image
[+] Source de l'image Docker : image.tar
[*] Inspection de la couche : 05c3c2c60920f68b506d3c66e0f6148b81a8b0831388c2d61be5ef02190bcd1f
[!] Tous les composants ont été identifiés et vérifiés : (493/493)

Exemple de configuration YML

Terrier analyse du YAML ; voici un exemple de configuration.

# CECI EST UN EXEMPLE DE CONFIGURATION, À MODIFIER SELON VOS BESOINS

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'

# DÉCOMMENTER POUR ANALYSER DES EMPREINTES
#     hashes:
#       - hash: '8b7c559b8cccca0d30d01bc4b5dc944766208a53d18a03aa8afe97252207521faa'
#       - hash: '22e88c7d6da9b73fbb515ed6a8f6d133c680527a799e3069ca7ce346d90649b2aa'
#       - hash: '60a2c86db4523e5d3eb41a247b4e7042a21d5c9d483d59053159d9ed50c8aa41aa'

Que fait Terrier ?

Terrier est un outil en ligne de commande qui vous permet de :

  • Scanner une image OCI pour vérifier la présence d'un ou plusieurs fichiers correspondant à une ou plusieurs empreintes SHA256 fournies.
  • Scanner un conteneur en cours d'exécution pour vérifier la présence d'un ou plusieurs fichiers correspondant à une ou plusieurs empreintes SHA256 fournies.

À quoi sert Terrier ?

Scénario 1

Terrier peut être utilisé pour vérifier si une image OCI spécifique utilise un binaire particulier, ce qui est utile dans un scénario de vérification de la chaîne d'approvisionnement. Par exemple, nous pouvons vouloir vérifier qu'une image Docker spécifique utilise une ou plusieurs versions spécifiques de cURL. Dans ce cas, Terrier reçoit les empreintes SHA256 des binaires de confiance.

Un exemple de fichier YAML pour ce scénario pourrait ressembler à ceci :

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'

Scénario 2

Terrier peut être utilisé pour vérifier la présence d'un fichier ou de plusieurs fichiers particuliers dans une image OCI en fonction d'un ensemble d'empreintes fournies. Cela peut être utile pour vérifier si une image OCI contient un fichier malveillant ou un fichier qui doit être identifié.

Un exemple de fichier YAML pour ce scénario pourrait ressembler à ceci :

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

Scénario 3

Terrier peut être utilisé pour vérifier les composants de conteneurs pendant l'exécution en analysant le contenu de /var/lib/docker/overlay2/.../merged. Un exemple de fichier YAML pour ce scénario pourrait ressembler à ceci :

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'

Utilisation

Exemple 1

Terrier est un outil en ligne de commande et utilise le YAML. Un exemple de configuration 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'
Télécharger l’outil