Skip to main content

์ฝ”๋“œ ์Šค์บ” ๊ตฌ์„ฑ ๊ด€๋ฆฌ

๋ถ„์„์—์„œ ์ƒ์„ฑ๋œ ๋ฉ”ํŠธ๋ฆญ ๋ฐ ๋กœ๊น… ์ถœ๋ ฅ์˜ ๋„์›€์œผ๋กœ ๊ธฐ์กด code scanning ๊ตฌ์„ฑ์„ ๊ด€๋ฆฌํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

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

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

  • GitHub.com์— ๋Œ€ํ•œ ํผ๋ธ”๋ฆญ ๋ฆฌํฌ์ง€ํ† ๋ฆฌ
  • GitHub Code Security๋ฅผ ์‚ฌ์šฉํ•˜๋„๋ก ์„ค์ •๋œ GitHub Team์˜ ์กฐ์ง ์†Œ์œ  ๋ฆฌํฌ์ง€ํ† ๋ฆฌ

์ฝ”๋“œ ์Šค์บ”์„ ์œ„ํ•œ ๋„๊ตฌ ์ƒํƒœ ํŽ˜์ด์ง€ ์ •๋ณด

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

๊ธฐ๋ณธ ์„ค์ • ๊ตฌ์„ฑ ํŽธ์ง‘

์š”๊ตฌ ์‚ฌํ•ญ์„ ๋” ์ž˜ ์ถฉ์กฑํ•˜๊ธฐ ์œ„ํ•ด code scanning์— ๋Œ€ํ•œ ๊ธฐ๋ณธ ์„ค์ •์˜ ๊ธฐ์กด ๊ตฌ์„ฑ์„ ํŽธ์ง‘ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ฝ”๋“œ ๊ฒ€์‚ฌ ๋ณ‘ํ•ฉ ๋ณดํ˜ธ ์„ค์ •

๊ทœ์น™ ์ง‘ํ•ฉ์„ ์‚ฌ์šฉํ•˜์—ฌ ๋‹น๊ฒจ๋ฐ›๊ธฐ ์š”์ฒญ์— ๋Œ€ํ•œ code scanning ๋ณ‘ํ•ฉ ๋ณดํ˜ธ๋ฅผ ์„ค์ •ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ฝ”๋“œ ๊ฒ€์‚ฌ์— ์œ„์ž„๋œ ๊ฒฝ๊ณ  ํ•ด์ œ ์‚ฌ์šฉ

์œ„์ž„๋œ ๊ฒฝ๊ณ  ํ•ด์ œ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ code scanning์—์„œ ์ฐพ์€ ๊ฒฝ๊ณ ๋ฅผ ํ•ด์ œํ•  ์ˆ˜ ์žˆ๋Š” ์‚ฌ์šฉ์ž๋ฅผ ์ œ์–ดํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

CodeQL ์ฟผ๋ฆฌ ๋„๊ตฌ ๋ชจ์Œ

CodeQL code scanning ์„ค์ •์—์„œ ์‚ฌ์šฉํ•  ๋‹ค๋ฅธ ๊ธฐ๋ณธ ์ œ๊ณต CodeQL ์ฟผ๋ฆฌ ๋„๊ตฌ ๋ชจ์Œ ์ค‘์—์„œ ์„ ํƒํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๊ธฐ๋ณธ ์„ค์ •์— ๋Œ€ํ•ด ๋Œ€ํ˜• ๋Ÿฌ๋„ˆ ๊ตฌ์„ฑํ•˜๊ธฐ

๋Œ€ํ˜• ๋Ÿฌ๋„ˆ์„(๋ฅผ) ์‚ฌ์šฉํ•˜์—ฌ ๋” ํฐ ์ฝ”๋“œ๋ฒ ์ด์Šค์—์„œ code scanning์„(๋ฅผ) ๋” ๋น ๋ฅด๊ฒŒ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ฝ”๋“œ ๊ฒ€์‚ฌ ๋กœ๊ทธ ๋ณด๊ธฐ

GitHub์—์„œ code scanning ๋ถ„์„ ์ค‘์— ์ƒ์„ฑ๋œ ์ถœ๋ ฅ์„ ๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

CodeQL ๋ถ„์„์„ ์œ„ํ•œ ์ž‘์—… ์ฟผ๋ฆฌ

default ๋˜๋Š” security-extended ์ฟผ๋ฆฌ ๋ชจ์Œ์„ ์„ ํƒํ•˜๋ฉด CodeQL์ด GitHub Actions ์›Œํฌํ”Œ๋กœ ํŒŒ์ผ์— ์ž‘์„ฑ๋œ ์ฝ”๋“œ๋ฅผ ๋ถ„์„ํ•˜๋Š” ๋ฐ ์‚ฌ์šฉํ•˜๋Š” ์ฟผ๋ฆฌ๋ฅผ ์‚ดํŽด๋ณด์„ธ์š”.

CodeQL ๋ถ„์„์„ ์œ„ํ•œ C ๋ฐ C++ ์ฟผ๋ฆฌ

default ๋˜๋Š” security-extended ์ฟผ๋ฆฌ ๋„๊ตฌ ๋ชจ์Œ์„ ์„ ํƒํ•  ๋•Œ CodeQL์—์„œ C ๋˜๋Š” C++๋กœ ์ž‘์„ฑ๋œ ์ฝ”๋“œ๋ฅผ ๋ถ„์„ํ•˜๋Š” ๋ฐ ์‚ฌ์šฉํ•˜๋Š” ์ฟผ๋ฆฌ๋ฅผ ์‚ดํŽด๋ด…๋‹ˆ๋‹ค.

CodeQL ๋ถ„์„์„ ์œ„ํ•œ C# ์ฟผ๋ฆฌ

default ๋˜๋Š” security-extended ์ฟผ๋ฆฌ ๋„๊ตฌ ๋ชจ์Œ์„ ์„ ํƒํ•  ๋•Œ CodeQL์—์„œ C#์œผ๋กœ ์ž‘์„ฑ๋œ ์ฝ”๋“œ๋ฅผ ๋ถ„์„ํ•˜๋Š” ๋ฐ ์‚ฌ์šฉํ•˜๋Š” ์ฟผ๋ฆฌ๋ฅผ ์‚ดํŽด๋ด…๋‹ˆ๋‹ค.

CodeQL ๋ถ„์„์„ ์œ„ํ•œ GitHub Actions ์ฟผ๋ฆฌ

default ๋˜๋Š” security-extended ์ฟผ๋ฆฌ ๋ชจ์Œ์„ ์„ ํƒํ•  ๋•Œ CodeQL์ด GitHub Actions์—์„œ ์‚ฌ์šฉํ•˜๋Š” ์›Œํฌํ”Œ๋กœ๋ฅผ ๋ถ„์„ํ•˜๋Š” ๋ฐ ์‚ฌ์šฉํ•˜๋Š” ์ฟผ๋ฆฌ๋ฅผ ์‚ดํŽด๋ณด์„ธ์š”.

CodeQL ๋ถ„์„์„ ์œ„ํ•œ Go ์ฟผ๋ฆฌ

default ๋˜๋Š” security-extended ์ฟผ๋ฆฌ ๋„๊ตฌ ๋ชจ์Œ์„ ์„ ํƒํ•  ๋•Œ CodeQL์—์„œ Go(Golang)๋กœ ์ž‘์„ฑ๋œ ์ฝ”๋“œ๋ฅผ ๋ถ„์„ํ•˜๋Š” ๋ฐ ์‚ฌ์šฉํ•˜๋Š” ์ฟผ๋ฆฌ๋ฅผ ์‚ดํŽด๋ด…๋‹ˆ๋‹ค.

CodeQL ๋ถ„์„์„ ์œ„ํ•œ Java ๋ฐ Kotlin ์ฟผ๋ฆฌ

default ๋˜๋Š” security-extended ์ฟผ๋ฆฌ ๋„๊ตฌ ๋ชจ์Œ์„ ์„ ํƒํ•  ๋•Œ CodeQL์—์„œ Java ๋˜๋Š” Kotlin์œผ๋กœ ์ž‘์„ฑ๋œ ์ฝ”๋“œ๋ฅผ ๋ถ„์„ํ•˜๋Š” ๋ฐ ์‚ฌ์šฉํ•˜๋Š” ์ฟผ๋ฆฌ๋ฅผ ์‚ดํŽด๋ด…๋‹ˆ๋‹ค.

CodeQL ๋ถ„์„์„ ์œ„ํ•œ JavaScript ๋ฐ TypeScript ์ฟผ๋ฆฌ

default ๋˜๋Š” security-extended ์ฟผ๋ฆฌ ๋„๊ตฌ ๋ชจ์Œ์„ ์„ ํƒํ•  ๋•Œ CodeQL์—์„œ JavaScript ๋˜๋Š” TypeScript๋กœ ์ž‘์„ฑ๋œ ์ฝ”๋“œ๋ฅผ ๋ถ„์„ํ•˜๋Š” ๋ฐ ์‚ฌ์šฉํ•˜๋Š” ์ฟผ๋ฆฌ๋ฅผ ์‚ดํŽด๋ด…๋‹ˆ๋‹ค.

CodeQL ๋ถ„์„์„ ์œ„ํ•œ Python ์ฟผ๋ฆฌ

default ๋˜๋Š” security-extended ์ฟผ๋ฆฌ ๋„๊ตฌ ๋ชจ์Œ์„ ์„ ํƒํ•  ๋•Œ CodeQL์—์„œ Python์œผ๋กœ ์ž‘์„ฑ๋œ ์ฝ”๋“œ๋ฅผ ๋ถ„์„ํ•˜๋Š” ๋ฐ ์‚ฌ์šฉํ•˜๋Š” ์ฟผ๋ฆฌ๋ฅผ ์‚ดํŽด๋ด…๋‹ˆ๋‹ค.

CodeQL ๋ถ„์„์„ ์œ„ํ•œ Ruby ์ฟผ๋ฆฌ

default ๋˜๋Š” security-extended ์ฟผ๋ฆฌ ๋„๊ตฌ ๋ชจ์Œ์„ ์„ ํƒํ•  ๋•Œ CodeQL์—์„œ Ruby๋กœ ์ž‘์„ฑ๋œ ์ฝ”๋“œ๋ฅผ ๋ถ„์„ํ•˜๋Š” ๋ฐ ์‚ฌ์šฉํ•˜๋Š” ์ฟผ๋ฆฌ๋ฅผ ์‚ดํŽด๋ด…๋‹ˆ๋‹ค.

CodeQL ๋ถ„์„์„ ์œ„ํ•œ Rust ์ฟผ๋ฆฌ

default ๋˜๋Š” security-extended ์ฟผ๋ฆฌ ๋„๊ตฌ ๋ชจ์Œ์„ ์„ ํƒํ•  ๋•Œ CodeQL์—์„œ Rust๋กœ ์ž‘์„ฑ๋œ ์ฝ”๋“œ๋ฅผ ๋ถ„์„ํ•˜๋Š” ๋ฐ ์‚ฌ์šฉํ•˜๋Š” ์ฟผ๋ฆฌ๋ฅผ ์‚ดํŽด๋ด…๋‹ˆ๋‹ค.

CodeQL ๋ถ„์„์„ ์œ„ํ•œ Swift ์ฟผ๋ฆฌ

default ๋˜๋Š” security-extended ์ฟผ๋ฆฌ ๋„๊ตฌ ๋ชจ์Œ์„ ์„ ํƒํ•  ๋•Œ CodeQL์—์„œ Swift๋กœ ์ž‘์„ฑ๋œ ์ฝ”๋“œ๋ฅผ ๋ถ„์„ํ•˜๋Š” ๋ฐ ์‚ฌ์šฉํ•˜๋Š” ์ฟผ๋ฆฌ๋ฅผ ์‚ดํŽด๋ด…๋‹ˆ๋‹ค.