์ปจํ…Œ์ด๋„ˆ ์Šค์บ” ๊ฐœ์š”

Artifact Analysis๋Š” ์ž๋™ ์Šค์บ”๊ณผ ์ฃผ๋ฌธํ˜• ์Šค์บ”์˜ ๋‘ ๊ฐ€์ง€ ๋ฐฉ๋ฒ•์œผ๋กœ ์ด๋ฏธ์ง€๋ฅผ ์Šค์บ”ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด ๋ฌธ์„œ์—์„œ๋Š” ๋‘ ๊ฐ€์ง€ ์œ ํ˜•์˜ ์Šค์บ”์— ๋Œ€ํ•œ ๊ธฐ๋Šฅ ์„ธ๋ถ€์ •๋ณด๋ฅผ ์„ค๋ช…ํ•ฉ๋‹ˆ๋‹ค.

Artifact Analysis๋Š” ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ ๊ด€๋ฆฌ๋„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. ์Šค์บ”๊ณผ ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ ์Šคํ† ๋ฆฌ์ง€๋ฅผ ํ•จ๊ป˜ ์‚ฌ์šฉํ•˜์—ฌ CI/CD ํŒŒ์ดํ”„๋ผ์ธ์„ ์—”๋“œ ํˆฌ ์—”๋“œ๋กœ ๋ณดํ˜ธํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์ž์„ธํžˆ ์•Œ์•„๋ณด๋ ค๋ฉด Artifact Analysis ๊ฐœ์š”๋ฅผ ์ฐธ๊ณ ํ•˜์„ธ์š”.

์ปจํ…Œ์ด๋„ˆ ์ด๋ฏธ์ง€ ์Šค์บ”๊ณผ ๊ด€๋ จ๋œ ๋น„์šฉ์— ๋Œ€ํ•ด ์ž์„ธํžˆ ์•Œ์•„๋ณด๋ ค๋ฉด ๊ฐ€๊ฒฉ ์ฑ…์ •์„ ์ฐธ๊ณ ํ•˜์„ธ์š”.

์ด ๊ฐœ์š”์—์„œ๋Š” ์‚ฌ์šฉ์ž๊ฐ€ ์ด๋ฏธ Artifact Registry์—์„œ Docker ์ €์žฅ์†Œ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๋ฐ ์ต์ˆ™ํ•˜๋‹ค๊ณ  ๊ฐ€์ •ํ•ฉ๋‹ˆ๋‹ค.

์ž๋™ ์Šค์บ”

Artifact Analysis๋Š” Artifact Registry์˜ ์•„ํ‹ฐํŒฉํŠธ์— ๋Œ€ํ•œ ์ทจ์•ฝ์  ์Šค์บ”์„ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค. ๋˜ํ•œ Artifact Analysis๋Š” ์ข…์† ํ•ญ๋ชฉ๊ณผ ๋ผ์ด์„ ์Šค๋ฅผ ์‹๋ณ„ํ•˜์—ฌ ์†Œํ”„ํŠธ์›จ์–ด ๊ตฌ์„ฑ์„ ํŒŒ์•…ํ•˜๋Š” ๋ฐ ๋„์›€์„ ์ค๋‹ˆ๋‹ค.

์ž๋™ ์Šค์บ”์€ ํ‘ธ์‹œ ์‹œ ์Šค์บ”๊ณผ ์ง€์†์  ๋ถ„์„์ด๋ผ๋Š” ๋‘ ๊ฐ€์ง€ ์ฃผ์š” ์ž‘์—…์œผ๋กœ ๊ตฌ์„ฑ๋ฉ๋‹ˆ๋‹ค.

ํ‘ธ์‹œ ์‹œ ์Šค์บ”

Artifact Analysis๋Š” ์ƒˆ๋กœ์šด ์ด๋ฏธ์ง€๊ฐ€ Artifact Registry์— ์—…๋กœ๋“œ๋  ๋•Œ ์ด๋ฅผ ์Šค์บ”ํ•ฉ๋‹ˆ๋‹ค. ์ด ์Šค์บ”์€ ์ปจํ…Œ์ด๋„ˆ์˜ ํŒจํ‚ค์ง€์— ๋Œ€ํ•œ ์ •๋ณด๋ฅผ ์ถ”์ถœํ•ฉ๋‹ˆ๋‹ค. ์ด๋ฏธ์ง€๋Š” ์ด๋ฏธ์ง€ ๋‹ค์ด์ œ์ŠคํŠธ๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ํ•œ ๋ฒˆ๋งŒ ์Šค์บ”๋ฉ๋‹ˆ๋‹ค. ์ฆ‰, ํƒœ๊ทธ๋ฅผ ์ถ”๊ฐ€ํ•˜๊ฑฐ๋‚˜ ์ˆ˜์ •ํ•ด๋„ ์ƒˆ ์Šค์บ”์ด ํŠธ๋ฆฌ๊ฑฐ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

Artifact Analysis๋Š” ๋ณด์•ˆ ์ทจ์•ฝ์ ์—์„œ ๊ณต๊ฐœ์ ์œผ๋กœ ๋ชจ๋‹ˆํ„ฐ๋ง๋˜๋Š” ํŒจํ‚ค์ง€์˜ ์ทจ์•ฝ์ ๋งŒ ๊ฐ์ง€ํ•ฉ๋‹ˆ๋‹ค.

์ด๋ฏธ์ง€ ์Šค์บ”์ด ์™„๋ฃŒ๋œ ํ›„ ์ƒ์„ฑ๋œ ์ทจ์•ฝ์  ๊ฒฐ๊ณผ๋Š” ํ•ด๋‹น ์ด๋ฏธ์ง€์— ๋Œ€ํ•œ ์ทจ์•ฝ์  ์–ด์ปค๋Ÿฐ์Šค์˜ ๋ชจ์Œ์ž…๋‹ˆ๋‹ค.

์ง€์†์  ๋ถ„์„

Artifact Analysis๋Š” ์ด๋ฏธ์ง€ ์—…๋กœ๋“œ ์‹œ ๋ฐœ๊ฒฌ๋œ ์ทจ์•ฝ์ ์— ๋Œ€ํ•œ ์–ด์ปค๋Ÿฐ์Šค๋ฅผ ๋งŒ๋“ญ๋‹ˆ๋‹ค. ์ดˆ๊ธฐ ์Šค์บ” ํ›„ Artifact Registry์—์„œ ์Šค์บ”ํ•œ ์ด๋ฏธ์ง€์˜ ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ๋ฅผ ์ง€์†์ ์œผ๋กœ ๋ชจ๋‹ˆํ„ฐ๋งํ•˜์—ฌ ์ƒˆ๋กœ์šด ์ทจ์•ฝ์ ์ด ์žˆ๋Š”์ง€ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค.

Artifact Analysis๋Š” ์ทจ์•ฝ์  ์†Œ์Šค์—์„œ ์ƒˆ๋กœ์šด ์—…๋ฐ์ดํŠธ๋œ ์ทจ์•ฝ์  ์ •๋ณด๋ฅผ ๋งค์ผ ์—ฌ๋Ÿฌ ๋ฒˆ ์ˆ˜์‹ ํ•ฉ๋‹ˆ๋‹ค. ์ƒˆ๋กœ์šด ์ทจ์•ฝ์  ๋ฐ์ดํ„ฐ๊ฐ€ ๋„์ฐฉํ•˜๋ฉด Artifact Analysis๋Š” ์Šค์บ”ํ•œ ์ด๋ฏธ์ง€์˜ ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ๋ฅผ ์—…๋ฐ์ดํŠธํ•˜์—ฌ ์ตœ์‹  ์ƒํƒœ๋กœ ์œ ์ง€ํ•ฉ๋‹ˆ๋‹ค. Artifact Analysis๋Š” ๊ธฐ์กด ์ทจ์•ฝ์  ์–ด์ปค๋Ÿฐ์Šค๋ฅผ ์—…๋ฐ์ดํŠธํ•˜๊ณ , ์ƒˆ ๋ฉ”๋ชจ์— ๋Œ€ํ•œ ์ƒˆ ์ทจ์•ฝ์  ์–ด์ปค๋Ÿฐ์Šค๋ฅผ ๋งŒ๋“ค๊ณ , ๋” ์ด์ƒ ์œ ํšจํ•˜์ง€ ์•Š์€ ์ทจ์•ฝ์  ์–ด์ปค๋Ÿฐ์Šค๋ฅผ ์‚ญ์ œํ•ฉ๋‹ˆ๋‹ค.

Artifact Analysis๋Š” ์ง€๋‚œ 30์ผ ๋™์•ˆ ํ‘ธ์‹œ๋˜๊ฑฐ๋‚˜ ๊ฐ€์ ธ์˜จ ์ด๋ฏธ์ง€์˜ ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ๋งŒ ์—…๋ฐ์ดํŠธํ•ฉ๋‹ˆ๋‹ค. 30์ผ์ด ์ง€๋‚˜๋ฉด ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ๊ฐ€ ๋” ์ด์ƒ ์—…๋ฐ์ดํŠธ๋˜์ง€ ์•Š์œผ๋ฉฐ ๊ฒฐ๊ณผ๊ฐ€ ์˜ค๋ž˜๋ฉ๋‹ˆ๋‹ค. ๋˜ํ•œ Artifact Analysis๋Š” 90์ผ ๋„˜๊ฒŒ ๋น„ํ™œ์„ฑ ์ƒํƒœ์ธ ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ๋ฅผ ๋ณด๊ด€์ฒ˜๋ฆฌํ•˜๋ฉฐ, ์ด ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ๋Š” Google Cloud ์ฝ˜์†”, gcloud ๋˜๋Š” API๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์‚ฌ์šฉํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค. ์˜ค๋ž˜๋˜์—ˆ๊ฑฐ๋‚˜ ๋ณด๊ด€์ฒ˜๋ฆฌ๋œ ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ๊ฐ€ ์žˆ๋Š” ์ด๋ฏธ์ง€๋ฅผ ๋‹ค์‹œ ์Šค์บ”ํ•˜๋ ค๋ฉด ํ•ด๋‹น ์ด๋ฏธ์ง€๋ฅผ ๊ฐ€์ ธ์˜ค์„ธ์š”. ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ๋ฅผ ์ƒˆ๋กœ๊ณ ์นจํ•˜๋Š” ๋ฐ ์ตœ๋Œ€ 24์‹œ๊ฐ„์ด ๊ฑธ๋ฆด ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋งค๋‹ˆํŽ˜์ŠคํŠธ ๋ชฉ๋ก

๋งค๋‹ˆํŽ˜์ŠคํŠธ ๋ชฉ๋ก์œผ๋กœ ์ทจ์•ฝ์  ๊ฒ€์‚ฌ๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค. ๋งค๋‹ˆํŽ˜์ŠคํŠธ ๋ชฉ๋ก์€ ์—ฌ๋Ÿฌ ํ”Œ๋žซํผ์˜ ๋งค๋‹ˆํŽ˜์ŠคํŠธ์— ๋Œ€ํ•œ ํฌ์ธํ„ฐ ๋ชฉ๋ก์ž…๋‹ˆ๋‹ค. ์ด๋ฅผ ํ†ตํ•ด ๋‹จ์ผ ์ด๋ฏธ์ง€๊ฐ€ ์—ฌ๋Ÿฌ ์•„ํ‚คํ…์ฒ˜ ๋˜๋Š” ์šด์˜์ฒด์ œ ๋ณ€ํ˜•๊ณผ ํ•จ๊ป˜ ์ž‘๋™ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

Artifact Analysis ์ทจ์•ฝ์  ์Šค์บ”์€ Linux amd64 ์ด๋ฏธ์ง€๋งŒ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค. ๋งค๋‹ˆํŽ˜์ŠคํŠธ ๋ชฉ๋ก์ด ๋‘ ๊ฐœ ์ด์ƒ์˜ Linux amd64 ์ด๋ฏธ์ง€๋ฅผ ๊ฐ€๋ฆฌํ‚ค๋Š” ๊ฒฝ์šฐ ์ฒซ ๋ฒˆ์งธ ์ด๋ฏธ์ง€๋งŒ ๊ฒ€์‚ฌ๋ฉ๋‹ˆ๋‹ค. Linux amd64 ์ด๋ฏธ์ง€๋ฅผ ๊ฐ€๋ฆฌํ‚ค๋Š” ํฌ์ธํ„ฐ๊ฐ€ ์—†์œผ๋ฉด ๊ฒ€์‚ฌ ๊ฒฐ๊ณผ๊ฐ€ ํ‘œ์‹œ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

์ฃผ๋ฌธํ˜• ์Šค์บ”

์˜จ๋””๋งจ๋“œ ์Šค์บ”์„ ์‚ฌ์šฉํ•˜๋ฉด gcloud CLI๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ปดํ“จํ„ฐ ๋˜๋Š” ๋ ˆ์ง€์ŠคํŠธ๋ฆฌ์—์„œ ์ปจํ…Œ์ด๋„ˆ ์ด๋ฏธ์ง€๋ฅผ ๋กœ์ปฌ๋กœ ์Šค์บ”ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋ฅผ ํ†ตํ•ด ์ทจ์•ฝ์  ๊ฒฐ๊ณผ์— ์•ก์„ธ์Šคํ•ด์•ผ ํ•˜๋Š” ์‹œ์ ์— ๋”ฐ๋ผ CI/CD ํŒŒ์ดํ”„๋ผ์ธ์„ ์œ ์—ฐํ•˜๊ฒŒ ๋งž์ถค์„ค์ •ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ง€์›๋˜๋Š” ํŒจํ‚ค์ง€ ์œ ํ˜•

์ปจํ…Œ์ด๋„ˆ ์ด๋ฏธ์ง€๋ฅผ Artifact Registry์˜ Docker ์ €์žฅ์†Œ๋กœ ํ‘ธ์‹œํ•˜๋ฉด Artifact Analysis์—์„œ ์—ฌ๋Ÿฌ ์œ ํ˜•์˜ OS ํŒจํ‚ค์ง€ ๋ฐ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์–ธ์–ด ํŒจํ‚ค์ง€์˜ ์ทจ์•ฝ์ ์„ ์Šค์บ”ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋‹ค์Œ ํ‘œ์—์„œ๋Š” Artifact Analysis์—์„œ ๊ฐ ์Šค์บ” ์„œ๋น„์Šค๋กœ ์Šค์บ”ํ•  ์ˆ˜ ์žˆ๋Š” ํŒจํ‚ค์ง€ ์œ ํ˜•์„ ๋น„๊ตํ•ฉ๋‹ˆ๋‹ค.

์ง€์›๋˜๋Š” OS ํŒจํ‚ค์ง€

Artifact Registry๋ฅผ ์‚ฌ์šฉํ•œ ์ž๋™ ์Šค์บ” ์ฃผ๋ฌธํ˜• ์Šค์บ”
AlmaLinux OS
Alpine
CentOS
Chainguard
Debian
Google Distroless
RHEL(Red Hat Enterprise Linux)
Red Hat Universal Base Image (UBI)
Rocky Linux
SLES(SUSE Linux Enterprise Server)
Ubuntu
Wolfi

์ง€์›๋˜๋Š” ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์–ธ์–ด ํŒจํ‚ค์ง€

Artifact Registry๋ฅผ ์‚ฌ์šฉํ•œ ์ž๋™ ์Šค์บ” ์ฃผ๋ฌธํ˜• ์Šค์บ”
Go ํŒจํ‚ค์ง€
์ž๋ฐ” ํŒจํ‚ค์ง€
Node.js ํŒจํ‚ค์ง€
PHP ํŒจํ‚ค์ง€
Python ํŒจํ‚ค์ง€
Ruby ํŒจํ‚ค์ง€
Rust ํŒจํ‚ค์ง€
.NET ํŒจํ‚ค์ง€

Artifact Analysis๋Š” ํŒจํ‚ค์ง€๊ฐ€ ์ปจํ…Œ์ด๋„ˆํ™”๋˜์–ด Docker ํ˜•์‹ ์ €์žฅ์†Œ์— ์ €์žฅ๋œ ๊ฒฝ์šฐ์—๋งŒ Artifact Registry์˜ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์–ธ์–ด ํŒจํ‚ค์ง€๋ฅผ ์Šค์บ”ํ•ฉ๋‹ˆ๋‹ค. ๋‹ค๋ฅธ Artifact Registry ์ €์žฅ์†Œ ํ˜•์‹์€ ์ง€์›๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

๊ฐ ๋ ˆ์ง€์ŠคํŠธ๋ฆฌ ์ œํ’ˆ์—์„œ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ๊ธฐ๋Šฅ์— ๋Œ€ํ•œ ์ž์„ธํ•œ ๋‚ด์šฉ์€ ๋น„๊ต ์ฐจํŠธ๋ฅผ ์ฐธ๊ณ ํ•˜์„ธ์š”.

Windows Server ์ปจํ…Œ์ด๋„ˆ์—์„œ๋Š” Artifact Analysis๊ฐ€ ์ง€์›๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

Artifact Analysis ์ธํ„ฐํŽ˜์ด์Šค

Google Cloud ์ฝ˜์†”์—์„œ Artifact Registry ์ปจํ…Œ์ด๋„ˆ์˜ ์ด๋ฏธ์ง€ ์ทจ์•ฝ์ ๊ณผ ์ด๋ฏธ์ง€ ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ๋ฅผ ๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

gcloud CLI๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ทจ์•ฝ์  ๋ฐ ์ด๋ฏธ์ง€ ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ๋ฅผ ๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

Artifact Analysis REST API๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ด๋Ÿฌํ•œ ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•  ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค. ๋‹ค๋ฅธ Cloud Platform API๋ฅผ ์ด์šฉํ•  ๋•Œ์ฒ˜๋Ÿผ OAuth2๋ฅผ ์ด์šฉํ•ด ์•ก์„ธ์Šค๋ฅผ ์ธ์ฆํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์ธ์ฆ ํ›„ API๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋งž์ถค ๋ฉ”๋ชจ์™€ ์–ด์ปค๋Ÿฐ์Šค๋ฅผ ๋งŒ๋“ค๊ณ  ์ทจ์•ฝ์  ์–ด์ปค๋Ÿฐ์Šค๋ฅผ ํ™•์ธํ•  ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค.

Artifact Analysis API๋Š” gRPC์™€ REST/JSON์„ ๋ชจ๋‘ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค. ํด๋ผ์ด์–ธํŠธ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋‚˜ REST/JSON์šฉ cURL์„ ์‚ฌ์šฉํ•˜์—ฌ API๋ฅผ ํ˜ธ์ถœํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ทจ์•ฝํ•œ ์ด๋ฏธ์ง€์˜ ๋ฐฐํฌ ์ œ์–ด

Artifact Analysis๋ฅผ Binary Authorization๊ณผ ํ†ตํ•ฉํ•˜์—ฌ ์ฆ๋ช…์„ ๋งŒ๋“ค ์ˆ˜ ์žˆ์œผ๋ฉฐ, ์ด๋ฅผ ํ†ตํ•ด ์•Œ๋ ค์ง„ ๋ณด์•ˆ ๋ฌธ์ œ๊ฐ€ ์žˆ๋Š” ์ปจํ…Œ์ด๋„ˆ ์ด๋ฏธ์ง€๊ฐ€ ๋ฐฐํฌ ํ™˜๊ฒฝ์—์„œ ์‹คํ–‰๋˜๋Š” ๊ฒƒ์„ ๋ฐฉ์ง€ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋˜ํ•œ Binary Authorization์„ ์‚ฌ์šฉํ•˜์—ฌ ๋ฐฐํฌ์˜ ์ผ๋ถ€๋กœ Artifact Analysis์—์„œ ์ œ๊ณตํ•˜๋Š” ์ทจ์•ฝ์  ์ •๋ณด๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ์ทจ์•ฝ์  ํ—ˆ์šฉ ๋ชฉ๋ก์„ ๋งŒ๋“ค ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ทจ์•ฝ์ ์ด ํ—ˆ์šฉ ๋ชฉ๋ก์˜ ์ •์ฑ…์„ ์œ„๋ฐ˜ํ•˜๋ฉด ์•Œ๋ฆผ์ด ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค.

๋งˆ์ง€๋ง‰์œผ๋กœ ์ฃผ๋ฌธํ˜• ๊ฒ€์‚ฌ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋ฐœ๊ฒฌ๋œ ์ทจ์•ฝ์ ์˜ ์‹ฌ๊ฐ๋„์— ๋”ฐ๋ผ ๋นŒ๋“œ๋ฅผ ์ฐจ๋‹จํ•˜๊ณ  ์‹คํŒจํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ทจ์•ฝ์  ์†Œ์Šค

๋‹ค์Œ ์„น์…˜์—๋Š” ์•„ํ‹ฐํŒฉํŠธ ๋ถ„์„์—์„œ CVE ๋ฐ์ดํ„ฐ๋ฅผ ๊ฐ€์ ธ์˜ค๋Š” ๋ฐ ์‚ฌ์šฉํ•˜๋Š” ์ทจ์•ฝ์  ์†Œ์Šค๊ฐ€ ๋‚˜์—ด๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค.

OS ํŒจํ‚ค์ง€ ์Šค์บ”

Artifact Analysis๋Š” ๋‹ค์Œ ์†Œ์Šค๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.

  • AlmaLinux OS
  • Alpine
  • CentOS - Red Hat๊ณผ CentOS๋Š” ๋™์ผํ•œ ์ทจ์•ฝ์  ๋ฐ์ดํ„ฐ ์†Œ์Šค๋ฅผ ๊ณต์œ ํ•ฉ๋‹ˆ๋‹ค. CentOS ํŒจํ‚ค์ง€๋Š” Red Hat ํŒจํ‚ค์ง€ ์ดํ›„์— ๊ฒŒ์‹œ๋˜๋ฏ€๋กœ Red Hat์˜ ์ทจ์•ฝ์ ์— ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ์ˆ˜์ •์‚ฌํ•ญ์ด CentOS์—์„œ๋„ ์ œ๊ณต๋˜๊ธฐ๊นŒ์ง€ ์‹œ๊ฐ„์ด ๊ฑธ๋ฆด ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • Chainguard
  • Debian
  • Google Distroless๋Š” Debian์„ ๊ธฐ๋ฐ˜์œผ๋กœ ํ•˜๋ฉฐ Debian ์ทจ์•ฝ์  ๋ฐ์ดํ„ฐ๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.
  • National Vulnerability Database
  • RHEL(Red Hat Enterprise Linux)
  • Red Hat Universal Base Image (UBI)
  • Rocky Linux
  • SLES(SUSE Linux Enterprise Server)
  • Ubuntu
  • Wolfi

์–ธ์–ด ํŒจํ‚ค์ง€ ์Šค์บ”

Artifact Analysis๋Š” ์ปจํ…Œ์ด๋„ˆ ์ด๋ฏธ์ง€ ๋‚ด์˜ ์–ธ์–ด ํŒจํ‚ค์ง€์— ๋Œ€ํ•œ ์ทจ์•ฝ์  ์Šค์บ”์„ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค. ์ทจ์•ฝ์  ๋ฐ์ดํ„ฐ๋Š” GitHub Advisory Database์—์„œ ๊ฐ€์ ธ์˜ต๋‹ˆ๋‹ค.

๋Œ€๋ถ€๋ถ„์˜ ๊ฒฝ์šฐ ๊ฐ ์ทจ์•ฝ์ ์—๋Š” CVE ID๊ฐ€ ํ• ๋‹น๋˜๋ฉฐ ์ด ID๊ฐ€ ํ•ด๋‹น ์ทจ์•ฝ์ ์˜ ๊ธฐ๋ณธ ์‹๋ณ„์ž๊ฐ€ ๋ฉ๋‹ˆ๋‹ค. ์ทจ์•ฝ์ ์— ํ• ๋‹น๋œ CVE ID๊ฐ€ ์—†๋Š” ๊ฒฝ์šฐ GHSA ID๊ฐ€ ๋Œ€์‹  ์‹๋ณ„์ž๋กœ ํ• ๋‹น๋ฉ๋‹ˆ๋‹ค. ๋‚˜์ค‘์— ํ•ด๋‹น ์ทจ์•ฝ์ ์— CVE ID๊ฐ€ ๋ถ€์—ฌ๋˜๋ฉด ์ทจ์•ฝ์  ID๊ฐ€ CVE์™€ ์ผ์น˜ํ•˜๋„๋ก ์—…๋ฐ์ดํŠธ๋ฉ๋‹ˆ๋‹ค. ์ž์„ธํ•œ ๋‚ด์šฉ์€ ํ”„๋กœ์ ํŠธ์—์„œ ํŠน์ • ์ทจ์•ฝ์  ํ™•์ธํ•˜๊ธฐ๋ฅผ ์ฐธ๊ณ ํ•˜์„ธ์š”.

์ง€์›๋˜๋Š” OS ๋ฒ„์ „

Artifact Analysis๋Š” ๋‹ค์Œ ๋ฒ„์ „์˜ ์šด์˜์ฒด์ œ ์†Œํ”„ํŠธ์›จ์–ด์— ๋Œ€ํ•œ ์ทจ์•ฝ์  ์Šค์บ”์„ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค.

  • AlmaLinux OS - ๋ฒ„์ „: 8, 9, 10 ๋ฐ ๋ถ€ ๋ฒ„์ „
  • Alpine Linux - ๋ฒ„์ „: 3.3, 3.4, 3.5, 3.6, 3.7, 3.8, 3.9, 3.10, 3.11, 3.12, 3.13, 3.14, 3.15, 3.16, 3.17, 3.18, 3.19, 3.20, 3.21, 3.22
  • CentOS - ๋ฒ„์ „: 6, 7, 8 ๋ฐ ๋ถ€ ๋ฒ„์ „
  • Chainguard - ๋‹จ์ผ ์ถœ์‹œ ํŠธ๋ž™์—์„œ ์ˆœ์ฐจ์  ์—…๋ฐ์ดํŠธ๋ฅผ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค.
  • Debian GNU/Linux - ๋ฒ„์ „: 11, 12, 13, 14, 15
  • Red Hat Enterprise Linux (RHEL) - ๋ฒ„์ „: 7, 8, 9, 10 ๋ฐ ๋ถ€ ๋ฒ„์ „์€ ์ž๋™ ๋ ˆ์ง€์ŠคํŠธ๋ฆฌ ๊ฒ€์‚ฌ์—์„œ ์ง€์›๋ฉ๋‹ˆ๋‹ค.
  • Red Hat Universal Base Image (UBI) - ๋ฒ„์ „ 8, 9, 10 ๋ฐ ํ•˜์œ„ ๋ฒ„์ „
  • Rocky Linux - ๋ฒ„์ „: 8, 9, 10 ๋ฐ ๋ถ€ ๋ฒ„์ „
  • SUSE Linux Enterprise Server (SLES) - ๋ฒ„์ „: 12, 15 ๋ฐ ํ•˜์œ„ ๋ฒ„์ „. SLES for SAP๋„ ๋™์ผํ•œ ๋ฒ„์ „์œผ๋กœ ์ง€์›๋ฉ๋‹ˆ๋‹ค.
  • Ubuntu - ๋ฒ„์ „: 14.04, 16.04, 18.04, 20.04, 22.04, 24.04, 24.10, 25.04
  • Wolfi - ๋‹จ์ผ ์ถœ์‹œ ํŠธ๋ž™์—์„œ ์ˆœ์ฐจ์  ์—…๋ฐ์ดํŠธ๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.

์ œํ•œ์‚ฌํ•ญ

  • Artifact Analysis์˜ ๊ธฐ๋ณธ ๊ธฐ๋Šฅ์€ ์ปจํ…Œ์ด๋„ˆ์˜ ์ทจ์•ฝ์ ์„ ์Šค์บ”ํ•˜๊ณ  ๊ฐ์ง€ํ•˜์—ฌ ์กฐ์ง์— ํ‘œ์‹œํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. Artifact Analysis๋Š” ์กฐ์ง์˜ ์ด๋ฏธ์ง€ ๋ฌด๊ฒฐ์„ฑ ๋˜๋Š” ์‹ ๋ขฐ์„ฑ์„ ๊ฒ€์ฆํ•˜๋Š” ๋Šฅ๋ ฅ์„ ๋†’์ด๊ฑฐ๋‚˜ ๋‚ฎ์ถœ ์ˆ˜ ์žˆ๋Š” ์ด๋ฏธ์ง€์˜ ํŠน์ง•์„ ์‹๋ณ„ํ•œ๋‹ค๊ณ  ์ฃผ์žฅํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ์‹ ๋ขฐ๋ฅผ ๋”์šฑ ๋ฐœ์ „์‹œํ‚ค๊ธฐ ์œ„ํ•ด Google์—์„œ๋Š” ๊ฐœ๋ณ„์ ์œผ๋กœ ๋˜๋Š” ์กฐํ•ฉํ•˜์—ฌ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ์†”๋ฃจ์…˜์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. ์†Œํ”„ํŠธ์›จ์–ด ๊ณต๊ธ‰๋ง ๋ณด์•ˆ์— ๋Œ€ํ•œ Google์˜ ์ ‘๊ทผ ๋ฐฉ์‹ ์ž์„ธํžˆ ์•Œ์•„๋ณด๊ธฐ

  • ์•„ํ‹ฐํŒฉํŠธ ๋ถ„์„์€ ์ถœ์‹œ๋œ ๊ฐ ์ฃผ ๋ฒ„์ „์˜ ์ตœ์‹  ๋ถ€ ๋ฒ„์ „์„ ๊ธฐ๋ฐ˜์œผ๋กœ RHEL์˜ ์ทจ์•ฝ์  ์Šค์บ” ๊ฒฐ๊ณผ๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. ์ด์ „ RHEL์˜ ๋ถ€ ๋ฒ„์ „์˜ ๊ฒฝ์šฐ ์Šค์บ” ๊ฒฐ๊ณผ๊ฐ€ ๋ถ€์ •ํ™•ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

  • RHEL ๋ฒ„์ „ 9๋Š” ์˜จ๋””๋งจ๋“œ ๊ฒ€์‚ฌ์—์„œ ์ง€์›๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

ํŒจํ‚ค์ง€ ๊ด€๋ฆฌ์ž ๋ฐ ์‹œ๋งจํ‹ฑ ๋ฒ„์ „ ๊ด€๋ฆฌ

๋‹ค์Œ ๋‹จ๊ณ„