Afin de mettre en place un pipeline Azure DevOps pour scanner vos image Docker, je vous invite a utiliser Trivy, qui est simple a déployer sur votre runner Azure Devops et à implémenter dans une pipeline.
Le script d’installation pour votre runner sous Ubuntu est le suivant :
sudo apt-get install wget apt-transport-https gnupg lsb-release wget -qO – https://aquasecurity.github.io/trivy-repo/deb/public.key | sudo apt-key add – echo deb https://aquasecurity.github.io/trivy-repo/deb $(lsb_release -sc) main | sudo tee -a /etc/apt/sources.list.d/trivy.list sudo apt-get update sudo apt-get install trivy
Créer ensuite le fichier yaml de scan d’image
name: $(SourceBranchName)-$(Date:yyyyMMdd)$(Rev:.r)
trigger:
– Master #Nom de votre branche
pool:
vmImage: ‘ubuntu-latest’
variables:
trivyVersion: 0.9.1
steps:
– script: |
sudo apt-get install rpm
wget https://github.com/aquasecurity/trivy/releases/download/v$(trivyVersion)/trivy_$(trivyVersion)_Linux-64bit.deb
sudo dpkg -i trivy_$(trivyVersion)_Linux-64bit.deb
trivy -v
displayName: ‘Download and install Trivy’
– task: CmdLine@2
displayName: « Run trivy scan »
inputs:
script: |
trivy image –exit-code 0 –severity LOW,MEDIUM liamgu/azuredevopscontainersdemo:74
trivy image –exit-code 1 –severity HIGH,CRITICAL liamgu/azuredevopscontainersdemo:74
La tache suivante permet de scanner une image et de générer un rapport
- task: CmdLine@2
displayName: "Run trivy scan"
inputs:
script: |
trivy image liamgu/azuredevopscontainersdemo:74
Vous pouvez creér un fichier .trivyignore pour ignorer certaines vulnérabilité
# Accept the risk
CVE-2018-14618
# No impact in our settings
CVE-2019-1543