Skip to content

Security Scanning 🔍 ​

āĻĄāĻ•āĻžāϰ āχāĻŽā§‡āϜ āĻŦāĻŋāĻ˛ā§āĻĄ āĻ•āϰāĻžāϰ āĻĒāϰ āϏ⧇āϟāĻŋāϰ āϭ⧇āϤāϰ⧇ āϕ⧋āύ⧋ āύāĻŋāϰāĻžāĻĒāĻ¤ā§āϤāĻž āĻā§āρāĻ•āĻŋ (Security Vulnerabilities) āφāϛ⧇ āĻ•āĻŋāύāĻž āϤāĻž āϝāĻžāϚāĻžāχ āĻ•āϰāĻžāϰ āĻĒāĻĻā§āϧāϤāĻŋāϕ⧇āχ Security Scanning āĻŦāϞāĻž āĻšā§ŸāĨ¤ āĻĒā§āϰ⧋āĻĄāĻžāĻ•āĻļāύ⧇ āχāĻŽā§‡āϜ āĻĒ⧁āĻļ āĻ•āϰāĻžāϰ āφāϗ⧇ āĻāϟāĻŋ āĻāĻ•āϟāĻŋ āĻ…āĻ¤ā§āϝāĻ¨ā§āϤ āϗ⧁āϰ⧁āĻ¤ā§āĻŦāĻĒā§‚āĻ°ā§āĻŖ āϧāĻžāĻĒāĨ¤


ā§§. āĻ­āĻžāϞāύāĻžāϰ⧇āĻŦāĻŋāϞāĻŋāϟāĻŋ āĻ¸ā§āĻ•ā§āϝāĻžāύāĻŋāĻ‚ āĻ•āĻŋ? (What is Vulnerability Scanning?) ​

āφāĻĒāύāĻžāϰ āĻĄāĻ•āĻžāϰ āχāĻŽā§‡āĻœā§‡ āĻŦā§āϝāĻŦāĻšā§ƒāϤ āĻŦ⧇āϏ āχāĻŽā§‡āϜ (āϝ⧇āĻŽāύ: Ubuntu, Alpine) āĻāĻŦāĻ‚ āφāĻĒāύāĻžāϰ āĻ…ā§āϝāĻžāĻĒā§āϞāĻŋāϕ⧇āĻļāύ⧇āϰ āϞāĻžāχāĻŦā§āϰ⧇āϰāĻŋ āĻŦāĻž āĻĄāĻŋāĻĒ⧇āĻ¨ā§āĻĄā§‡āĻ¨ā§āϏāĻŋāϗ⧁āϞ⧋āϤ⧇ (āϝ⧇āĻŽāύ: npm packages, python libs) āϝāĻĻāĻŋ āϕ⧋āύ⧋ āϜāĻžāύāĻž āϏāĻŋāĻ•āĻŋāωāϰāĻŋāϟāĻŋ āĻšā§‹āϞ āĻĨāĻžāϕ⧇, āϤāĻŦ⧇ āϏ⧇āϗ⧁āϞ⧋āϕ⧇ āφāχāĻĄā§‡āĻ¨ā§āϟāĻŋāĻĢāĻžāχ āĻ•āϰāĻžāχ āĻšāϞ⧋ āĻ¸ā§āĻ•ā§āϝāĻžāύāĻŋāĻ‚ā§Ÿā§‡āϰ āĻ•āĻžāϜāĨ¤

  • CVE (Common Vulnerabilities and Exposures): āĻāϟāĻŋ āϏāĻŋāĻ•āĻŋāωāϰāĻŋāϟāĻŋ āĻŦāĻžāĻ—āϗ⧁āϞ⧋āϰ āĻāĻ•āϟāĻŋ āĻ—ā§āϞ⧋āĻŦāĻžāϞ āϞāĻŋāĻ¸ā§āϟāĨ¤ āĻ¸ā§āĻ•ā§āϝāĻžāύāĻžāϰāϗ⧁āϞ⧋ āφāĻĒāύāĻžāϰ āχāĻŽā§‡āĻœā§‡ āĻĨāĻžāĻ•āĻž āĻĢāĻžāχāϞāϗ⧁āϞ⧋āϕ⧇ āĻāχ āϞāĻŋāĻ¸ā§āĻŸā§‡āϰ āϏāĻžāĻĨ⧇ āĻŽāĻŋāϞāĻŋā§Ÿā§‡ āĻĻ⧇āϖ⧇āĨ¤

⧍. āϜāύāĻĒā§āϰāĻŋ⧟ āϏāĻŋāĻ•āĻŋāωāϰāĻŋāϟāĻŋ āĻ¸ā§āĻ•ā§āϝāĻžāύāĻŋāĻ‚ āϟ⧁āϞāϏ ​

āĻ•. Docker Scout (āĻĄāĻ•āĻžāϰ āĻ¸ā§āĻ•āĻžāωāϟ) ​

āĻāϟāĻŋ āĻĄāĻ•āĻžāϰ⧇āϰ āύāϤ⧁āύ āĻāĻŦāĻ‚ āϏāĻŦāĻšā§‡ā§Ÿā§‡ āĻļāĻ•ā§āϤāĻŋāĻļāĻžāϞ⧀ āϏāĻŋāĻ•āĻŋāωāϰāĻŋāϟāĻŋ āĻāύāĻžāϞāĻŋāϟāĻŋāĻ•ā§āϏ āϟ⧁āϞāĨ¤ āĻāϟāĻŋ āĻ…āĻŸā§‹āĻŽā§‡āϟāĻŋāĻ•āĻžāϞāĻŋ āφāĻĒāύāĻžāϰ āχāĻŽā§‡āĻœā§‡ āĻĨāĻžāĻ•āĻž CVE āĻĄāĻŋāĻŸā§‡āĻ•ā§āϟ āĻ•āϰ⧇ āĻāĻŦāĻ‚ āĻĒā§āϰāϤāĻŋāĻ•āĻžāϰ⧇āϰ āĻĒāϰāĻžāĻŽāĻ°ā§āĻļ āĻĻā§‡ā§ŸāĨ¤

bash
# āχāĻŽā§‡āϜ āĻ¸ā§āĻ•ā§āϝāĻžāύ āĻ•āϰāĻž
docker scout quickview mytheme-app:latest
docker scout cves mytheme-app:latest

āĻ–. Trivy (āĻŸā§āϰāĻŋāĻ­āĻŋ) ​

āĻāϟāĻŋ āĻŦāĻ°ā§āϤāĻŽāĻžāύ⧇ āĻĄāĻŋāĻ­āĻ…āĻĒā§āϏ āχāĻžā§āϜāĻŋāύāĻŋ⧟āĻžāϰāĻĻ⧇āϰ āĻ•āĻžāϛ⧇ āϏāĻŦāĻšā§‡ā§Ÿā§‡ āϜāύāĻĒā§āϰāĻŋ⧟ āĻ“āĻĒ⧇āύ āϏ⧋āĻ°ā§āϏ āĻ¸ā§āĻ•ā§āϝāĻžāύāĻžāϰāĨ¤ āĻāϟāĻŋ āĻ…āύ⧇āĻ• āĻĻā§āϰ⧁āϤ āĻāĻŦāĻ‚ āĻŦāĻŋāĻ¸ā§āϤāĻžāϰāĻŋāϤ āϰāĻŋāĻĒā§‹āĻ°ā§āϟ āĻĒā§āϰāĻĻāĻžāύ āĻ•āϰ⧇āĨ¤

bash
# Trivy āĻĻāĻŋā§Ÿā§‡ āχāĻŽā§‡āϜ āĻ¸ā§āĻ•ā§āϝāĻžāύ āĻ•āϰāĻž
trivy image python:3.9-slim

āĻ—. Docker Scan (āϞ⧇āϗ⧇āϏāĻŋ) ​

āĻāϟāĻŋ āĻĄāĻ•āĻžāϰ⧇āϰ āφāϗ⧇āϰ āĻ¸ā§āĻ•ā§āϝāĻžāύāĻŋāĻ‚ āĻ•āĻŽāĻžāĻ¨ā§āĻĄ āĻ›āĻŋāϞ (Snyk āχāĻžā§āϜāĻŋāύ āϚāĻžāϞāĻŋāϤ)āĨ¤ āĻŦāĻ°ā§āϤāĻŽāĻžāύ⧇ āĻāϟāĻŋ āϖ⧁āĻŦ āĻāĻ•āϟāĻž āĻŦā§āϝāĻŦāĻšā§ƒāϤ āĻšā§Ÿ āύāĻžāĨ¤

bash
docker scan my-image:latest

ā§Š. āĻ¸ā§āĻ•ā§āϝāĻžāύāĻŋāĻ‚ā§Ÿā§‡āϰ āĻĒā§āϰāĻ•āĻžāϰāϭ⧇āĻĻ â€‹

  1. Base Image Vulnerabilities: āφāĻĒāύāĻžāϰ FROM āϞāĻžāχāύ⧇ āĻĨāĻžāĻ•āĻž āχāĻŽā§‡āĻœā§‡ āϝāĻĻāĻŋ āϏāĻŽāĻ¸ā§āϝāĻž āĻĨāĻžāϕ⧇āĨ¤ (āϏāĻŽāĻžāϧāĻžāύ: āϏāĻŦāϏāĻŽā§Ÿ Alpine āĻŦāĻž āύāĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āϟ āϛ⧋āϟ āĻ­āĻžāĻ°ā§āϏāύ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰāĻž)āĨ¤
  2. Dependency Scanning: āφāĻĒāύāĻžāϰ āĻĒā§āϰ⧋āĻœā§‡āĻ•ā§āĻŸā§‡āϰ āϞāĻžāχāĻŦā§āϰ⧇āϰāĻŋāϗ⧁āϞ⧋āϤ⧇ (āϝ⧇āĻŽāύ: package.json āĻāϰ āϞāĻžāχāĻŦā§āϰ⧇āϰāĻŋ) āĻĨāĻžāĻ•āĻž āĻā§āρāĻ•āĻŋāĨ¤
  3. Application Code Scanning: āϏ⧋āĻ°ā§āϏ āϕ⧋āĻĄā§‡ āĻĨāĻžāĻ•āĻž āϏāĻŋāĻ•āĻŋāωāϰāĻŋāϟāĻŋ āĻŦāĻžāĻ—āĨ¤

ā§Ē. āĻ•āĻ¨ā§āϟāĻŋāύāĻŋāωāϝāĻŧāĻžāϏ āĻ¸ā§āĻ•ā§āϝāĻžāύāĻŋāĻ‚ (Continuous Scanning) ​

āϏāĻŋāĻ•āĻŋāωāϰāĻŋāϟāĻŋ āĻ¸ā§āĻ•ā§āϝāĻžāύāĻŋāĻ‚ āĻļ⧁āϧ⧁āĻŽāĻžāĻ¤ā§āϰ āϞ⧋āĻ•āĻžāϞ āĻŽā§‡āĻļāĻŋāύ⧇ āĻ•āϰāϞ⧇ āĻšā§Ÿ āύāĻžāĨ¤ āĻāϟāĻŋ CI/CD Pipeline-āĻāϰ āĻ…āĻ‚āĻļ āĻšāĻ“ā§ŸāĻž āωāϚāĻŋāϤāĨ¤

  • āϝāĻ–āύāχ āϕ⧇āω āϕ⧋āĻĄ āĻĒ⧁āĻļ āĻ•āϰāĻŦ⧇ āĻŦāĻž āύāϤ⧁āύ āχāĻŽā§‡āϜ āĻŦāĻŋāĻ˛ā§āĻĄ āĻšāĻŦ⧇, āϤāĻ–āύ āĻ…āĻŸā§‹āĻŽā§‡āϟāĻŋāĻ•āĻžāϞāĻŋ āĻ¸ā§āĻ•ā§āϝāĻžāύ āϰāĻžāύ āĻšāĻŦ⧇āĨ¤
  • āϝāĻĻāĻŋ āϕ⧋āύ⧋ "Critical" āĻŦāĻž "High" āĻĒāĻ°ā§āϝāĻžā§Ÿā§‡āϰ āĻā§āρāĻ•āĻŋ āĻĒāĻžāĻ“ā§ŸāĻž āϝāĻžā§Ÿ, āϤāĻŦ⧇ āĻŦāĻŋāĻ˛ā§āĻĄāϟāĻŋ āĻĢ⧇āχāϞ āĻ•āϰ⧇ āĻĻ⧇āĻ“ā§ŸāĻž āωāϚāĻŋāϤāĨ¤

ā§Ģ. āĻ¸ā§āĻ•ā§āϝāĻžāύāĻŋāĻ‚ āϰāĻŋāĻĒā§‹āĻ°ā§āĻŸā§‡āϰ āϏāĻŋāĻ­āĻŋā§Ÿā§āϝāĻžāϰāĻŋāϟāĻŋ āϞ⧇āϭ⧇āϞ ​

  • Critical: āĻ…āĻŦāĻŋāϞāĻŽā§āĻŦ⧇ āĻĢāĻŋāĻ•ā§āϏ āĻ•āϰāĻž āĻĒā§āĻ°ā§Ÿā§‹āϜāύāĨ¤
  • High: āϗ⧁āϰ⧁āĻ¤ā§āĻŦ āϏāĻšāĻ•āĻžāϰ⧇ āĻĻā§āϰ⧁āϤ āĻĢāĻŋāĻ•ā§āϏ āĻ•āϰāϤ⧇ āĻšāĻŦ⧇āĨ¤
  • Medium: āĻĢāĻŋāĻ•ā§āϏ āĻ•āϰāĻž āĻ­āĻžāϞ⧋, āĻ•āĻŋāĻ¨ā§āϤ⧁ āχāĻŽāĻŋāĻĄāĻŋā§Ÿā§‡āϟ āϰāĻŋāĻ¸ā§āĻ• āĻ•āĻŽāĨ¤
  • Low/Info: āϏāĻžāϧāĻžāϰāĻŖ āϤāĻĨā§āϝ āĻŦāĻž āϛ⧋āϟāĻ–āĻžāĻŸā§‹ āĻŦāĻžāĻ—āĨ¤

āϏāĻžāϰāϏāĻ‚āĻ•ā§āώ⧇āĻĒ (Summary) ​

āĻāĻ•āϟāĻŋ āϏ⧁āϰāĻ•ā§āώāĻŋāϤ āĻ…ā§āϝāĻžāĻĒā§āϞāĻŋāϕ⧇āĻļāύ āϚāĻžāϞāĻžāύ⧋āϰ āϜāĻ¨ā§āϝ āĻ…āĻŸā§‹āĻŽā§‡āĻŸā§‡āĻĄ āϏāĻŋāĻ•āĻŋāωāϰāĻŋāϟāĻŋ āĻ¸ā§āĻ•ā§āϝāĻžāύāĻŋāĻ‚ā§Ÿā§‡āϰ āϕ⧋āύ⧋ āĻŦāĻŋāĻ•āĻ˛ā§āĻĒ āύ⧇āχāĨ¤ āφāĻĒāύāĻžāϰ āĻĄā§‡āϭ⧇āϞāĻĒāĻŽā§‡āĻ¨ā§āϟ āϞāĻžāχāĻĢāϏāĻžāχāϕ⧇āϞ⧇ Trivy āĻŦāĻž Docker Scout āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰāĻž āĻļ⧁āϰ⧁ āĻ•āϰ⧁āύ āĻāĻŦāĻ‚ āχāĻŽā§‡āĻœā§‡āϰ āϏāĻžāχāϜ āĻ•āĻŽāĻžāύ⧋āϰ āĻĒāĻžāĻļāĻžāĻĒāĻžāĻļāĻŋ āύāĻŋāϰāĻžāĻĒāĻ¤ā§āϤāĻžāĻ“ āύāĻŋāĻļā§āϚāĻŋāϤ āĻ•āϰ⧁āύāĨ¤


IMPORTANT

āĻĒā§āϰ⧋āĻĄāĻžāĻ•āĻļāύ⧇ āχāĻŽā§‡āϜ āĻĒ⧁āĻļ āĻ•āϰāĻžāϰ āφāϗ⧇āϰ āĻļ⧇āώ āĻšā§‡āĻ•āϟāĻŋ āϝ⧇āύ āϏāĻŦāϏāĻŽā§Ÿ āĻāĻ•āϟāĻŋ āϏāĻŋāĻ•āĻŋāωāϰāĻŋāϟāĻŋ āĻ¸ā§āĻ•ā§āϝāĻžāύ āĻšā§Ÿ!

Released under the MIT License.