Skip to content
KitploitKITPLOIT
ToolsExploitsBlog
Log in
Einreichen
ToolsExploitsBlog
Einreichen

Hacking-, PenTest- und Cybersicherheits-Tools für Ihr Sicherheitsarsenal!

Kitploit ist ein Verzeichnis von Hacking-, Cybersicherheits- und Pentesting-Tools. Entdecken Sie die neuesten Projekt-Updates, um Schwachstellen zu finden, Systeme zu analysieren, Tests zu automatisieren und Ihre Sicherheit zu stärken.

··Feeds·Kontakt·Datenschutz·© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
terrier — Terrier ist ein Analysewerkzeug für Images und Container, das verwendet werden kann, um Images und Container zu scannen, um das Vorhandensein bestimmter Dateien anhand ihrer Hashes zu identifizieren und zu überprüfen. | Kitploit
Tools/GitHubGitHub/heroku/terrier
Container-SicherheitSchwachstellenanalyseHash-AnalyseLieferkettensicherheit
GitHubheroku/terrier

terrier

Terrier ist ein Analysewerkzeug für Images und Container, das verwendet werden kann, um Images und Container zu scannen, um das Vorhandensein bestimmter Dateien anhand ihrer Hashes zu identifizieren und zu überprüfen.

Repository anzeigen
2271570vor 4 MonatenVon Kitploit geprüft

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen
Terrier-Logo

Terrier

Terrier ist ein Analysewerkzeug für Images und Container, das verwendet werden kann, um OCI-Images und Container zu scannen und das Vorhandensein bestimmter Dateien anhand ihrer Hashes zu identifizieren und zu überprüfen. Eine ausführliche Beschreibung von Terrier finden Sie im Heroku-Blog unter https://blog.heroku.com/terrier-open-source-identifying-analyzing-containers.

Installation

Binärdateien

Anweisungen zur Installation aus Binärdateien finden Sie auf der Releases-Seite.

Via Go

$ go get github.com/heroku/terrier

Bauen aus dem Quellcode

Via Go

$ go build

oder

$ make all

Verwendung

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

Ein OCI-TAR des zu scannenden Images ist erforderlich; dieses wird Terrier über den Wert "Image" in der cfg.yml bereitgestellt.

Der folgende Docker-Befehl kann verwendet werden, um ein Docker-Image in ein TAR zu konvertieren, das von Terrier gescannt werden kann.

# 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)

Beispiel-YML-Konfiguration

Terrier parst YAML, unten ist eine Beispielkonfiguration.

#THIS IS AN EXAMPLE CONFIG, MODIFY TO YOUR NEEDS

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'

#UNCOMMENT TO ANALYZE HASHES
#     hashes:
#       - hash: '8b7c559b8cccca0d30d01bc4b5dc944766208a53d18a03aa8afe97252207521faa'
#       - hash: '22e88c7d6da9b73fbb515ed6a8f6d133c680527a799e3069ca7ce346d90649b2aa'
#       - hash: '60a2c86db4523e5d3eb41a247b4e7042a21d5c9d483d59053159d9ed50c8aa41aa'

Was macht Terrier?

Terrier ist ein CLI-Tool, mit dem Sie:

  • Ein OCI-Image auf das Vorhandensein einer oder mehrerer Dateien scannen können, die mit einem oder mehreren bereitgestellten SHA256-Hashes übereinstimmen
  • Einen laufenden Container auf das Vorhandensein einer oder mehrerer Dateien scannen können, die mit einem oder mehreren bereitgestellten SHA256-Hashes übereinstimmen

Wofür ist Terrier nützlich?

Szenario 1

Terrier kann verwendet werden, um zu überprüfen, ob ein bestimmtes OCI-Image eine bestimmte Binärdatei verwendet, was in einem Supply-Chain-Verifizierungsszenario nützlich ist. Beispielsweise möchten wir möglicherweise überprüfen, ob ein bestimmtes Docker-Image eine bestimmte Version oder Versionen von cURL verwendet. In diesem Fall werden Terrier die SHA256-Hashes der vertrauenswürdigen Binärdateien zur Verfügung gestellt.

Eine beispielhafte YAML-Datei für dieses Szenario könnte wie folgt aussehen:

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'

Szenario 2

Terrier kann verwendet werden, um das Vorhandensein einer bestimmten Datei oder bestimmter Dateien in einem OCI-Image anhand einer Reihe bereitgestellter Hashes zu überprüfen. Dies kann nützlich sein, um zu überprüfen, ob ein OCI-Image eine bösartige Datei oder eine Datei enthält, die identifiziert werden muss.

Eine beispielhafte YAML-Datei für dieses Szenario könnte wie folgt aussehen:

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

Szenario 3

Terrier kann verwendet werden, um die Komponenten von Containern zur Laufzeit zu überprüfen, indem der Inhalt von /var/lib/docker/overlay2/.../merged analysiert wird. Eine beispielhafte YAML-Datei für dieses Szenario könnte wie folgt aussehen:

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'

Verwendung

Beispiel 1

Terrier ist ein CLI und verwendet YAML. Eine beispielhafte YAML-Konfiguration:

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'
Tool herunterladen