Skip to main content

์ฝ”๋“œ ๊ฒ€์ƒ‰์„ ์œ„ํ•œ ๊ธฐ๋ณธ ์„ค์ • ํ‰๊ฐ€

์ฝ”๋“œ ๊ฒ€์ƒ‰์ด ์–ด๋–ป๊ฒŒ ์ž‘๋™ํ•˜๋Š”์ง€ ํ‰๊ฐ€ํ•˜๋Š” ๋ฐฉ๋ฒ•๊ณผ ์‚ฌ์šฉ์ž์˜ ํ•„์š”๋ฅผ ์ž˜ ์ถฉ์กฑํ•˜๋„๋ก ์„ค์ •์„ ์‚ฌ์šฉ์ž ์ง€์ •ํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์•Œ์•„๋ด…๋‹ˆ๋‹ค.

๋ˆ„๊ฐ€ ์ด ๊ธฐ๋Šฅ์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‚˜์š”?

๋ฆฌํฌ์ง€ํ† ๋ฆฌ ์†Œ์œ ์ž, ์กฐ์ง ์†Œ์œ ์ž, ๋ณด์•ˆ ๊ด€๋ฆฌ์ž ๋ฐ ๊ด€๋ฆฌ์ž ์—ญํ• ์ด ์žˆ๋Š” ์‚ฌ์šฉ์ž

code scanning์„(๋ฅผ) ์ฒ˜์Œ ์‚ฌ์šฉํ•˜๊ธฐ ์‹œ์ž‘ํ•˜๋ฉด ๊ธฐ๋ณธ ์„ค์ •์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด ๊ฐ€์ด๋“œ์—์„œ๋Š” code scanning์— ๋Œ€ํ•œ ๊ธฐ๋ณธ ์„ค์ •์ด ์–ด๋–ป๊ฒŒ ์ž‘๋™ํ•˜๋Š”์ง€ ํ‰๊ฐ€ํ•˜๋Š” ๋ฐฉ๋ฒ•๊ณผ ์˜ˆ์ƒ๋Œ€๋กœ ์ž‘๋™ํ•˜์ง€ ์•Š๋Š” ๊ฒฝ์šฐ ์ˆ˜ํ–‰ํ•  ๋‹จ๊ณ„๋ฅผ ์„ค๋ช…ํ•ฉ๋‹ˆ๋‹ค. ์ด ๊ฐ€์ด๋“œ์—์„œ๋Š” ์ƒˆ ๊ตฌ์„ฑ์— ๋งž์ง€ ์•Š๋Š” ํŠน์ • ์‚ฌ์šฉ ์‚ฌ๋ก€๊ฐ€ ์žˆ๋Š” ๊ฒฝ์šฐ code scanning์„(๋ฅผ) ์‚ฌ์šฉ์ž ์ง€์ •ํ•˜๋Š” ๋ฐฉ๋ฒ•์— ๋Œ€ํ•ด์„œ๋„ ์„ค๋ช…ํ•ฉ๋‹ˆ๋‹ค.

code scanning ์‚ฌ์šฉ์ž ์ง€์ •

์ฒ˜์Œ ๊ธฐ๋ณธ ์„ค์ •์„ ๊ตฌ์„ฑํ•˜๊ฑฐ๋‚˜ ์ฝ”๋“œ์˜ ์ดˆ๊ธฐ ๋ถ„์„ ํ›„์— ๊ธฐ๋ณธ ์„ค์ •์ด ๋ถ„์„๋  ์–ธ์–ด ๋ฐ ๋ถ„์„ ์ค‘ ์ฟผ๋ฆฌ ๋„๊ตฌ ๋ชจ์Œ ์‹คํ–‰์„ ํŽธ์ง‘ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. default ์ฟผ๋ฆฌ ๋„๊ตฌ ๋ชจ์Œ์—๋Š” ๊ฐ€์–‘์„ฑ ๊ฒฐ๊ณผ๋ฅผ ์ตœ์†Œํ™”ํ•˜๋ฉด์„œ ๊ฐ€์žฅ ๊ด€๋ จ์„ฑ์ด ํฐ ๋ณด์•ˆ ๋ฌธ์ œ๋ฅผ ์ฐพ๋„๋ก ์‹ ์ค‘ํ•˜๊ฒŒ ์„ค๊ณ„๋œ ์ฟผ๋ฆฌ ์ง‘ํ•ฉ์ด ํฌํ•จ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ security-extended ๋„๊ตฌ ๋ชจ์Œ์„ ์‚ฌ์šฉํ•˜์—ฌ ์ •๋ฐ€๋„๊ฐ€ ์•ฝ๊ฐ„ ๋‚ฎ์€ ์ถ”๊ฐ€ ์ฟผ๋ฆฌ๋ฅผ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ ์ฟผ๋ฆฌ ๋„๊ตฌ ๋ชจ์Œ์— ๋Œ€ํ•œ ์ž์„ธํ•œ ์ •๋ณด๋Š” CodeQL ์ฟผ๋ฆฌ ๋„๊ตฌ ๋ชจ์Œ์„(๋ฅผ) ์ฐธ์กฐํ•˜์„ธ์š”.

์‚ฌ์šฉ์ž ์ง€์ • ๊ธฐ๋ณธ ์„ค์ •์— ๋Œ€ํ•œ ์ž์„ธํ•œ ๋‚ด์šฉ์€ ๊ธฐ๋ณธ ์„ค์ • ๊ตฌ์„ฑ ํŽธ์ง‘์„(๋ฅผ) ์ฐธ์กฐํ•˜์„ธ์š”.

๊ณ ๊ธ‰ ์„ค์ • ์‚ฌ์šฉ

code scanning์„(๋ฅผ) ๋ณด๋‹ค ์„ธ๋ถ€์ ์œผ๋กœ ์ œ์–ดํ•ด์•ผ ํ•˜๋Š” ๊ฒฝ์šฐ ๊ณ ๊ธ‰ ์„ค์ •์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ณ ๊ธ‰ ์„ค์ •์€ ๊ตฌ์„ฑ, ์‚ฌ์šฉ์ž ์ง€์ •, ์œ ์ง€ ๊ด€๋ฆฌ์— ํ›จ์”ฌ ๋” ๋งŽ์€ ๋…ธ๋ ฅ์ด ํ•„์š”ํ•˜๋ฏ€๋กœ ๋จผ์ € ๊ธฐ๋ณธ ์„ค์ •์„ ์‚ฌ์šฉํ•˜๋„๋ก ์„ค์ •ํ•˜๋Š” ๊ฒƒ์ด ์ข‹์Šต๋‹ˆ๋‹ค. ๊ณ ๊ธ‰ ์„ค์ •์— ๋Œ€ํ•œ ์ž์„ธํ•œ ์ •๋ณด๋Š” ์ฝ”๋“œ ์Šค์บ”์„ ์œ„ํ•œ ๊ณ ๊ธ‰ ์„ค์ • ๊ตฌ์„ฑ ๋ฐ ์ฝ”๋“œ ๊ฒ€์ƒ‰์„ ์œ„ํ•œ ๊ณ ๊ธ‰ ์„ค์ • ์‚ฌ์šฉ์ž ์ง€์ •์„(๋ฅผ) ์ฐธ์กฐํ•˜์„ธ์š”.

๋„๊ตฌ ์ƒํƒœ ํŽ˜์ด์ง€์„(๋ฅผ) ์‚ฌ์šฉํ•˜์—ฌ code scanning ํ‰๊ฐ€

๋„๊ตฌ ์ƒํƒœ ํŽ˜์ด์ง€์—๋Š” ๋ชจ๋“  code scanning ๋„๊ตฌ์— ๋Œ€ํ•œ ์œ ์šฉํ•œ ์ •๋ณด๊ฐ€ ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค. ์ด๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๊ฐœ๋ณ„ ๋„๊ตฌ๊ฐ€ ๋ฆฌํฌ์ง€ํ† ๋ฆฌ์— ๋Œ€ํ•ด ์ž‘๋™ํ•˜๋Š”์ง€ ์—ฌ๋ถ€, ๋ฆฌํฌ์ง€ํ† ๋ฆฌ์˜ ํŒŒ์ผ์„ ์ฒ˜์Œ ๊ฒ€์‚ฌํ•˜๊ณ  ๊ฐ€์žฅ ์ตœ๊ทผ์— ๊ฒ€์‚ฌํ•œ ์‹œ๊ธฐ ๋ฐ ์˜ˆ์ •๋œ ๊ฒ€์‚ฌ๊ฐ€ ์˜ˆ์•ฝ๋  ์‹œ๊ธฐ๋ฅผ ์กฐ์‚ฌํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋˜ํ•œ ๋””๋ฒ„๊น… ๋ฌธ์ œ์— ์œ ์šฉํ•œ ์‹œ์ž‘์ ์ด๊ธฐ๋„ ํ•ฉ๋‹ˆ๋‹ค.

๋„๊ตฌ ์ƒํƒœ ํŽ˜์ด์ง€์„(๋ฅผ) ์‚ฌ์šฉํ•˜์—ฌ code scanning์—์„œ ๊ฒ€์‚ฌ ์ค‘์ธ ๊ทœ์น™ ๋ชฉ๋ก์„ CSV ํ˜•์‹์œผ๋กœ ๋‹ค์šด๋กœ๋“œํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. CodeQL์™€(๊ณผ) ๊ฐ™์€ ํ†ตํ•ฉ ๋„๊ตฌ์˜ ๊ฒฝ์šฐ ์Šค์บ”๋œ ํŒŒ์ผ์˜ ๋ฐฑ๋ถ„์œจ ๋ฐ ํŠน์ • ์˜ค๋ฅ˜ ๋ฉ”์‹œ์ง€๋ฅผ ํฌํ•จํ•˜์—ฌ ์ž์„ธํ•œ ์ •๋ณด๋ฅผ ๋ณผ ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค.

๊ธฐ๋ณธ ์„ค์ •์ด ๋ชจ๋“  ํŒŒ์ผ์„ ๊ฒ€์ƒ‰ํ•˜์ง€ ์•Š๋Š” ๊ฒฝ์šฐ code scanning์„(๋ฅผ) ์‚ฌ์šฉ์ž ์ง€์ •ํ•ด์•ผ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ž์„ธํ•œ ๋‚ด์šฉ์€ ์ด ๋ฌธ์„œ์˜ ์‚ฌ์šฉ์ž ์ง€์ • ์ฝ”๋“œ ๊ฒ€์ƒ‰์„ ์ฐธ์กฐํ•˜์„ธ์š”. ๋˜๋Š” ๋‹ค๋ฅธ ํ•ญ๋ชฉ์ด ์˜ˆ์ƒ๋Œ€๋กœ ์ž‘๋™ํ•˜์ง€ ์•Š๋Š” ๊ฒฝ์šฐ ์ „์šฉ ๋ฌธ์ œ ํ•ด๊ฒฐ ์„ค๋ช…์„œ๊ฐ€ ์œ ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ž์„ธํ•œ ๋‚ด์šฉ์€ ์ฝ”๋“œ ๊ฒ€์‚ฌ ๋ฌธ์ œ ํ•ด๊ฒฐ์„(๋ฅผ) ์ฐธ์กฐํ•˜์„ธ์š”.

๋„๊ตฌ ์ƒํƒœ ํŽ˜์ด์ง€์— ๋Œ€ํ•œ ์ž์„ธํ•œ ๋‚ด์šฉ์€ ์ฝ”๋“œ ์Šค์บ”์„ ์œ„ํ•œ ๋„๊ตฌ ์ƒํƒœ ํŽ˜์ด์ง€ ์ •๋ณด์„(๋ฅผ) ์ฐธ์กฐํ•˜์„ธ์š”.