Skip to main content

๋‘ ๊ฐœ์˜ CodeQL ์›Œํฌํ”Œ๋กœ

"CodeQL"๋ผ๋Š” ๋‘ ๊ฐœ์˜ ์›Œํฌํ”Œ๋กœ๊ฐ€ ํ‘œ์‹œ๋˜๋Š” ๊ฒฝ์šฐ ํ•œ ์›Œํฌํ”Œ๋กœ๋Š” ๊ธฐ๋ณธ ์„ค์ •์—์„œ ์‚ฌ์šฉํ•˜์ง€ ์•Š๋„๋ก ์„ค์ •๋œ ๊ธฐ์กด CodeQL ์›Œํฌํ”Œ๋กœ ํŒŒ์ผ์ผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๊ธฐ๋ณธ ์„ค์ •์€ ๊ธฐ์กด CodeQL ์›Œํฌํ”Œ๋กœ๋ฅผ ์‚ฌ์šฉํ•˜์ง€ ์•Š๊ณ  CodeQL ๋ถ„์„ API ์—…๋กœ๋“œ๋ฅผ ์ฐจ๋‹จํ•˜๋„๋ก ์„ค์ •ํ•˜์—ฌ ๊ธฐ์กด CodeQL ์„ค์ •์„ ์žฌ์ •์˜ํ•ฉ๋‹ˆ๋‹ค. ์ด ๋™์ž‘์€ ๊ธฐ๋ณธ ์„ค์ •์˜ ๊ฒฐ๊ณผ๋งŒ ์‚ฌ์šฉ๋  ๋•Œ GitHub Actions ๋ถ„์„ ์‚ฌ์šฉํ•˜์—ฌ CodeQL ๊ณ ๊ธ‰ ์„ค์ •์— ๋Œ€ํ•œ ์›Œํฌํ”Œ๋กœ๋ฅผ ์‹คํ–‰ํ•˜๋Š” ๊ฒƒ์„ ์ค‘์ง€ํ•ฉ๋‹ˆ๋‹ค. ๊ณ ๊ธ‰ ์„ค์ •๊ณผ ๊ธฐ๋ณธ ์„ค์ • ๊ฐ„ ์ „ํ™˜์— ๋Œ€ํ•œ ์ž์„ธํ•œ ์ •๋ณด๋Š” ๊ฒฐ๊ณผ๋Š” ์˜ˆ์ƒ๊ณผ ๋‹ค๋ฆ…๋‹ˆ๋‹ค.์„(๋ฅผ) ์ฐธ์กฐํ•˜์„ธ์š”.

์„ ํƒ์ ์œผ๋กœ ์ด์ „์˜ ์›Œํฌํ”Œ๋กœ ํŒŒ์ผ์ด ๋” ์ด์ƒ ํ•„์š”ํ•˜์ง€ ์•Š์€ ๊ฒฝ์šฐ ๋ฆฌํฌ์ง€ํ† ๋ฆฌ์—์„œ ํŒŒ์ผ์„ ์‚ญ์ œํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ž์„ธํ•œ ๋‚ด์šฉ์€ ๋ฆฌํฌ์ง€ํ† ๋ฆฌ์—์„œ ํŒŒ์ผ ์‚ญ์ œ์„(๋ฅผ) ์ฐธ์กฐํ•˜์„ธ์š”.

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