Imagem CLI sem daemon para executar Gitleaks 8.30.1 em arquivos, diffs e
historico Git. O contrato preserva o entrypoint upstream gitleaks, sem portas,
volumes obrigatorios ou servico persistente.
| Item | Valor |
|---|---|
| Imagem | lzocateli/gitleaks:8.30.1 |
| Imagem base de build | golang:1.25-alpine |
| Digest da base de build | sha256:1e0126852075c9c60731c8ba49088448b91f63e2aed97ca9d1a9791622a05946 |
| Imagem base runtime | alpine:3.22 |
| Digest da base runtime | sha256:14358309a308569c32bdc37e2e0e9694be33a9d99e68afb0f5ff33cc1f695dce |
| Gitleaks | 8.30.1 |
| Plataformas | linux/amd64, linux/arm64 |
| Usuario padrao | root (contrato upstream; sem shell ou daemon adicional) |
| Entry point | gitleaks |
| Comando padrao | gitleaks version |
| Diretorio de trabalho | /repo |
| Portas | Nenhuma |
| Volumes | Nenhum obrigatorio; monte o repositorio como ro |
| Codigo-fonte | https://github.com/lzocateli/containers/tree/main/gitleaks |
| Documentacao | https://github.com/lzocateli/containers/tree/main/gitleaks |
x/crypto v0.55.0 e x/text v0.41.0 atualizadas para eliminar CVEs.gitleaks para os comandos git, dir e stdin.lzocateli/containers.docker pull lzocateli/gitleaks:8.30.1
docker run --rm lzocateli/gitleaks:8.30.1 version
Escanear arquivos atuais:
docker run --rm --read-only \
--volume "$PWD:/repo:ro" \
lzocateli/gitleaks:8.30.1 \
dir --redact /repo
Escanear o historico completo de um clone:
docker run --rm --read-only \
--volume "$PWD:/repo:ro" \
--workdir /repo \
lzocateli/gitleaks:8.30.1 \
git --redact --log-opts="HEAD" .
Escanear somente o diff staged sem permitir escrita no repositorio:
git diff --cached --binary | docker run --rm -i --read-only \
lzocateli/gitleaks:8.30.1 \
stdin --redact
A imagem nao e um servico persistente. Quando for conveniente padronizar uma execucao local, use um servico de tarefa:
services:
gitleaks:
image: lzocateli/gitleaks:8.30.1
working_dir: /repo
read_only: true
volumes:
- /caminho/absoluto/repositorio:/repo:ro
entrypoint: ["gitleaks"]
command: ["git", "--redact", "--log-opts=--all", "."]
| Variavel | Obrigatoria | Secreta | Padrao | Descricao |
|---|---|---|---|---|
| Nenhuma | Nao | Nao | N/A | Passe as opcoes do Gitleaks como argumentos. |
Uma configuracao customizada pode ser montada como arquivo somente leitura e
informada com --config /repo/.gitleaks.toml. Nunca coloque tokens ou valores
reais no arquivo de configuracao.
A imagem nao expoe portas e nao deve ser publicada como servidor.
| Caminho no conteiner | Modo | Conteudo | Backup necessario |
|---|---|---|---|
/repo | ro | Clone ou arquivos a serem examinados | Nao |
Relatorios devem ser gravados fora do repositorio, por exemplo em um volume de
saida separado. Revise relatorios antes de compartilha-los: use --redact para
impedir a inclusao do valor detectado.
Nao forneca credenciais ao container. Gitleaks procura credenciais no conteudo
montado, mas nao precisa de um token para executar scans locais. Em CI, use
somente contents: read quando o checkout privado exigir autenticacao.
O processo PID 1 e o binario gitleaks; o container executa uma verificacao e
termina. Codigo 0 significa nenhum achado, 1 significa achado ou falha e
126 indica uso de comando invalido. Nao ha bootstrap, migration ou healthcheck
porque nao existe um processo persistente para monitorar.
--read-only e mounts :ro.--privileged..git, .env ou credenciais no build context.root para preservar compatibilidade de leitura com
clones e mounts de consumidores; a imagem nao instala shell administrativo,
compilador ou cliente de rede adicional.--redact em execucoes automatizadas e nao publique relatorios brutos.docker buildx build \
--pull \
--platform linux/amd64 \
--tag lzocateli/gitleaks:8.30.1 \
--file gitleaks/Dockerfile \
gitleaks
Build multi-plataforma:
docker buildx build \
--pull \
--platform linux/amd64,linux/arm64 \
--tag lzocateli/gitleaks:8.30.1 \
--file gitleaks/Dockerfile \
gitleaks
| Tag | Mutabilidade | Compatibilidade | Uso recomendado |
|---|---|---|---|
8.30.1 | Imutavel | Gitleaks 8.30.1, CLI upstream | CI e auditoria local |
Nao use latest como unica referencia. Atualizacoes de Gitleaks devem criar
uma nova tag imutavel, atualizar o digest da base, executar os scans e atualizar
este README.
Antes da publicacao, confirme:
.gitignore e .dockerignore presentes;.env, secrets e .git fora do contexto Docker;docker buildx build --check sem erros;linux/amd64 e linux/arm64;gitleaks version com a versao esperada;scripts/smoke-test.sh;Execucao local do smoke test:
bash gitleaks/scripts/smoke-test.sh --help
bash gitleaks/scripts/smoke-test.sh --image lzocateli/gitleaks:8.30.1
Use Actions > Publicar imagem de container > Run workflow com:
context_path: gitleaks;image_name: gitleaks;image_tag: 8.30.1;dockerfile: Dockerfile;platforms: linux/amd64,linux/arm64.O workflow oficial executa os gates de BuildKit, Trivy, SBOM e proveniencia antes do login e do push no Docker Hub.
Para CI, prefira o scan historico com checkout completo (fetch-depth: 0). Para
hooks locais, envie git diff --cached --binary ao comando stdin. Nao use
SKIP para ignorar um achado real; trate falso positivo somente com uma regra
revisada e sem inserir o valor secreto na allowlist.
| Sintoma | Causa provavel | Verificacao | Correcao |
|---|---|---|---|
no leaks found com clone incompleto | Historico truncado | verificar fetch-depth | usar checkout completo e --log-opts=--all |
permission denied ao ler repo | Mount ou permissoes restritos | testar mount :ro | ajustar permissao de leitura sem usar --privileged |
image not found | Tag local ausente | docker image inspect | construir ou baixar lzocateli/gitleaks:8.30.1 |
| O scan bloqueia commit | Achado real ou falso positivo | revisar regra, arquivo e commit sem expor o segredo | revogar/rotacionar ou documentar excecao segura |
--redact e controle o destino.| Componente | Versao | Licenca | Fonte |
|---|---|---|---|
| Conteudo original deste repositorio | Atual | MIT | https://github.com/lzocateli/containers |
| Gitleaks | 8.30.1 | MIT | https://github.com/gitleaks/gitleaks |
| Go toolchain de build | 1.25 | BSD-3-Clause | https://go.dev/ |
| Imagem base runtime | Alpine 3.22 | MIT | https://www.alpinelinux.org/ |
O badge MIT descreve somente o conteudo original deste repositorio. Componentes de terceiros permanecem sujeitos aos seus termos e avisos de licenca. Consulte a politica de licenciamento e preserve os avisos upstream.
8.30.1: compila Gitleaks do codigo upstream com toolchain Go atualizada e runtime Alpine atualizado.Content type
Image
Digest
sha256:5b3f6d296…
Size
9.9 MB
Last updated
about 2 months ago
docker pull lzocateli/gitleaks:8.30.1