Skip to content
KitploitKITPLOIT
FerramentasBlog
Log in
Enviar
FerramentasBlog
Enviar

Ferramentas de Hacking, PenTest e Cibersegurança para o seu Arsenal de Segurança!

Kitploit é um diretório de ferramentas de hacking, cibersegurança e pentesting. Descubra as últimas atualizações de projetos para encontrar vulnerabilidades, analisar sistemas, automatizar testes e fortalecer sua segurança.

FeedsContatoPrivacidade© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
terrier — Terrier é uma ferramenta de análise de imagens e contêineres que pode ser usada para escanear imagens e contêineres a fim de identificar e verificar a presença de arquivos específicos de acordo com seus hashes. | Kitploit
Ferramentas/GitHubGitHub/heroku/terrier
Segurança de ContêineresAnálise de VulnerabilidadesAnálise de HashSegurança da Cadeia de Suprimentos
GitHubheroku/terrier

terrier

Terrier é uma ferramenta de análise de imagens e contêineres que pode ser usada para escanear imagens e contêineres a fim de identificar e verificar a presença de arquivos específicos de acordo com seus hashes.

Ver Repositório
2271570há 4 mesesRevisado pelo Kitploit

Mais Populares

Ver todos →

Descubra as ferramentas mais usadas pela nossa comunidade.

Explore todas as ferramentas

Navegue pela nossa coleção de ferramentas

Ver todas as ferramentas →
Compartilhar
Terrier Logo

Terrier

Terrier é uma ferramenta de análise de imagens e contêineres que pode ser usada para escanear imagens OCI e contêineres para identificar e verificar a presença de arquivos específicos com base em seus hashes. Um artigo detalhado sobre o Terrier pode ser encontrado no blog da Heroku, https://blog.heroku.com/terrier-open-source-identifying-analyzing-containers.

Instalação

Binários

Para instruções de instalação a partir de binários, visite a Página de Releases.

Via Go

$ go get github.com/heroku/terrier

Compilando a partir do código-fonte

Via go

$ go build

ou

$ make all

Uso

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

É necessário um TAR OCI da imagem a ser escaneada, que é fornecido ao Terrier através do valor "Image" no cfg.yml.

O seguinte comando Docker pode ser usado para converter uma imagem Docker em um TAR que pode ser escaneado pelo 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)

Exemplo de configuração YML

O Terrier processa YAML. Abaixo está um exemplo de configuração.

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

O que o Terrier faz?

O Terrier é uma ferramenta de linha de comando que permite:

  • Escanear uma imagem OCI pela presença de um ou mais arquivos que correspondam a um ou mais hashes SHA256 fornecidos
  • Escanear um contêiner em execução pela presença de um ou mais arquivos que correspondam a um ou mais hashes SHA256 fornecidos

Para que o Terrier é útil?

Cenário 1

O Terrier pode ser usado para verificar se uma imagem OCI específica está utilizando um binário específico, o que é útil em um cenário de verificação de cadeia de suprimentos. Por exemplo, podemos querer verificar se uma imagem Docker específica está usando uma versão ou versões específicas do cURL. Nesse caso, o Terrier recebe os hashes SHA256 dos binários confiáveis.

Um arquivo YAML de exemplo para este cenário pode ser assim:

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'

Cenário 2

O Terrier pode ser usado para verificar a presença de um arquivo ou arquivos específicos em uma imagem OCI de acordo com um conjunto de hashes fornecidos. Isso pode ser útil para verificar se uma imagem OCI contém um arquivo malicioso ou um arquivo que precisa ser identificado.

Um arquivo YAML de exemplo para este cenário pode ser assim:

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

Cenário 3

O Terrier pode ser usado para verificar os componentes de contêineres em tempo de execução, analisando o conteúdo de /var/lib/docker/overlay2/.../merged Um arquivo YAML de exemplo para este cenário pode ser assim:

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'

Uso

Exemplo 1

O Terrier é uma CLI e utiliza YAML. Um exemplo de configuração 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'
Baixar ferramenta