https://www.itworld.co.kr/article/3950197/%ec%83%88-%eb%aa%a8%eb%8d%b8-%ea%b3%b5%ea%b0%9c-%ec%9d%b4%ed%9b%84-%ec%8b%9c%ec%8a%a4%ed%85%9c-%ea%b3%bc%eb%b6%80%ed%95%98%ec%98%a4%ed%94%88ai%c2%b7%ea%b5%ac%ea%b8%80-%ec%88%98%ec%9a%94.html

 

์ƒˆ ๋ชจ๋ธ ๊ณต๊ฐœ ์ดํ›„ ์‹œ์Šคํ…œ ๊ณผ๋ถ€ํ•˜…์˜คํ”ˆAI·๊ตฌ๊ธ€, ์ˆ˜์š” ์•ž์— ๋ฉˆ์ถฐ ์„ฐ๋‹ค

์ตœ๊ทผ ๊ตฌ๊ธ€๊ณผ ์˜คํ”ˆAI๊ฐ€ ์„ ๋ณด์ธ ์ƒˆ๋กœ์šด ์ƒ์„ฑํ˜• AI ๋ชจ๋ธ๋กœ ์ธํ•ด ์–‘์‚ฌ์˜ ๋ฐ์ดํ„ฐ์„ผํ„ฐ์— ๊ณผ๋ถ€ํ•˜๊ฐ€ ๊ฑธ๋ ธ๋‹ค. ๋‘ ์—…์ฒด ๋ชจ๋‘ ๊ธ‰์ฆํ•œ ์ˆ˜์š”๋ฅผ ๊ฐ๋‹นํ•˜๊ธฐ ์œ„ํ•ด ๋Œ€์‘์— ๋‚˜์„ฐ๋‹ค. ์˜คํ”ˆAI๋Š” ๊ณผ๊ฑฐ์—๋„ AI ์ธํ”„๋ผ๊ฐ€ ๊ณผ

www.itworld.co.kr


๋‚ด์šฉ ์ •๋ฆฌ

์ตœ๊ทผ ๊ตฌ๊ธ€์˜ ์ œ๋ฏธ๋‚˜์ด 2.5 AI ๋ชจ๋ธ๊ณผ, ์˜คํ”ˆAI์˜ 4o image generation์„ ๊ณต๊ฐœํ•˜๋ฉด์„œ ์–‘์‚ฌ์˜ ๋ฐ์ดํ„ฐ์„ผํ„ฐ์— ๊ณผ๋ถ€ํ•˜๊ฐ€ ๊ฑธ๋ ธ๋‹ค. chatGPT์˜ ์„œ๋น„์Šค๋Š” ์ฃผ๋กœ ์—”๋น„๋””์•„ GPU์— ์˜์กดํ•˜๊ณ  ์žˆ๋Š”๋ฐ, ์˜คํ”ˆ AI๋Š” ์‹œ์Šคํ…œ์ด ๊ฐœ์„ ๋  ๋–„๊นŒ์ง€ GPU ๊ธฐ๋ฐ˜ AI ์ƒ์„ฑ ๊ธฐ๋Šฅ ์‚ฌ์šฉ์„ ์ œํ•œํ•˜๋Š” ์†๋„ ์ œํ•œ์„ ๋„์ž…ํ–ˆ๋‹ค.

๊ตฌ๊ธ€์€ ์ œ๋ฏธ๋‚˜์ด ์‹คํ–‰์— ์ž์ฒด ์ œ์ž‘ TPU๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค. TPU๋Š” GPU๋ณด๋‹ค AI, ๊ทธ๋ž˜ํ”ฝ ๋“ฑ์„ ๋” ์ž˜ ์ฒ˜๋ฆฌํ•˜๋Š” ์นฉ์ด๋‹ค. 

์—”๋น„๋””์•„์˜ GPU๋Š” ์ „๋ ฅ์„ ๋Œ€๋Ÿ‰์œผ๋กœ ์†Œ๋ชจํ•˜๊ณ  ์žˆ๋‹ค. ๊ณผ๋ถ€ํ•˜๊ฐ€ ๊ฑธ๋ฆฌ๊ฑฐ๋‚˜ ๊ณผ์—ด๋˜๋ฉด ์ž๋™์œผ๋กœ ์Šค๋กœํ‹€๋ง ํ˜„์ƒ์ด ๋ฐœ์ƒํ•œ๋‹ค. ์ด๋Š” ์„ฑ๋Šฅ ํ•˜๋ฝ์œผ๋กœ ์ด์–ด์ง„๋‹ค.

๐ŸŽ€์Šค๋กœํ‹€๋ง(Throttling)
๊ณผ๋„ํ•œ ์š”์ฒญ์ด๋‚˜ ์ฒ˜๋ฆฌ๋Ÿ‰์ด ์ƒ๊ธฐ๋ฉด ๊ณผ๋ถ€ํ•˜๋ฅผ ๋ง‰๊ธฐ์œ„ํ•ด ์ฒ˜๋ฆฌ๋Ÿ‰์„ ์ค„์ด๊ฑฐ๋‚˜ ์ฒ˜๋ฆฌํ•˜๋Š” ๋จธ์‹ ์˜ ์ŠคํŽ™์„ ๋‚ฎ์ถฐ์„œ ๊ณผ๋ถ€ํ•˜๋ฅผ ๋ฐฉ์ง€ํ•˜๋Š” ์ฒ˜๋ฆฌ ๋ฐฉ์‹
   โœ… ์†Œํ”„ํŠธ์›จ์–ด:  API ์š”์ฒญ์„ ์ผ์ • ์‹œ๊ฐ„๋งˆ๋‹ค ํ•œ ๋ฒˆ๋งŒ ํ—ˆ์šฉํ•œ๋‹ค๋“ ๊ฐ€, ๊ณผ๋„ํ•œ ์ด๋ฒคํŠธ ๋ฐœ์ƒ์„ ๋ฌด์‹œ (ex. scroll, resize ์ด๋ฒคํŠธ ์ œํ•œ, API ์š”์ฒญ rate limit)
   โœ… ํ•˜๋“œ์›จ์–ด:  ์„ฑ๋Šฅ(ํด๋Ÿญ ์†๋„ ๋“ฑ)์„ ์˜๋„์ ์œผ๋กœ ๋‚ฎ์ถฐ์„œ ๋ฐœ์—ด์„ ์ค„์ด๊ณ , ๊ธฐ๊ธฐ ์†์ƒ์„ ๋ฐฉ์ง€

 

๋ง๋ถ™์—ฌ, ์ด์ œ๋Š” ์ปดํ“จํŒ… ์ž์›์˜ ๋ถ€์กฑ์œผ๋กœ AI ํ™•์žฅ์ด ์ง€์—ฐ๋˜์ง€๋Š” ์•Š๋Š”๋‹ค๊ณ  ํ•œ๋‹ค. ๋˜ํ•œ GPT๋‚˜ ์ œ๋ฏธ๋‚˜์ด ๊ฐ™์€ LLM์€ ์†Œ์Šค๊ฐ€ ๋„ˆ๋ฌด ๋ฌด๊ฑฐ์šฐ๋‹ˆ ๋ชจ๋ธ ํฌ๊ธฐ๋ฅผ ์ค„์ด๊ฑฐ๋‚˜ ์ฝ”๋“œ๋ฅผ ์ตœ์ ํ™”ํ•˜๋Š” ๋ฐฉํ–ฅ์œผ๋กœ ์„ฑ์žฅํ•  ์ˆ˜๋„ ์žˆ๋‹ค. ๋”ฅ์‹œํฌ๋Š” GPT๋ณด๋‹ค ๋” ๊ฒฝ๋Ÿ‰์˜ ๋ชจ๋ธ๋กœ ๋” ๋‚˜์€ ์„ฑ๋Šฅ์„ ๋‚˜ํƒ€๋ƒˆ๋‹ค. ํ•˜๋“œ์›จ์–ด๋งŒ์ด ๋‹ต์€ ์•„๋‹ˆ๋‹ค๋Š” ๋ง์ด๋‹ค.

 

๋‚ด ์ƒ๊ฐ

TPU ์นฉ์— ๋Œ€ํ•ด ๊ธฐ์ดˆ์ธ๊ณต์ง€๋Šฅ ์‹œ๊ฐ„์— ๋ฐฐ์šด ์ ์ด ์žˆ์—ˆ๋Š”๋ฐ, ๊ตฌ๊ธ€์—์„œ ์ž์ฒด ์ œ์ž‘ํ•œ ๊ฑด ์ค„์€ ์ฒ˜์Œ ์•Œ์•˜๋‹ค.

Throttling์„ ๊ฒ€์ƒ‰ํ•ด๋ณด๋‹ค๊ฐ€ ์•Œ๊ฒŒ ๋œ ๊ฒƒ์ธ๋ฐ, ์ง€๋งˆ์ผ“์€ ๋Œ€๊ธฐ์—ด ๊ณผ๋„ํ™”๋ฅผ ์ฒ˜๋ฆฌํ•˜๊ธฐ ์œ„ํ•ด์„œ redis๋ฅผ ์‚ฌ์šฉํ•œ redcarpet ์‹œ์Šคํ…œ์„ ์‚ฌ์šฉํ•œ๋‹ค๊ณ  ํ•œ๋‹ค. 2022๋…„ ํ…Œํฌ๊ธ€์ด์—ฌ์„œ ์•„์ง๋„ ์‚ฌ์šฉํ•˜๋Š” ์ง€๋Š” ์•Œ ์ˆ˜ ์—†์ง€๋งŒ max 5๋งŒ tps ๊นŒ์ง€ ๋ฌธ์ œ์—†์ด ์ฒ˜๋ฆฌํ–ˆ๋‹ค๊ณ  ํ•˜๋‹ˆ ๋Œ€๋‹จํ•œ๊ฑฐ ๊ฐ™๊ธด ํ•˜๋‹ค.

๋”ฅ์‹œํฌ๊ฐ€ GPT๋ณด๋‹ค ๊ฒฝ๋Ÿ‰์˜ ๋ชจ๋ธ๋กœ ๋” ๋‚˜์€ ์„ฑ๋Šฅ์„ ๋ณด์—ฌ์ค€๋‹ค๋Š” ์ ์ด ์—ฌ๊ธฐ์„œ๋„ ๋˜ ๋‚˜์˜จ๋‹ค. GPT๋Š” ๋Œ€์ฒด ์–ด๋–ป๊ฒŒ ๋งŒ๋“ค์—ˆ๊ณ , ๋”ฅ์‹œํฌ๋Š” ๋Œ€์ฒด ์–ด๋–ป๊ฒŒ ๋งŒ๋“ค์—ˆ์„๊นŒ? ๊ทธ๋ฆฌ๊ณ  ๊ฒฐ๊ตญ ๋‚ด ์ปดํ“จํ„ฐ๋Š” GPT๋“  ๋‹ค ํ•˜๋“œ์›จ์–ด๊ฐ€ ํ•„์š”ํ•˜์ง€ ์•Š๋Š”๊ฐ€... ํ•œ๊ณ„๋Š” ์žˆ์„ ์ˆ˜ ๋ฐ–์— ์—†์„ ๊ฒƒ์ด๋‹ค. ๋‹ค๋งŒ ๊ทธ ํ•œ๊ณ„๋ฅผ ์–ด๋””๊นŒ์ง€ ๋ฏธ๋ฃจ๋А๋ƒ์˜ ์ฐจ์ด์ผ ๊ฒƒ์ด๋‹ค.

์ด ๋ถ€๋ถ„์„ ์ž‘์„ฑํ•˜๋ฉด์„œ ์กธ์—… ํ”„๋กœ์ ํŠธ๋กœ "์˜จ๋””๋ฐ”์ด์Šค ํ™”์ƒ ํšŒ์˜ ์„œ๋น„์Šค"๋ฅผ ๋งŒ๋“ค์—ˆ์„ ๋•Œ๊ฐ€ ๊ธฐ์–ต๋‚ฌ๋‹ค. ๊ทธ๋•Œ๋„ ์œ ์ € ๋Œ€๋ถ€๋ถ„์ด ๊ณ ์„ฑ๋Šฅ GPU๋ฅผ ์žฅ์ฐฉํ•˜์ง€ ์•Š์€ ๋…ธํŠธ๋ถ์œผ๋กœ ํšŒ์˜๋ฅผ ํ•  ๊ฒƒ์ด๋ผ๊ณ  ์ƒ๊ฐํ•ด์„œ ์˜จ๋””๋ฐ”์ด์Šค์  ์š”์†Œ๋ฅผ ๋„ฃ๋Š”๋ฐ์— ๊ฝค ์• ๋ฅผ ๋จน์—ˆ๋‹ค. GPU๋ฅผ ๋„˜์–ด TPU๋„ ์“ฐ์ด๊ณ  ์žˆ๋Š”๋ฐ, ๋ฏธ๋ž˜์—๋Š” CPU๊ฐ€ ์—†์–ด์งˆ๊นŒ?

์ถœ์ฒ˜: https://thehackernews.com/2025/03/github-action-compromise-puts-cicd.html

 

GitHub Action ์นจํ•ด๋กœ 23,000๊ฐœ ์ด์ƒ์˜ ๋ฆฌํฌ์ง€ํ† ๋ฆฌ CI/CD ๋ณด์•ˆ์ด ์œ„ํ—˜์— ์ฒ˜ํ•˜๋‹ค

 

์‚ฌ์ด๋ฒ„ ๋ณด์•ˆ ์—ฐ๊ตฌ์›๋“ค์€ GitHub Action์ธ tj-actions/changed-files๊ฐ€ ์ง€์†์ ์œผ๋กœ CI/CD ์›Œํฌํ”Œ๋กœ์šฐ์—์„œ ์‚ฌ์šฉ๋˜๋ฉด์„œ ๋ณด์•ˆ ์ •๋ณด๊ฐ€ ์œ ์ถœ๋˜์—ˆ๋‹ค๋Š” ์‚ฌ๊ฑด์— ์ฃผ๋ชฉํ•˜๊ณ  ์žˆ๋‹ค.

์ด๋ฒˆ ์‚ฌ๊ฑด์˜ ๋Œ€์ƒ์€ tj-actions/changed-files๊ฐ€ ์‚ฌ์šฉ๋œ 23,000๊ฐœ ์ด์ƒ์˜ ๋ฆฌํฌ์ง€ํ† ๋ฆฌ๋กœ, ํ•ด๋‹น ์•ก์…˜์€ ํŒŒ์ผ๊ณผ ๋””๋ ‰ํ† ๋ฆฌ์˜ ๋ณ€๊ฒฝ ์‚ฌํ•ญ์„ ์ถ”์ ํ•˜๊ณ  ๊ฒ€์ƒ‰ํ•˜๋Š” ๋ฐ ํ™œ์šฉ๋œ๋‹ค.

์ด ๊ณต๊ธ‰๋ง ์นจํ•ด ์‚ฌ๊ฑด์€ CVE ์‹๋ณ„์ž CVE-2025-30066์ด ๋ถ€์—ฌ๋˜์—ˆ์œผ๋ฉฐ, 2025๋…„ 3์›” 14์ผ์— ๋ฐœ์ƒํ–ˆ๋‹ค.

๊ณต๊ฒฉ ๊ณผ์ •์—์„œ ํ•ด์ปค๋“ค์€ ์•ก์…˜ ์ฝ”๋“œ๋ฅผ ์ˆ˜์ •ํ•˜๊ณ , ๋‹ค์ˆ˜์˜ ํƒœ๊ทธ ๋ฒ„์ „์„ ์†Œ๊ธ‰ ์—…๋ฐ์ดํŠธํ•˜์—ฌ ์•…์„ฑ ์ปค๋ฐ‹์„ ์ฐธ์กฐํ•˜๋„๋ก ๋งŒ๋“ค์—ˆ๋‹ค. ์ด ์นจํ•ด๋œ ์•ก์…˜์€ GitHub Action ๋นŒ๋“œ ๋กœ๊ทธ์— CI/CD ์‹œํฌ๋ฆฟ์„ ์œ ์ถœํ•˜๋Š” ์—ญํ• ์„ ํ•œ๋‹ค.

๊ฒฐ๊ณผ์ ์œผ๋กœ, ๊ณต๊ฐœ๋œ ์›Œํฌํ”Œ๋กœ์šฐ ๋กœ๊ทธ๋Š” ์•ก์…˜์ด ์‹คํ–‰ ์ค‘์ผ ๋•Œ ๋น„์ธ๊ฐ€ ๋ฏผ๊ฐ ์ •๋ณด๊ฐ€ ์œ ์ถœ๋  ์ˆ˜ ์žˆ์Œ์„ ๋ณด์—ฌ์ค€๋‹ค. ์ด ์‹œํฌ๋ฆฟ์—๋Š” AWS ์•ก์„ธ์Šค ํ‚ค, GitHub PAT, npm ํ† ํฐ, ๊ฐœ์ธ RSA ํ‚ค ๋“ฑ์ด ํฌํ•จ๋˜์–ด ์žˆ์œผ๋‚˜, ์œ ์ถœ๋œ ์ •๋ณด๊ฐ€ ๊ณต๊ฒฉ์ž๊ฐ€ ์ œ์–ดํ•˜๋Š” ์ธํ”„๋ผ๋กœ ์ด๋™ํ–ˆ๋‹ค๋Š” ์ฆ๊ฑฐ๋Š” ์—†๋‹ค.

ํŠนํžˆ, ์•…์„ฑ ์‚ฝ์ž… ์ฝ”๋“œ๋Š” runner ์›Œ์ปค ํ”„๋กœ์„ธ์Šค์˜ CI/CD ์‹œํฌ๋ฆฟ์„ ์œ ์ถœํ•˜๋Š” ํŒŒ์ด์ฌ ์Šคํฌ๋ฆฝํŠธ๋ฅผ GitHub Gist์—์„œ ์‹คํ–‰ํ•˜๋„๋ก ์„ค๊ณ„๋˜์—ˆ์œผ๋ฉฐ, ์ด๋Š” ํ™•์ธ๋˜์ง€ ์•Š์€ ์†Œ์Šค ์ฝ”๋“œ ์ปค๋ฐ‹์—์„œ ๋น„๋กฏ๋˜์—ˆ๋‹ค. ์ดํ›„ GitHub Gist๋Š” ์…ง๋‹ค์šด ์ƒํƒœ์— ๋“ค์–ด๊ฐ”๋‹ค.

tj-actions/changed-files๋Š” ์กฐ์ง์˜ ์†Œํ”„ํŠธ์›จ์–ด ๊ฐœ๋ฐœ ํŒŒ์ดํ”„๋ผ์ธ์—์„œ ์‚ฌ์šฉ๋˜๋ฉฐ, ๊ฐœ๋ฐœ์ž๋“ค์ด ์ฝ”๋“œ ๋ฆฌ๋ทฐ ํ›„ ๋ณดํ†ต ๋ฉ”์ธ ๋ธŒ๋žœ์น˜์— ๋ณ‘ํ•ฉํ•œ ์ฝ”๋“œ๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ํŒŒ์ดํ”„๋ผ์ธ์„ ํ†ตํ•ด ๋นŒ๋“œ ๋ฐ ๋ฐฐํฌ๋ฅผ ์ง„ํ–‰ํ•˜๋Š” ๊ณผ์ •์—์„œ ํ™œ์šฉ๋œ๋‹ค. ์ด ์•ก์…˜์€ ์ปค๋ฐ‹, ๋ธŒ๋žœ์น˜, PR ๊ฐ„์— ํŒŒ์ผ์ด ์ถ”๊ฐ€, ์ˆ˜์ •, ์‚ญ์ œ๋œ ๋‚ด์—ญ์„ ์ถ”์ ํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•ด์ค€๋‹ค.

ํ•ด์ปค๋“ค์€ ์•ก์…˜ ์ฝ”๋“œ๋ฅผ ์ˆ˜์ •ํ•˜๊ณ  ์•…์„ฑ ์ปค๋ฐ‹์„ ์ฐธ์กฐํ•˜๊ธฐ ์œ„ํ•ด ๋‹ค์ˆ˜์˜ ํƒœ๊ทธ ๋ฒ„์ „์„ ์†Œ๊ธ‰ ์—…๋ฐ์ดํŠธํ–ˆ์œผ๋ฉฐ, ์ด๋กœ ์ธํ•ด ์ˆ˜์ฒœ ๊ฐœ์˜ CI ํŒŒ์ดํ”„๋ผ์ธ์— ์˜ํ–ฅ์„ ๋ฏธ์น˜๋ฉด์„œ CI/CD ์‹œํฌ๋ฆฟ์„ ์œ ์ถœํ•˜๋Š” ์•…์„ฑ ํŒŒ์ด์ฌ ์Šคํฌ๋ฆฝํŠธ๋ฅผ ์‹คํ–‰ํ•˜๊ฒŒ ๋˜์—ˆ๋‹ค.

์ด๋ฒˆ tj-actions/changed-files ์นจํ•ด ์‚ฌ๊ฑด์€ ํ™•์‚ฐ ์ค‘์ธ CI/CD ํ™˜๊ฒฝ์—์„œ์˜ ๊ณต๊ธ‰๋ง ๊ณต๊ฒฉ ์œ„ํ—˜์„ ๋‹ค์‹œ ํ•œ๋ฒˆ ๋ถ€๊ฐ์‹œํ‚จ๋‹ค. ์•…์„ฑ ํŽ˜์ด๋กœ๋“œ๋Š” ์ž๋™ ์Šค์บ๋‹ ๋„๊ตฌ์˜ ํƒ์ง€๋ฅผ ํ”ผํ•˜๊ธฐ ์œ„ํ•ด ์ •๊ตํ•˜๊ฒŒ ์ˆจ๊ฒจ์ ธ ์žˆ์—ˆ๋‹ค.

ํ”„๋กœ์ ํŠธ ์†Œ์œ ์ž๋“ค์€ ์ต๋ช…์˜ ํ•ด์ปค๋“ค์ด ์นจํ•ด๋œ ๋ฆฌํฌ์ง€ํ† ๋ฆฌ์— ์ ‘๊ทผ ๊ถŒํ•œ์ด ์žˆ๋Š” @tj-actions-bot์ด ์‚ฌ์šฉํ•œ GitHub PAT์„ ํ•ดํ‚นํ•˜๋ ค ์‹œ๋„ํ–ˆ๋‹ค๊ณ  ์ „ํ•œ๋‹ค. ์ด์— ๋”ฐ๋ผ ๊ณ„์ • ๋น„๋ฐ€๋ฒˆํ˜ธ๋Š” ์—…๋ฐ์ดํŠธ๋˜์—ˆ๊ณ , ์ธ์ฆ ๋ฐฉ์‹์€ ํŒจ์Šคํ‚ค ์‚ฌ์šฉ์œผ๋กœ ์—…๊ทธ๋ ˆ์ด๋“œ๋˜์—ˆ์œผ๋ฉฐ, ๊ถŒํ•œ ์ˆ˜์ค€๋„ ์ตœ๊ณ  ๋“ฑ๊ธ‰์œผ๋กœ ์žฌ์„ค์ •๋˜์—ˆ๊ณ , ์นจํ•ด๋œ PAT์€ ์‚ฌ์šฉ ์ค‘์ง€๋˜์—ˆ๋‹ค.

์˜ํ–ฅ์„ ๋ฐ›์€ ๊ฐœ์ธ ์•ก์„ธ์Šค ํ† ํฐ์€ ์‚ฌ์šฉ ์ค‘์ง€๋œ GitHub Action ์‹œํฌ๋ฆฟ์— ์ €์žฅ๋˜์–ด ์žˆ์œผ๋ฉฐ, ์žฌ๋ฐœ ๋ฐฉ์ง€๋ฅผ ์œ„ํ•ด ๋ชจ๋“  tj-actions ์กฐ์ง์˜ ํ”„๋กœ์ ํŠธ์—์„œ๋Š” ๋” ์ด์ƒ PAT ์‚ฌ์šฉ์ด ํ—ˆ์šฉ๋˜์ง€ ์•Š์„ ์˜ˆ์ •์ด๋‹ค.

GitHub Action ์‚ฌ์šฉ์ž๋“ค์€ ์ตœ์‹  ๋ฒ„์ „์œผ๋กœ ์—…๋ฐ์ดํŠธํ•  ๊ฒƒ์„ ๊ถŒ๊ณ ํ•˜๋ฉฐ, 3์›” 14์ผ~15์ผ ์‚ฌ์ด์— ์‹คํ–‰๋œ ์›Œํฌํ”Œ๋กœ์šฐ๋ฅผ ๊ฒ€ํ† ํ•ด ๋ณ€๊ฒฝ๋œ ํŒŒ์ผ๋กœ ์ธํ•œ ์˜ˆ๊ธฐ์น˜ ์•Š์€ ๊ฒฐ๊ณผ๊ฐ€ ์—†๋Š”์ง€ ํ™•์ธํ•ด์•ผ ํ•œ๋‹ค.

์ด๋ฒˆ ๋ณด์•ˆ ์ด์Šˆ๋Š” ์ฒ˜์Œ์ด ์•„๋‹ˆ๋‹ค. 2024๋…„ 1์›”, tj-actions/changed-files์™€ tj-actions/branch-names์—์„œ ์ž„์˜์˜ ์ฝ”๋“œ ์‹คํ–‰์„ ํ—ˆ์šฉํ•˜๋Š” ์น˜๋ช…์  ๊ฒฐํ•จ(CVE-2023-49291, CVSS ์ ์ˆ˜: 9.8)์ด ๋ฐœ๊ฒฌ๋œ ๋ฐ” ์žˆ๋‹ค.

์ด๋ฒˆ ์‚ฌ๊ฑด์„ ํ†ตํ•ด ์˜คํ”ˆ์†Œ์Šค ์†Œํ”„ํŠธ์›จ์–ด๊ฐ€ ์ตœ์ข… ์‚ฌ์šฉ์ž์—๊ฒŒ ์ „๋‹ฌ๋˜๋Š” ๊ณต๊ธ‰๋ง ์œ„ํ—˜์— ๋…ธ์ถœ๋  ์ˆ˜ ์žˆ์Œ์„ ๋‹ค์‹œ ํ•œ ๋ฒˆ ์‹ค๊ฐํ•˜๊ฒŒ ๋˜์—ˆ๋‹ค.

2025๋…„ 3์›” 15์ผ, ๋ชจ๋“  ๋ฒ„์ „์˜ tj-actions/changed-files Action์ด ๊ณต๊ฒฉ์„ ๋ฐ›์•˜๋‹ค. ํ•ด์‹œ ํ•€(hash-pinned) ๋ฒ„์ „์„ ์‚ฌ์šฉ ์ค‘์ด๋˜ ๊ณ ๊ฐ๋“ค์€ ๊ณต๊ฒฉ ์‹œ์ ์— ์—…๋ฐ์ดํŠธํ•˜์ง€ ์•Š์•˜๋‹ค๋ฉด ์˜ํ–ฅ์„ ๋ฐ›์ง€ ์•Š์„ ๊ฒƒ์œผ๋กœ ๋ณด์ธ๋‹ค.


CI/CD

CI(Continuous Integration): ์ง€์†์ ์ธ ํ†ตํ•ฉ

→ ์ฝ”๋“œ ๋ณ€๊ฒฝ ์‚ฌํ•ญ์ด ์ •๊ธฐ์ ์œผ๋กœ ๋นŒ๋“œ ๋ฐ ํ…Œ์ŠคํŠธ๋˜์–ด ๊ณต์œ  ๋ ˆํฌ์ง€ํ† ๋ฆฌ์— ํ†ตํ•ฉ๋˜๋Š” ๊ฒƒ

  • ๋น ๋ฅธ ๋ฒ„๊ทธ ํ™•์ธ ๋ฐ ํ•ด๊ฒฐ
  • ์†Œํ”„ํŠธ์›จ์–ด ํ’ˆ์งˆ ๊ฐœ์„ 
  • ์ƒˆ๋กœ์šด ์—…๋ฐ์ดํŠธ์˜ ๊ฒ€์ฆ ๋ฐ ๋ฆด๋ฆฌ์ฆˆ ์‹œ๊ฐ„ ๋‹จ์ถ•

CD(Continuous Delivery/Deployment): ์ง€์†์ ์ธ ๋ฐฐํฌ

→ ๊ณต์œ  ๋ฆฌํฌ์ง€ํ† ๋ฆฌ๋กœ ์ž๋™์œผ๋กœ ๋ฆด๋ฆฌ์ฆˆ & ํ”„๋กœ๋•์…˜ ๋ ˆ๋ฒจ๊นŒ์ง€ ์ž๋™์œผ๋กœ ๋ฐฐํฌ

  • ๋น ๋ฅธ ์‹œ๊ฐ„ ๋‚ด์— ๊ณ ๊ฐ์—๊ฒŒ ๋ฆด๋ฆฌ์ฆˆ ๋˜๋Š” ๊ฒƒ

  • compromise: ์นจํ•ด
  • retrieve: ๊ฒ€์ƒ‰ํ•˜๋‹ค
  • retroactively: ์†Œ๊ธ‰ํ•˜์—ฌ
  • siphon: ์ด๋™ํ•˜๋‹ค
  • unverified: ํ™•์ธ๋˜์ง€ ์•Š์€
  • deploy: ๋ฐฐํฌ
  • revoked: ์ทจ์†Œ๋จ
  • pave: ๋ฎ์–ด์“ฐ๋‹ค
  • susceptible: ๋А๋ผ๊ธฐ ์‰ฌ์šด

+ Recent posts