Para escanear en busca de vulnerabilidades en imágenes y contenedores docker, podemos usar la herramienta Clair, de CoreOS, para ello, usaremos lo siguientes comandos para su despliegue.
Creamos la red, para los escaneos
docker network create scanning
![]()
Descargamos la última base de vulnerabilidades disponible y ejecutamos el contenedor
docker run -p 5432:5432 -d --net=scanning --name db arminc/clair-db:$(date -d "yesterday" '+%Y-%m-%d') ; sleep 10

Descargamos la imagen y ejecutamos el contenedor del scan
docker run -p 6060:6060 --net=scanning --link db:postgres -d --name clair arminc/clair-local-scan:v2.0.1 ; sleep 10

Nos conectamos al registry local (en nuestro caso Harbor)
docker login -u usuario -p password ip_del_registry

Le indicamos a docker que arranque el contenedor del scan, escanee la imagen del contenedor tomcat7war del registry y nos muestre el informe
docker run --net=scanning --rm --name=scanner --link=clair:clair \
-v '/var/run/docker.sock:/var/run/docker.sock' \
objectiflibre/clair-scanner --clair="http://ip_del_docker:6060" \
--ip="scanner" -t Medium ip_harbor/imagenes/tomcat7war:v1

Borramos los contenedores de scan y la BDD
docker rm -vf db clair
![]()
Borramos las imágenes de scan y BDD
docker image ls | grep 'arminc' | xargs docker rmi

Borramos la red de scan
docker network rm scanning
![]()
Podemos programar estos comandos con Jenkins, programando un nuevo job e introduciendo los comandos tal como se indica a continuación:


Un comentario