Security Scanning đ â
āĻĄāĻāĻžāϰ āĻāĻŽā§āĻ āĻŦāĻŋāϞā§āĻĄ āĻāϰāĻžāϰ āĻĒāϰ āϏā§āĻāĻŋāϰ āĻā§āϤāϰ⧠āĻā§āύ⧠āύāĻŋāϰāĻžāĻĒāϤā§āϤāĻž āĻā§āĻāĻāĻŋ (Security Vulnerabilities) āĻāĻā§ āĻāĻŋāύāĻž āϤāĻž āϝāĻžāĻāĻžāĻ āĻāϰāĻžāϰ āĻĒāĻĻā§āϧāϤāĻŋāĻā§āĻ Security Scanning āĻŦāϞāĻž āĻšā§āĨ¤ āĻĒā§āϰā§āĻĄāĻžāĻāĻļāύ⧠āĻāĻŽā§āĻ āĻĒā§āĻļ āĻāϰāĻžāϰ āĻāĻā§ āĻāĻāĻŋ āĻāĻāĻāĻŋ āĻ āϤā§āϝāύā§āϤ āĻā§āϰā§āϤā§āĻŦāĻĒā§āϰā§āĻŖ āϧāĻžāĻĒāĨ¤
ā§§. āĻāĻžāϞāύāĻžāϰā§āĻŦāĻŋāϞāĻŋāĻāĻŋ āϏā§āĻā§āϝāĻžāύāĻŋāĻ āĻāĻŋ? (What is Vulnerability Scanning?) â
āĻāĻĒāύāĻžāϰ āĻĄāĻāĻžāϰ āĻāĻŽā§āĻā§ āĻŦā§āϝāĻŦāĻšā§āϤ āĻŦā§āϏ āĻāĻŽā§āĻ (āϝā§āĻŽāύ: Ubuntu, Alpine) āĻāĻŦāĻ āĻāĻĒāύāĻžāϰ āĻ ā§āϝāĻžāĻĒā§āϞāĻŋāĻā§āĻļāύā§āϰ āϞāĻžāĻāĻŦā§āϰā§āϰāĻŋ āĻŦāĻž āĻĄāĻŋāĻĒā§āύā§āĻĄā§āύā§āϏāĻŋāĻā§āϞā§āϤ⧠(āϝā§āĻŽāύ: npm packages, python libs) āϝāĻĻāĻŋ āĻā§āύ⧠āĻāĻžāύāĻž āϏāĻŋāĻāĻŋāĻāϰāĻŋāĻāĻŋ āĻšā§āϞ āĻĨāĻžāĻā§, āϤāĻŦā§ āϏā§āĻā§āϞā§āĻā§ āĻāĻāĻĄā§āύā§āĻāĻŋāĻĢāĻžāĻ āĻāϰāĻžāĻ āĻšāϞ⧠āϏā§āĻā§āϝāĻžāύāĻŋāĻā§ā§āϰ āĻāĻžāĻāĨ¤
- CVE (Common Vulnerabilities and Exposures): āĻāĻāĻŋ āϏāĻŋāĻāĻŋāĻāϰāĻŋāĻāĻŋ āĻŦāĻžāĻāĻā§āϞā§āϰ āĻāĻāĻāĻŋ āĻā§āϞā§āĻŦāĻžāϞ āϞāĻŋāϏā§āĻāĨ¤ āϏā§āĻā§āϝāĻžāύāĻžāϰāĻā§āϞ⧠āĻāĻĒāύāĻžāϰ āĻāĻŽā§āĻā§ āĻĨāĻžāĻāĻž āĻĢāĻžāĻāϞāĻā§āϞā§āĻā§ āĻāĻ āϞāĻŋāϏā§āĻā§āϰ āϏāĻžāĻĨā§ āĻŽāĻŋāϞāĻŋā§ā§ āĻĻā§āĻā§āĨ¤
⧍. āĻāύāĻĒā§āϰāĻŋā§ āϏāĻŋāĻāĻŋāĻāϰāĻŋāĻāĻŋ āϏā§āĻā§āϝāĻžāύāĻŋāĻ āĻā§āϞāϏ â
āĻ. Docker Scout (āĻĄāĻāĻžāϰ āϏā§āĻāĻžāĻāĻ) â
āĻāĻāĻŋ āĻĄāĻāĻžāϰā§āϰ āύāϤā§āύ āĻāĻŦāĻ āϏāĻŦāĻā§ā§ā§ āĻļāĻā§āϤāĻŋāĻļāĻžāϞ⧠āϏāĻŋāĻāĻŋāĻāϰāĻŋāĻāĻŋ āĻāύāĻžāϞāĻŋāĻāĻŋāĻā§āϏ āĻā§āϞāĨ¤ āĻāĻāĻŋ āĻ āĻā§āĻŽā§āĻāĻŋāĻāĻžāϞāĻŋ āĻāĻĒāύāĻžāϰ āĻāĻŽā§āĻā§ āĻĨāĻžāĻāĻž CVE āĻĄāĻŋāĻā§āĻā§āĻ āĻāϰ⧠āĻāĻŦāĻ āĻĒā§āϰāϤāĻŋāĻāĻžāϰā§āϰ āĻĒāϰāĻžāĻŽāϰā§āĻļ āĻĻā§ā§āĨ¤
# āĻāĻŽā§āĻ āϏā§āĻā§āϝāĻžāύ āĻāϰāĻž
docker scout quickview mytheme-app:latest
docker scout cves mytheme-app:latestāĻ. Trivy (āĻā§āϰāĻŋāĻāĻŋ) â
āĻāĻāĻŋ āĻŦāϰā§āϤāĻŽāĻžāύ⧠āĻĄāĻŋāĻāĻ āĻĒā§āϏ āĻāĻā§āĻāĻŋāύāĻŋā§āĻžāϰāĻĻā§āϰ āĻāĻžāĻā§ āϏāĻŦāĻā§ā§ā§ āĻāύāĻĒā§āϰāĻŋā§ āĻāĻĒā§āύ āϏā§āϰā§āϏ āϏā§āĻā§āϝāĻžāύāĻžāϰāĨ¤ āĻāĻāĻŋ āĻ āύā§āĻ āĻĻā§āϰā§āϤ āĻāĻŦāĻ āĻŦāĻŋāϏā§āϤāĻžāϰāĻŋāϤ āϰāĻŋāĻĒā§āϰā§āĻ āĻĒā§āϰāĻĻāĻžāύ āĻāϰā§āĨ¤
# Trivy āĻĻāĻŋā§ā§ āĻāĻŽā§āĻ āϏā§āĻā§āϝāĻžāύ āĻāϰāĻž
trivy image python:3.9-slimāĻ. Docker Scan (āϞā§āĻā§āϏāĻŋ) â
āĻāĻāĻŋ āĻĄāĻāĻžāϰā§āϰ āĻāĻā§āϰ āϏā§āĻā§āϝāĻžāύāĻŋāĻ āĻāĻŽāĻžāύā§āĻĄ āĻāĻŋāϞ (Snyk āĻāĻā§āĻāĻŋāύ āĻāĻžāϞāĻŋāϤ)āĨ¤ āĻŦāϰā§āϤāĻŽāĻžāύ⧠āĻāĻāĻŋ āĻā§āĻŦ āĻāĻāĻāĻž āĻŦā§āϝāĻŦāĻšā§āϤ āĻšā§ āύāĻžāĨ¤
docker scan my-image:latestā§Š. āϏā§āĻā§āϝāĻžāύāĻŋāĻā§ā§āϰ āĻĒā§āϰāĻāĻžāϰāĻā§āĻĻ â
- Base Image Vulnerabilities: āĻāĻĒāύāĻžāϰ
FROMāϞāĻžāĻāύ⧠āĻĨāĻžāĻāĻž āĻāĻŽā§āĻā§ āϝāĻĻāĻŋ āϏāĻŽāϏā§āϝāĻž āĻĨāĻžāĻā§āĨ¤ (āϏāĻŽāĻžāϧāĻžāύ: āϏāĻŦāϏāĻŽā§ Alpine āĻŦāĻž āύāĻŋāϰā§āĻĻāĻŋāώā§āĻ āĻā§āĻ āĻāĻžāϰā§āϏāύ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāϰāĻž)āĨ¤ - Dependency Scanning: āĻāĻĒāύāĻžāϰ āĻĒā§āϰā§āĻā§āĻā§āĻā§āϰ āϞāĻžāĻāĻŦā§āϰā§āϰāĻŋāĻā§āϞā§āϤ⧠(āϝā§āĻŽāύ:
package.jsonāĻāϰ āϞāĻžāĻāĻŦā§āϰā§āϰāĻŋ) āĻĨāĻžāĻāĻž āĻā§āĻāĻāĻŋāĨ¤ - Application Code Scanning: āϏā§āϰā§āϏ āĻā§āĻĄā§ āĻĨāĻžāĻāĻž āϏāĻŋāĻāĻŋāĻāϰāĻŋāĻāĻŋ āĻŦāĻžāĻāĨ¤
ā§Ē. āĻāύā§āĻāĻŋāύāĻŋāĻāϝāĻŧāĻžāϏ āϏā§āĻā§āϝāĻžāύāĻŋāĻ (Continuous Scanning) â
āϏāĻŋāĻāĻŋāĻāϰāĻŋāĻāĻŋ āϏā§āĻā§āϝāĻžāύāĻŋāĻ āĻļā§āϧā§āĻŽāĻžāϤā§āϰ āϞā§āĻāĻžāϞ āĻŽā§āĻļāĻŋāύ⧠āĻāϰāϞ⧠āĻšā§ āύāĻžāĨ¤ āĻāĻāĻŋ CI/CD Pipeline-āĻāϰ āĻ āĻāĻļ āĻšāĻā§āĻž āĻāĻāĻŋāϤāĨ¤
- āϝāĻāύāĻ āĻā§āĻ āĻā§āĻĄ āĻĒā§āĻļ āĻāϰāĻŦā§ āĻŦāĻž āύāϤā§āύ āĻāĻŽā§āĻ āĻŦāĻŋāϞā§āĻĄ āĻšāĻŦā§, āϤāĻāύ āĻ āĻā§āĻŽā§āĻāĻŋāĻāĻžāϞāĻŋ āϏā§āĻā§āϝāĻžāύ āϰāĻžāύ āĻšāĻŦā§āĨ¤
- āϝāĻĻāĻŋ āĻā§āύ⧠"Critical" āĻŦāĻž "High" āĻĒāϰā§āϝāĻžā§ā§āϰ āĻā§āĻāĻāĻŋ āĻĒāĻžāĻā§āĻž āϝāĻžā§, āϤāĻŦā§ āĻŦāĻŋāϞā§āĻĄāĻāĻŋ āĻĢā§āĻāϞ āĻāϰ⧠āĻĻā§āĻā§āĻž āĻāĻāĻŋāϤāĨ¤
ā§Ģ. āϏā§āĻā§āϝāĻžāύāĻŋāĻ āϰāĻŋāĻĒā§āϰā§āĻā§āϰ āϏāĻŋāĻāĻŋā§ā§āϝāĻžāϰāĻŋāĻāĻŋ āϞā§āĻā§āϞ â
- Critical: āĻ āĻŦāĻŋāϞāĻŽā§āĻŦā§ āĻĢāĻŋāĻā§āϏ āĻāϰāĻž āĻĒā§āϰā§ā§āĻāύāĨ¤
- High: āĻā§āϰā§āϤā§āĻŦ āϏāĻšāĻāĻžāϰ⧠āĻĻā§āϰā§āϤ āĻĢāĻŋāĻā§āϏ āĻāϰāϤ⧠āĻšāĻŦā§āĨ¤
- Medium: āĻĢāĻŋāĻā§āϏ āĻāϰāĻž āĻāĻžāϞā§, āĻāĻŋāύā§āϤ⧠āĻāĻŽāĻŋāĻĄāĻŋā§ā§āĻ āϰāĻŋāϏā§āĻ āĻāĻŽāĨ¤
- Low/Info: āϏāĻžāϧāĻžāϰāĻŖ āϤāĻĨā§āϝ āĻŦāĻž āĻā§āĻāĻāĻžāĻā§ āĻŦāĻžāĻāĨ¤
āϏāĻžāϰāϏāĻāĻā§āώā§āĻĒ (Summary) â
āĻāĻāĻāĻŋ āϏā§āϰāĻā§āώāĻŋāϤ āĻ ā§āϝāĻžāĻĒā§āϞāĻŋāĻā§āĻļāύ āĻāĻžāϞāĻžāύā§āϰ āĻāύā§āϝ āĻ āĻā§āĻŽā§āĻā§āĻĄ āϏāĻŋāĻāĻŋāĻāϰāĻŋāĻāĻŋ āϏā§āĻā§āϝāĻžāύāĻŋāĻā§ā§āϰ āĻā§āύ⧠āĻŦāĻŋāĻāϞā§āĻĒ āύā§āĻāĨ¤ āĻāĻĒāύāĻžāϰ āĻĄā§āĻā§āϞāĻĒāĻŽā§āύā§āĻ āϞāĻžāĻāĻĢāϏāĻžāĻāĻā§āϞ⧠Trivy āĻŦāĻž Docker Scout āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāϰāĻž āĻļā§āϰ⧠āĻāϰā§āύ āĻāĻŦāĻ āĻāĻŽā§āĻā§āϰ āϏāĻžāĻāĻ āĻāĻŽāĻžāύā§āϰ āĻĒāĻžāĻļāĻžāĻĒāĻžāĻļāĻŋ āύāĻŋāϰāĻžāĻĒāϤā§āϤāĻžāĻ āύāĻŋāĻļā§āĻāĻŋāϤ āĻāϰā§āύāĨ¤
IMPORTANT
āĻĒā§āϰā§āĻĄāĻžāĻāĻļāύ⧠āĻāĻŽā§āĻ āĻĒā§āĻļ āĻāϰāĻžāϰ āĻāĻā§āϰ āĻļā§āώ āĻā§āĻāĻāĻŋ āϝā§āύ āϏāĻŦāϏāĻŽā§ āĻāĻāĻāĻŋ āϏāĻŋāĻāĻŋāĻāϰāĻŋāĻāĻŋ āϏā§āĻā§āϝāĻžāύ āĻšā§!