Skip to main content

๋ณด์•ˆ ๊ฐœ์š”์—์„œ ๋ฐ์ดํ„ฐ ๋‚ด๋ณด๋‚ด๊ธฐ

๋ณด์•ˆ ๊ฐœ์š”์—์„œ ์กฐ์ง ๋˜๋Š” ๊ธฐ์—…์˜ ๊ฐœ์š”, ์œ„ํ—˜, ์ ์šฉ ๋ฒ”์œ„ ๋ฐ CodeQL ๋Œ์–ด์˜ค๊ธฐ ์š”์ฒญ ๊ฒฝ๊ณ  ํŽ˜์ด์ง€์— ์‚ฌ์šฉ๋˜๋Š” ๋ฐ์ดํ„ฐ์˜ CSV ํŒŒ์ผ์„ ๋‚ด๋ณด๋‚ผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

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

์•ก์„ธ์Šค์—๋Š” ๋‹ค์Œ์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค.

  • ์กฐ์ง ๋ณด๊ธฐ: ์กฐ์ง์˜ ๋ฆฌํฌ์ง€ํ† ๋ฆฌ์— ๋Œ€ํ•œ ์“ฐ๊ธฐ ์•ก์„ธ์Šค ๊ถŒํ•œ
  • ์—”ํ„ฐํ”„๋ผ์ด์ฆˆ ๋ณด๊ธฐ: ์กฐ์ง ์†Œ์œ ์ž ๋ฐ ๋ณด์•ˆ ๊ด€๋ฆฌ์ž

๋ณด์•ˆ ๊ฐœ์š” ๋ฐ์ดํ„ฐ ๋‚ด๋ณด๋‚ด๊ธฐ ์ •๋ณด

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

๊ฐœ์š” ํŽ˜์ด์ง€์—๋Š” ์กฐ์ง ๋˜๋Š” ์—”ํ„ฐํ”„๋ผ์ด์ฆˆ ์ „์ฒด์˜ ๋ณด์•ˆ ๊ฒฝ๊ณ ์— ๋Œ€ํ•œ ๋ฐ์ดํ„ฐ๊ฐ€ ํฌํ•จ๋˜์–ด ์žˆ์œผ๋ฉฐ, ์œ„ํ—˜ ๋ฐ ์ ์šฉ ๋ฒ”์œ„ ํŽ˜์ด์ง€์—๋Š” ๋ฆฌํฌ์ง€ํ† ๋ฆฌ์— ๋Œ€ํ•œ ๋ฐ์ดํ„ฐ์™€ ๋ณด์•ˆ ๊ฒฝ๊ณ ์˜ ์˜ํ–ฅ์„ ๋ฐ›๊ฑฐ๋‚˜ ๋ณด์•ˆ ๊ธฐ๋Šฅ์˜ ์ ์šฉ์„ ๋ฐ›๋Š” ๋ฐฉ์‹์— ๋Œ€ํ•œ ๋ฐ์ดํ„ฐ๊ฐ€ ํฌํ•จ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค. CodeQL ๋Œ์–ด์˜ค๊ธฐ ์š”์ฒญ ๊ฒฝ๊ณ  ํŽ˜์ด์ง€์—๋Š” ๊ธฐ๋ณธ ๋ถ„๊ธฐ ๋ณ‘ํ•ฉ๋œ ๋Œ์–ด์˜ค๊ธฐ ์š”์ฒญ์— ํฌ์ฐฉ๋œ CodeQL ๊ฒฝ๊ณ ์— ๋Œ€ํ•œ ๋ฐ์ดํ„ฐ๊ฐ€ ํฌํ•จ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค.

๋‹ค์šด๋กœ๋“œํ•œ CSV ํŒŒ์ผ์—๋Š” ๋ณด์•ˆ ๊ฐœ์š”์— ์ ์šฉํ•œ ํ•„ํ„ฐ์— ํ•ด๋‹นํ•˜๋Š” ๋ฐ์ดํ„ฐ๊ฐ€ ํฌํ•จ๋ฉ๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด ํ•„ํ„ฐ dependabot-alerts:enabled์„(๋ฅผ) ์ถ”๊ฐ€ํ•˜๋ฉด Dependabot alerts์„(๋ฅผ) ์‚ฌ์šฉํ•˜๋„๋ก ์„ค์ •ํ•œ ๋ฆฌํฌ์ง€ํ† ๋ฆฌ์˜ ๋ฐ์ดํ„ฐ๋งŒ ํŒŒ์ผ์— ํฌํ•จ๋ฉ๋‹ˆ๋‹ค.

์ฐธ๊ณ  ํ•ญ๋ชฉ

CSV ํŒŒ์ผ์˜ โ€œTeamsโ€ ์—ด์—์„œ ๊ฐ ๋ฆฌํฌ์ง€ํ† ๋ฆฌ์—๋Š” ํ•ด๋‹น ๋ฆฌํฌ์ง€ํ† ๋ฆฌ์— ๋Œ€ํ•œ ์“ฐ๊ธฐ ๊ถŒํ•œ์ด ์žˆ๋Š” ์ตœ๋Œ€ 20๊ฐœ ํŒ€์ด ๋‚˜์—ด๋ฉ๋‹ˆ๋‹ค. 20๊ฐœ ์ด์ƒ์˜ ํŒ€์ด ๋ฆฌํฌ์ง€ํ† ๋ฆฌ์— ๋Œ€ํ•œ ์“ฐ๊ธฐ ์•ก์„ธ์Šค ๊ถŒํ•œ์ด ์žˆ๋Š” ๊ฒฝ์šฐ ๋ฐ์ดํ„ฐ๊ฐ€ ์ž˜๋ฆฝ๋‹ˆ๋‹ค.

์กฐ์ง์˜ ๋ณด์•ˆ ๊ฐœ์š”์—์„œ ๊ฐœ์š”, ์ ์šฉ ๋ฒ”์œ„, ์œ„ํ—˜ ๋ฐ์ดํ„ฐ ๋‚ด๋ณด๋‚ด๊ธฐ

  1. GitHub์˜ ์˜ค๋ฅธ์ชฝ ์œ„ ๋ชจ์„œ๋ฆฌ์—์„œ ํ”„๋กœํ•„ ์‚ฌ์ง„์„ ์„ ํƒํ•œ ๋‹ค์Œ, Your organizations๋ฅผ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค.

  2. โ€œ์กฐ์งโ€ ์„น์…˜์—์„œ ๋ณด์•ˆ ๊ฐœ์š” ๋ฐ์ดํ„ฐ๋ฅผ ๋‹ค์šด๋กœ๋“œํ•  ์กฐ์ง์„ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค.

  3. ์กฐ์ง ์ด๋ฆ„์—์„œ ๋ณด์•ˆ์„ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค.

    ์กฐ์ง์˜ ๊ฐ€๋กœ ํƒ์ƒ‰ ๋ชจ์Œ ์Šคํฌ๋ฆฐ์ƒท ๋ฐฉํŒจ ์•„์ด์ฝ˜๊ณผ "๋ณด์•ˆ"์ด๋ผ๋Š” ๋ ˆ์ด๋ธ”์ด ์ง€์ •๋œ ํƒญ์ด ์ง„ํ•œ ์ฃผํ™ฉ์ƒ‰ ์œค๊ณฝ์„ ์œผ๋กœ ํ‘œ์‹œ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค.

  4. "๋ณด์•ˆ" ์‚ฌ์ด๋“œ๋ฐ”์—์„œ ๊ฐœ์š”, ์ ์šฉ ๋ฒ”์œ„, ์œ„ํ—˜ ๋˜๋Š” CodeQL ๋Œ์–ด์˜ค๊ธฐ ์š”์ฒญ ๊ฒฝ๊ณ ๋ฅผ ํด๋ฆญํ•˜์—ฌ ๋ฐ์ดํ„ฐ๋ฅผ ๋‚ด๋ณด๋‚ผ ํŽ˜์ด์ง€๋ฅผ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค.

  5. ๊ฒ€์ƒ‰๋ฐ” ์˜†์— ์žˆ๋Š” CSV ๋‚ด๋ณด๋‚ด๊ธฐ๋ฅผ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค.

    GitHub๊ฐ€ ๋ฐ์ดํ„ฐ์˜ CSV ํŒŒ์ผ์„ ์ƒ์„ฑํ•˜๋Š” ๋ฐ ์ž ์‹œ ์‹œ๊ฐ„์ด ๊ฑธ๋ฆด ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. CSV ํŒŒ์ผ์ด ์ƒ์„ฑ๋˜๋ฉด ํŒŒ์ผ์ด ์ž๋™์œผ๋กœ ๋‹ค์šด๋กœ๋“œ๋ฅผ ์‹œ์ž‘ํ•˜๊ณ  ๋ณด๊ณ ์„œ๊ฐ€ ์ค€๋น„๋จ์„ ํ™•์ธํ•˜๋Š” ๋ฐฐ๋„ˆ๊ฐ€ ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค. ๊ฐœ์š” ํŽ˜์ด์ง€์—์„œ CSV๋ฅผ ๋‹ค์šด๋กœ๋“œํ•˜๋Š” ๊ฒฝ์šฐ ๋ณด๊ณ ์„œ๊ฐ€ ์ค€๋น„๋˜๋ฉด CSV ๋‹ค์šด๋กœ๋“œ ๋งํฌ๊ฐ€ ํฌํ•จ๋œ ์ด๋ฉ”์ผ๋„ ๋ฐ›๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.

์ฐธ๊ณ  ํ•ญ๋ชฉ

์š”์•ฝ ๋ณด๊ธฐ(โ€œOverviewโ€, โ€œCoverageโ€, โ€œRiskโ€)๋Š” ๊ธฐ๋ณธ ๊ฒฝ๊ณ ์— ๋Œ€ํ•ด์„œ๋งŒ ๋ฐ์ดํ„ฐ๋ฅผ ํ‘œ์‹œํ•ฉ๋‹ˆ๋‹ค. ํƒ€์‚ฌ ๋„๊ตฌ์˜ Code scanning ๊ฒฝ๊ณ  ๋ฐ ๋น„๊ณต๊ธ‰์ž ํŒจํ„ด์— ๋Œ€ํ•œ secret scanning ๊ฒฝ๊ณ  ๋˜๋Š” ๋ฌด์‹œ๋œ ๋””๋ ‰ํ„ฐ๋ฆฌ์— ๋Œ€ํ•œ secret scanning ๊ฒฝ๊ณ ๋Š” ๋ชจ๋‘ ์ด๋Ÿฌํ•œ ๋ณด๊ธฐ์—์„œ ์ƒ๋žต๋ฉ๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ ์š”์•ฝ ๋ณด๊ธฐ์—์„œ ๋‚ด๋ณด๋‚ธ ํŒŒ์ผ์—๋Š” ์ด๋Ÿฌํ•œ ์œ ํ˜•์˜ ๊ฒฝ๊ณ ์— ๋Œ€ํ•œ ๋ฐ์ดํ„ฐ๊ฐ€ ํฌํ•จ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

์—”ํ„ฐํ”„๋ผ์ด์ฆˆ์˜ ๋ณด์•ˆ ๊ฐœ์š”์—์„œ ๊ฐœ์š”, ์ ์šฉ ๋ฒ”์œ„, ์œ„ํ—˜ ๋ฐ์ดํ„ฐ ๋‚ด๋ณด๋‚ด๊ธฐ

  1. GitHub Enterprise Cloud์œผ๋กœ ํƒ์ƒ‰ํ•ฉ๋‹ˆ๋‹ค.

  2. GitHub์˜ ์˜ค๋ฅธ์ชฝ ์œ„ ๋ชจ์„œ๋ฆฌ์—์„œ ํ”„๋กœํ•„ ์‚ฌ์ง„์„ ํด๋ฆญํ•œ ๋‹ค์Œ ์—”ํ„ฐํ”„๋ผ์ด์ฆˆ๋ฅผ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค.

  3. ์—”ํ„ฐํ”„๋ผ์ด์ฆˆ ๋ชฉ๋ก์—์„œ ๋ณด๋ ค๋Š” ์—”ํ„ฐํ”„๋ผ์ด์ฆˆ๋ฅผ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค. 1. ํŽ˜์ด์ง€ ๋งจ ์œ„์— ์žˆ๋Š” Security๋ฅผ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค.

  4. ๊ฐœ์š”, ์œ„ํ—˜ ๋˜๋Š” ์ ์šฉ ๋ฒ”์œ„๋ฅผ ํด๋ฆญํ•˜์—ฌ ๋‚ด๋ณด๋‚ด๋ ค๋Š” ํŽ˜์ด์ง€๋ฅผ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค.

  5. ๊ฒ€์ƒ‰๋ฐ” ์˜†์— ์žˆ๋Š” CSV ๋‚ด๋ณด๋‚ด๊ธฐ๋ฅผ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค.

    GitHub๊ฐ€ ๋ฐ์ดํ„ฐ์˜ CSV ํŒŒ์ผ์„ ์ƒ์„ฑํ•˜๋Š” ๋ฐ ์ž ์‹œ ์‹œ๊ฐ„์ด ๊ฑธ๋ฆด ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. CSV ํŒŒ์ผ์ด ์ƒ์„ฑ๋˜๋ฉด ํŒŒ์ผ์ด ์ž๋™์œผ๋กœ ๋‹ค์šด๋กœ๋“œ๋ฅผ ์‹œ์ž‘ํ•˜๊ณ  ๋ณด๊ณ ์„œ๊ฐ€ ์ค€๋น„๋จ์„ ํ™•์ธํ•˜๋Š” ๋ฐฐ๋„ˆ๊ฐ€ ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค. ๊ฐœ์š” ํŽ˜์ด์ง€์—์„œ CSV๋ฅผ ๋‹ค์šด๋กœ๋“œํ•˜๋Š” ๊ฒฝ์šฐ ๋ณด๊ณ ์„œ๊ฐ€ ์ค€๋น„๋˜๋ฉด CSV ๋‹ค์šด๋กœ๋“œ ๋งํฌ๊ฐ€ ํฌํ•จ๋œ ์ด๋ฉ”์ผ๋„ ๋ฐ›๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.