-
Notifications
You must be signed in to change notification settings - Fork 0
Relatório Comparativo ‐ Imagens Docker
| Métrica | Destaque | Observações |
|---|---|---|
| Imagem mais leve | ghcr.io/pipeline-devsecops-para-blockchain-2025/poc-sast-dast-sca/slither |
131 MB |
| Imagem mais rápida | ghcr.io/crytic/slither |
33.31 s |
| Imagem mais segura | ghcr.io/pipeline-devsecops-para-blockchain-2025/poc-sast-dast-sca/slither |
Não tem vulnerabilidades de alto risco |
- Avaliar rapidamente quatro imagens Docker usadas na pipeline de segurança.
- Comparar tamanho, desempenho no Slither e vulnerabilidades detectadas por Trivy.
| Item | Valor |
|---|---|
| Data | 07/11/2025 |
| Host | Docker Local |
| CPU / RAM | Intel i7-1185G7 / 32 GB |
| SO / Kernel | Arch Linux / 6.17.7-zen1-1-zen |
| Docker versão | 28.5.2, build ecc694264d |
| Imagem | Tag | Digest |
|---|---|---|
ghcr.io/crytic/slither |
0.11.3 |
sha256:bd39e6a2fdbfa0237c9eeac16ad52de1ddd310e185091dd8272a962d2a53b0b5 |
ghcr.io/pipeline-devsecops-para-blockchain-2025/poc-sast-dast-sca/slither |
0.11.3-solc0.8.30 |
sha256:7348e202a0f7bf3601e3c19dd94b746c636f13980db531f704ad13e16e1bdb30 |
smartbugs/slither |
0.11.3 |
sha256:475f5b72c25df315c758fa5b0a0b6e3ba46663bec7735480daef257fa8089d2b |
trailofbits/eth-security-toolbox |
nightly-20251103 |
sha256:a4319ed47c90d45d680709f227b1302bad21009fb79356be1b1ef5db055b58ca |
Extraído do Docker Manifest de cada imagem.
| Imagem | Tamanho comprimido (MB) | Tamanho descompactado (MB) |
|---|---|---|
ghcr.io/crytic/slither:0.11.3 |
92 | 250 |
ghcr.io/pipeline-devsecops-para-blockchain-2025/poc-sast-dast-sca/slither:0.11.3-solc0.8.30 |
45 | 131 |
smartbugs/slither:0.11.3 |
157 | 258 |
trailofbits/eth-security-toolbox:nightly-20251103 |
362 | 1 030 |
| Imagem | Tempo total (s) | CPU média (%) | Pico de RAM (MiB) |
|---|---|---|---|
ghcr.io/crytic/slither:0.11.3 |
33.31 | 96.79 | 781.6 |
ghcr.io/pipeline-devsecops-para-blockchain-2025/poc-sast-dast-sca/slither:0.11.3-solc0.8.30 |
33.39 | 96.78 | 792.4 |
smartbugs/slither:0.11.3 |
37.61 | 96.78 | 788.1 |
trailofbits/eth-security-toolbox:nightly-20251103 |
33.47 | 96.34 | 794.1 |
Os benchmarks foram executados nos contratos de teste do poc-sast-dast-sca, com:
$ forge build --build-info
$ docker volume create src
$ docker run --rm -it -v $PWD:/src -v src:/dst busybox cp -a /src/. /dst
$ docker run --rm -it -v src:/dst busybox chmod -R go=u /dst
$ docker run --rm -it -v src:/src IMAGE:TAG slither --json /dev/null --ignore-compile /srcAs métricas foram coletadas com docker stats --format json e processadas com jq:
$ perl -pe 's/\e\[[0-9;]*[A-Za-z]//g' stats.json | jq -s '(map(.CPUPerc | rtrimstr("%") | tonumber) | add) / length'
$ perl -pe 's/\e\[[0-9;]*[A-Za-z]//g' stats.json | jq -s '
def to_bytes:
capture("(?<value>[0-9.]+)(?<unit>[KMG]i?)B") as $m
| ($m.value | tonumber) *
(if $m.unit == "Ki" then 1024
elif $m.unit == "Mi" then 1024*1024
elif $m.unit == "Gi" then 1024*1024*1024
elif $m.unit == "Ti" then 1024*1024*1024*1024
elif $m.unit == "K" then 1000
elif $m.unit == "M" then 1000*1000
elif $m.unit == "G" then 1000*1000*1000
else 1 end);
(map(.MemUsage | split(" / ")[0] | to_bytes) | max)
'Executado em poc-sast-dast-sca@a7019c7.
| Imagem | Principais alertas | Resultados totais |
|---|---|---|
ghcr.io/crytic/slither:0.11.3 |
arbitrary-send-eth, reentrancy-eth, incorrect-shift, shadowing-state | 580 |
ghcr.io/pipeline-devsecops-para-blockchain-2025/poc-sast-dast-sca/slither:0.11.3-solc0.8.30 |
arbitrary-send-eth, reentrancy-eth, incorrect-shift, shadowing-state | 580 |
smartbugs/slither:0.11.3 |
arbitrary-send-eth, reentrancy-eth, incorrect-shift, shadowing-state | 580 |
trailofbits/eth-security-toolbox:nightly-20251103 |
arbitrary-send-eth, reentrancy-eth, incorrect-shift, shadowing-state | 580 |
Feito com Trivy 0.67.2, banco de dados atualizado em 2025-11-07 00:35:55.664165884 UTC.
| Imagem | Total | CRITICAL | HIGH | MEDIUM | LOW |
|---|---|---|---|---|---|
ghcr.io/crytic/slither:0.11.3 |
98 | 0 | 7 | 60 | 31 |
ghcr.io/pipeline-devsecops-para-blockchain-2025/poc-sast-dast-sca/slither:0.11.3-solc0.8.30 |
1 | 0 | 0 | 1 | 0 |
smartbugs/slither:0.11.3 |
24 | 2 | 6 | 14 | 2 |
trailofbits/eth-security-toolbox:nightly-20251103 |
47 | 0 | 4 | 15 | 28 |
| Critério | Imagem recomendada | Justificativa |
|---|---|---|
| Peso | ghcr.io/pipeline-devsecops-para-blockchain-2025/poc-sast-dast-sca/slither |
45 MB comprimidos / 131 MB descompactados — cabe confortável em runners menores. |
| Performance | ghcr.io/crytic/slither |
Menor tempo total (33,31 s) e ligeira vantagem em CPU média (96,79 %). |
| Segurança | ghcr.io/pipeline-devsecops-para-blockchain-2025/poc-sast-dast-sca/slither |
Apenas 1 achado MEDIUM, nenhum HIGH/CRITICAL. |
| Escolha geral | ghcr.io/pipeline-devsecops-para-blockchain-2025/poc-sast-dast-sca/slither |
Equilibra footprint baixo, resultados de Slither equivalentes e superfície de CVEs significativamente menor. |
A imagem interna baseada no Slither oficial entrega o menor footprint e praticamente o mesmo tempo de análise (36,16 s) que as demais, além de reduzir drasticamente alertas do Trivy (1 CVE MEDIUM contra 7 HIGH na imagem pública). Isso facilita cache em runners e tende a baixar o tempo total de pipeline por conta de pulls menores.
Se a etapa exigir o menor tempo de execução possível, ghcr.io/crytic/slither pode ser adotada como referência (33,31 s), mas o ganho de ~3 s não compensa o aumento de 47 MB no pull e os 68 achados adicionais de segurança. Para ambientes endurecidos ou pipelines compartilhados, manter a imagem própria como padrão e usar a oficial apenas em investigações pontuais parece o melhor trade-off.