Skip to main content

์กฐ์ง ๋˜๋Š” ์—”ํ„ฐํ”„๋ผ์ด์ฆˆ์— ๋Œ€ํ•œ ๋ณด์•ˆ ์ •๋ณด ๋ณด๊ธฐ

์กฐ์ง ๋˜๋Š” ์—”ํ„ฐํ”„๋ผ์ด์ฆˆ์— ๋Œ€ํ•œ GitHub Advanced Security ๊ธฐ๋Šฅ, ๊ฒฝ๊ณ  ๊ฒ€์ƒ‰, ์ˆ˜์ •์— ๋Œ€ํ•œ ์ฑ„ํƒ๋ฅ ์„ ์‹œ๊ฐํ™”ํ•ฉ๋‹ˆ๋‹ค.

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

๋ณด์•ˆ ๊ฐœ์š”๋Š” GitHub Team ๋˜๋Š” GitHub Enterprise๊ฐ€ ์†Œ์œ ํ•˜๊ณ  Secret risk assessment๋ฅผ ์‹คํ–‰ํ•œ ๋ชจ๋“  ์กฐ์ง์—์„œ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์—”ํ„ฐํ”„๋ผ์ด์ฆˆ ๋ฐ ํ•ด๋‹น ์กฐ์ง์—์„œ ์ถ”๊ฐ€ ๋ณด๊ธฐ๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋ณด์•ˆ ๊ฐœ์š”

์กฐ์ง ๋˜๋Š” ์—”ํ„ฐํ”„๋ผ์ด์ฆˆ์˜ ์ „๋ฐ˜์ ์ธ ๋ณด์•ˆ ํ™˜๊ฒฝ์— ๋Œ€ํ•œ ์ธ์‚ฌ์ดํŠธ๋ฅผ ์–ป๊ณ  ๋ณด์•ˆ ๊ฐœ์š”๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๊ฐœ์ž…์ด ํ•„์š”ํ•œ ๋ฆฌํฌ์ง€ํ† ๋ฆฌ๋ฅผ ์‹๋ณ„ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋ณด์•ˆ ์ธ์‚ฌ์ดํŠธ ๋ณด๊ธฐ

๋ณด์•ˆ ๊ฐœ์š”์˜ ๊ฐœ์š” ๋Œ€์‹œ๋ณด๋“œ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์กฐ์ง ๋˜๋Š” ์—”ํ„ฐํ”„๋ผ์ด์ฆˆ ๋‚ด ๋ฆฌํฌ์ง€ํ† ๋ฆฌ์˜ ๋ณด์•ˆ ํ™˜๊ฒฝ์„ ๋ชจ๋‹ˆํ„ฐ๋งํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋ณด์•ˆ ๊ธฐ๋Šฅ ์ฑ„ํƒ ํ‰๊ฐ€

๋ณด์•ˆ ๊ฐœ์š”๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ฝ”๋“œ ๋ณด์•ˆ ๊ธฐ๋Šฅ์„ ์ด๋ฏธ ์‚ฌ์šฉํ•˜๋Š” ํŒ€๊ณผ ๋ฆฌํฌ์ง€ํ† ๋ฆฌ๋ฅผ ํ™•์ธํ•˜๊ณ  ์•„์ง ๋ณดํ˜ธ๋˜์ง€ ์•Š์€ ๊ธฐ๋Šฅ์„ ์‹๋ณ„ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ฝ”๋“œ์˜ ๋ณด์•ˆ ์œ„ํ—˜ ํ‰๊ฐ€

๋ณด์•ˆ ๊ฐœ์š”๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋ณด์•ˆ ๊ฒฝ๊ณ ์˜ ์˜ํ–ฅ์„ ๋ฐ›๋Š” ํŒ€๊ณผ ๋ฆฌํฌ์ง€ํ† ๋ฆฌ๋ฅผ ํ™•์ธํ•˜๊ณ  ๊ธด๊ธ‰ ์ˆ˜์ • ์ž‘์—…์ด ํ•„์š”ํ•œ ๋ฆฌํฌ์ง€ํ† ๋ฆฌ๋ฅผ ์‹๋ณ„ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋ณด์•ˆ ๊ฐœ์š”์—์„œ ๊ฒฝ๊ณ  ํ•„ํ„ฐ๋ง

ํ•„ํ„ฐ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๊ฒฝ๊ณ ์˜ ํŠน์ • ๋ฒ”์ฃผ ๋ณด๊ธฐ

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

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

Dependabot ๊ฒฝ๊ณ ์˜ ๋ฉ”ํŠธ๋ฆญ ๋ณด๊ธฐ

๋ณด์•ˆ ๊ฐœ์š”๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ์กฐ์ง ์ „์ฒด์˜ ๋ฆฌํฌ์ง€ํ† ๋ฆฌ์— Dependabot alerts๊ฐ€ ์–ผ๋งˆ๋‚˜ ์žˆ๋Š”์ง€ ํ™•์ธํ•˜๊ณ , ๊ฐ€์žฅ ์ค‘์š”ํ•œ ๊ฒฝ๊ณ ์˜ ์šฐ์„  ์ˆœ์œ„๋ฅผ ์ •ํ•˜๊ณ , ์กฐ์น˜๋ฅผ ์ทจํ•ด์•ผ ํ•  ๋ฆฌํฌ์ง€ํ† ๋ฆฌ๋ฅผ ์‹๋ณ„ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋น„๋ฐ€ ๊ฒ€์‚ฌ ํ‘ธ์‹œ ๋ณดํ˜ธ์— ๋Œ€ํ•œ ๋ฉ”ํŠธ๋ฆญ ๋ณด๊ธฐ

๋ณด์•ˆ ๊ฐœ์š”๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ secret scanning ํ‘ธ์‹œ ๋ณดํ˜ธ๊ฐ€ ์กฐ์ง ๋˜๋Š” ์—”ํ„ฐํ”„๋ผ์ด์ฆˆ ์ „์ฒด์˜ ๋ฆฌํฌ์ง€ํ† ๋ฆฌ์—์„œ ์–ด๋–ป๊ฒŒ ์ˆ˜ํ–‰๋˜๋Š”์ง€ ํ™•์ธํ•˜๊ณ  ์กฐ์น˜๋ฅผ ์ทจํ•ด์•ผ ํ•  ์ˆ˜ ์žˆ๋Š” ๋ฆฌํฌ์ง€ํ† ๋ฆฌ๋ฅผ ์‹๋ณ„ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

pull request ๊ฒฝ๊ณ ์— ๋Œ€ํ•œ ๋ฉ”ํŠธ๋ฆญ ๋ณด๊ธฐ

๋ณด์•ˆ ๊ฐœ์š”๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์กฐ์ง ์ „๋ฐ˜์˜ ๋ฆฌํฌ์ง€ํ† ๋ฆฌ์— ๋Œ€ํ•œ pull request์—์„œ CodeQL์˜ ์ˆ˜ํ–‰ ๋ฐฉ๋ฒ•์„ ํ™•์ธํ•˜๊ณ  ์กฐ์น˜๊ฐ€ ํ•„์š”ํ•œ ๋ฆฌํฌ์ง€ํ† ๋ฆฌ๋ฅผ ์‹๋ณ„ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

ํ‘ธ์‹œ ๋ณดํ˜ธ๋ฅผ ๋ฌด์‹œํ•˜๊ธฐ ์œ„ํ•œ ์š”์ฒญ ๊ฒ€ํ† 

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