Aller au contenu principal

Images Docker

Préambule

L'outil de scan Docker de ggshield (ggshield secret scan docker) est utilisé pour scanner les images docker locales à la recherche de secrets présents dans le processus de création de l'image (dockerfile et arguments de build) et dans le système de fichiers des couches de l'image.

ggshield est un wrapper autour de l'API GitGuardian pour la détection de secrets qui nécessite une clé API pour fonctionner.

Si l'image n'est pas disponible localement sur la machine de l'utilisateur, GitGuardian CLI tentera de tirer l'image en utilisant docker pull <IMAGE_NAME>.

Aperçu

docker preview

Utilisation

  • Docker : scanne une image Docker après avoir exporté son système de fichiers et son manifeste avec la commande docker save.

    Usage: ggshield secret scan docker [OPTIONS] IMAGE_NAME

    ggshield will try to pull the image if it's not available locally
    Options:
    -h, --help Show this message and exit.

Exemple : ggshield secret scan docker gitguardian/ggshield

Exemple d'intégration (GitHub Actions)

Dans cet exemple d'intégration, nous construisons et poussons l'image ggshield sur GitHub Actions, puis nous scannons cette image.

name: ci

on:
push:
branches:
- 'master'

jobs:
docker:
runs-on: ubuntu-latest
services:
registry:
image: registry:2
ports:
- 5000:5000

container: gitguardian/ggshield:latest
steps:
- name: Checkout
uses: actions/checkout@v2
- name: Set up QEMU
uses: docker/setup-qemu-action@v1
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v1
with:
driver-opts: network=host
- name: Build and push to local registry
uses: docker/build-push-action@v2
with:
context: .
push: true
tags: localhost:5000/gitguardian/ggshield:latest
- name: Scan image
run: |
ggshield secret scan docker localhost:5000/gitguardian/ggshield:latest