Skip to main content

ํšŒ์‚ฌ์—์„œ ์ฝ”๋“œ ๊ฒ€์‚ฌ๋ฅผ ์œ„ํ•œ ์ž์ฒด ํ˜ธ์ŠคํŠธ ์‹คํ–‰๊ธฐ ๊ตฌ์„ฑ

GitHub ํ˜ธ์ŠคํŒ… ๋Ÿฌ๋„ˆ ์—†์ด ์—”ํ„ฐํ”„๋ผ์ด์ฆˆ์˜ code scanning์„ ์‚ฌ์šฉ, ๊ตฌ์„ฑ, ์‚ฌ์šฉ ์ค‘์ง€ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. Code scanning์„(๋ฅผ) ์‚ฌ์šฉํ•˜๋ฉด ์‚ฌ์šฉ์ž๊ฐ€ ์ฝ”๋“œ์—์„œ ์ทจ์•ฝ์„ฑ ๋ฐ ์˜ค๋ฅ˜๋ฅผ ์Šค์บ”ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

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

Code scanning์€ ๋‹ค์Œ ๋ฆฌํฌ์ง€ํ† ๋ฆฌ ์œ ํ˜•์—์„œ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

  • GitHub.com์— ๋Œ€ํ•œ ํผ๋ธ”๋ฆญ ๋ฆฌํฌ์ง€ํ† ๋ฆฌ
  • GitHub Team, GitHub Enterprise Cloud ๋˜๋Š” GitHub Enterprise Server์— ๋Œ€ํ•œ ์กฐ์ง ์†Œ์œ ์˜ ๋ฆฌํฌ์ง€ํ† ๋ฆฌ๋กœ, GitHub Code Security ๊ฐ€ ํ™œ์„ฑํ™”๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค.

์ž์ฒด ํ˜ธ์ŠคํŠธ ์‹คํ–‰๊ธฐ ํ”„๋กœ๋น„์ „

์ฐธ๊ณ  ํ•ญ๋ชฉ

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

CodeQL ๋ถ„์„์„ ์œ„ํ•ด ์ž์ฒด ํ˜ธ์ŠคํŠธ๋œ ์‹คํ–‰๊ธฐ๋ฅผ ํ”„๋กœ๋น„์ „ํ•˜๋Š” ๊ฒฝ์šฐ, ์‹คํ–‰๊ธฐ๋Š” CodeQL ์ง€์› ์šด์˜ ์ฒด์ œ ๋ฒ„์ „ ๋ฐ CPU ์•„ํ‚คํ…์ฒ˜๋ฅผ ์‚ฌ์šฉํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. CodeQL ์‹œ์Šคํ…œ ์š”๊ตฌ ์‚ฌํ•ญ์„ ์ฐธ์กฐํ•˜์„ธ์š”.

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

์ปดํŒŒ์ผ๋œ ์–ธ์–ด์˜ ์ฝ”๋“œ ๊ฒ€์ƒ‰ ๋ถ„์„์— ๊ธฐ๋ณธ ์„ค์ •์„ ์‚ฌ์šฉํ•˜๋Š” ๋ฐฉ๋ฒ•์— ๋Œ€ํ•œ ์ž์„ธํ•œ ๋‚ด์šฉ์€ ์ปดํŒŒ์ผ๋œ ์–ธ์–ด์— ๋Œ€ํ•œ CodeQL ์ฝ”๋“œ ๊ฒ€์‚ฌํ•˜๊ธฐ์„(๋ฅผ) ์ฐธ์กฐํ•˜์„ธ์š”.

CodeQL ์ž‘์—…์„ ์‹คํ–‰ํ•˜๋Š” ๋ฐ ์‚ฌ์šฉํ•˜๋Š” ์ž์ฒด ํ˜ธ์ŠคํŠธ ์‹คํ–‰๊ธฐ์—์„œ Git์ด PATH ๋ณ€์ˆ˜์— ์žˆ๋Š”์ง€ ํ™•์ธํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

์ฐธ๊ณ  ํ•ญ๋ชฉ

CodeQL code scanning์„(๋ฅผ) ์‚ฌ์šฉํ•˜์—ฌ ์—”ํ„ฐํ”„๋ผ์ด์ฆˆ์—์„œ Python์œผ๋กœ ์ž‘์„ฑ๋œ ์ฝ”๋“œ๋ฅผ ๋ถ„์„ํ•˜๋Š” ๊ฒฝ์šฐ, ์ž์ฒด ํ˜ธ์ŠคํŒ… ์‹คํ–‰๊ธฐ์— Python 3๊ฐ€ ์„ค์น˜๋˜์–ด ์žˆ๋Š”์ง€ ํ™•์ธํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.