Skip to main content

๋ฆฌํฌ์ง€ํ† ๋ฆฌ ๋ณด์•ˆ์„ ์œ„ํ•œ ๋น ๋ฅธ ์‹œ์ž‘

์ฝ”๋“œ ์•ก์„ธ์Šค ๊ด€๋ฆฌ ์ทจ์•ฝํ•œ ์ฝ”๋“œ ๋ฐ ์ข…์†์„ฑ์„ ์ž๋™์œผ๋กœ ์ฐพ์•„์„œ ์ˆ˜์ •ํ•ฉ๋‹ˆ๋‹ค.

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

๋ฆฌํฌ์ง€ํ† ๋ฆฌ ์†Œ์œ ์ž, ์กฐ์ง ์†Œ์œ ์ž, ๋ณด์•ˆ ๊ด€๋ฆฌ์ž ๋ฐ ๊ด€๋ฆฌ์ž ์—ญํ• ์ด ์žˆ๋Š” ์‚ฌ์šฉ์ž

์†Œ๊ฐœ

์ด ๊ฐ€์ด๋“œ์—์„œ๋Š” ๋ฆฌํฌ์ง€ํ† ๋ฆฌ์— ๋Œ€ํ•œ ๋ณด์•ˆ ๊ธฐ๋Šฅ์„ ๊ตฌ์„ฑํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ๋ณด์—ฌ ์ค๋‹ˆ๋‹ค.

๋ณด์•ˆ ์š”๊ตฌ ์‚ฌํ•ญ์€ ๋ฆฌํฌ์ง€ํ† ๋ฆฌ์— ๊ณ ์œ ํ•˜๋ฏ€๋กœ ๋ฆฌํฌ์ง€ํ† ๋ฆฌ์— ๋Œ€ํ•ด ๋ชจ๋“  ๊ธฐ๋Šฅ์„ ์‚ฌ์šฉํ•˜๋„๋ก ์„ค์ •ํ•  ํ•„์š”๋Š” ์—†์„ ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค. ์ž์„ธํ•œ ๋‚ด์šฉ์€ GitHub security features(GitHub ๋ณด์•ˆ ๊ธฐ๋Šฅ)์„(๋ฅผ) ์ฐธ์กฐํ•˜์„ธ์š”.

์ผ๋ถ€ ๊ธฐ๋Šฅ์€ ๋ชจ๋“  ๊ณ„ํš์˜ ๋ฆฌํฌ์ง€ํ† ๋ฆฌ์—์„œ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. GitHub Secret Protection, GitHub Code Security, or GitHub Advanced Security๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ์กฐ์ง๊ณผ ์—”ํ„ฐํ”„๋ผ์ด์ฆˆ์—์„œ ์ถ”๊ฐ€ ๊ธฐ๋Šฅ์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. GitHub Advanced Security ๊ธฐ๋Šฅ์€ GitHub์˜ ๋ชจ๋“  ํผ๋ธ”๋ฆญ ๋ฆฌํฌ์ง€ํ† ๋ฆฌ์—์„œ๋„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ž์„ธํ•œ ๋‚ด์šฉ์€ GitHub Advanced Security ์ •๋ณด์„(๋ฅผ) ์ฐธ์กฐํ•˜์„ธ์š”.

๋ฆฌํฌ์ง€ํ† ๋ฆฌ์— ๋Œ€ํ•œ ์•ก์„ธ์Šค ๊ด€๋ฆฌ

๋ฆฌํฌ์ง€ํ† ๋ฆฌ๋ฅผ ๋ณดํ˜ธํ•˜๋Š” ์ฒซ ๋ฒˆ์งธ ๋‹จ๊ณ„๋Š” ์ฝ”๋“œ๋ฅผ ๋ณด๊ณ  ์ˆ˜์ •ํ•  ์ˆ˜ ์žˆ๋Š” ์‚ฌ์šฉ์ž๋ฅผ ์„ค์ •ํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์ž์„ธํ•œ ๋‚ด์šฉ์€ ๋ฆฌํฌ์ง€ํ† ๋ฆฌ์˜ ์„ค์ • ๋ฐ ๊ธฐ๋Šฅ ๊ด€๋ฆฌ์„(๋ฅผ) ์ฐธ์กฐํ•˜์„ธ์š”.

๋ฆฌํฌ์ง€ํ† ๋ฆฌ์˜ ๊ธฐ๋ณธ ํŽ˜์ด์ง€์—์„œ Settings๋ฅผ ํด๋ฆญํ•œ ๋‹ค์Œ, ์•„๋ž˜๋กœ ์Šคํฌ๋กคํ•˜์—ฌ "Danger Zone"์œผ๋กœ ์ด๋™ํ•ฉ๋‹ˆ๋‹ค.

์ข…์†์„ฑ ๊ทธ๋ž˜ํ”„ ๊ด€๋ฆฌ

์ข…์†์„ฑ ๊ทธ๋ž˜ํ”„๋Š” ๋ชจ๋“  ํผ๋ธ”๋ฆญ ๋ฆฌํฌ์ง€ํ† ๋ฆฌ์— ๋Œ€ํ•ด ์ž๋™์œผ๋กœ ์ƒ์„ฑ๋ฉ๋‹ˆ๋‹ค. ํฌํฌ ๋ฐ ํ”„๋ผ์ด๋น— ๋ฆฌํฌ์ง€ํ† ๋ฆฌ์— ์‚ฌ์šฉํ•˜๋„๋ก ์„ ํƒํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ข…์†์„ฑ ๊ทธ๋ž˜ํ”„๋Š” ๋ฆฌํฌ์ง€ํ† ๋ฆฌ์˜ ๋งค๋‹ˆํŽ˜์ŠคํŠธ ๋ฐ ์ž ๊ธˆ ํŒŒ์ผ์„ ํ•ด์„ํ•˜์—ฌ ์ข…์†์„ฑ์„ ์‹๋ณ„ํ•ฉ๋‹ˆ๋‹ค.

  1. ๋ฆฌํฌ์ง€ํ† ๋ฆฌ์˜ ๊ธฐ๋ณธ ํŽ˜์ด์ง€์—์„œ Settings๋ฅผ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค.
  2. Advanced Security ๋ฅผ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค.
  3. ์ข…์†์„ฑ ๊ทธ๋ž˜ํ”„ ์˜†์— ์žˆ๋Š” ์‚ฌ์šฉ ๋˜๋Š” ์‚ฌ์šฉ ์•ˆ ํ•จ์„ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค.

์ž์„ธํ•œ ๋‚ด์šฉ์€ ๋ฆฌํฌ์ง€ํ† ๋ฆฌ์˜ ์ข…์†์„ฑ ํƒ์ƒ‰์„(๋ฅผ) ์ฐธ์กฐํ•˜์„ธ์š”.

Dependabot alerts ๊ด€๋ฆฌ

Dependabot alerts๋Š” GitHub๊ฐ€ ์ทจ์•ฝ์„ฑ์ด ์žˆ๋Š” ์ข…์†์„ฑ ๊ทธ๋ž˜ํ”„์˜ ์ข…์†์„ฑ์„ ์‹๋ณ„ํ•  ๋•Œ ์ƒ์„ฑ๋ฉ๋‹ˆ๋‹ค. ๋ชจ๋“  ๋ฆฌํฌ์ง€ํ† ๋ฆฌ์— ๋Œ€ํ•ด Dependabot alerts๋ฅผ ์‚ฌ์šฉํ•˜๋„๋ก ์„ค์ •ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

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

Dependabot์—์„œ ์ œ๊ณตํ•˜๋Š” ๋‹ค์–‘ํ•œ ๊ธฐ๋Šฅ์— ๋Œ€ํ•œ ๊ฐœ์š” ๋ฐ ์‹œ์ž‘ํ•˜๋Š” ๋ฐฉ๋ฒ•์— ๋Œ€ํ•œ ์ง€์นจ์€ Dependabot ๋น ๋ฅธ ์‹œ์ž‘ ๊ฐ€์ด๋“œ์„(๋ฅผ) ์ฐธ์กฐํ•˜์„ธ์š”.

  1. ํ”„๋กœํ•„ ์‚ฌ์ง„์„ ํด๋ฆญํ•œ ๋‹ค์Œ, Settings๋ฅผ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค.
  2. Advanced Security ๋ฅผ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค.
  3. Dependabot alerts ์˜†์— ์žˆ๋Š” Enable์„ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค.

์ž์„ธํ•œ ๋‚ด์šฉ์€ Dependabot ๊ฒฝ๊ณ  ์ •๋ณด ๋ฐ ๊ฐœ์ธ ๊ณ„์ •์— ๋Œ€ํ•œ ๋ณด์•ˆ ๋ฐ ๋ถ„์„ ์„ค์ • ๊ด€๋ฆฌ์„(๋ฅผ) ์ฐธ์กฐํ•˜์„ธ์š”.

์ข…์†์„ฑ ๊ฒ€ํ†  ๊ด€๋ฆฌ

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

์ข…์†์„ฑ ๊ฒ€ํ† ๋Š” GitHub Code Security ๊ธฐ๋Šฅ์ž…๋‹ˆ๋‹ค. ์ข…์†์„ฑ ๊ทธ๋ž˜ํ”„๊ฐ€ ํ™œ์„ฑํ™”๋œ ๋ชจ๋“  ๋ฆฌํฌ์ง€ํ† ๋ฆฌ์— ์ข…์†์„ฑ ๊ฒ€ํ† ๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. GitHub Code Security๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ GitHub Team ๋˜๋Š” GitHub Enterprise Cloud๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ์กฐ์ง์€ ํ”„๋ผ์ด๋น— ๋ฐ ๋‚ด๋ถ€ ๋ฆฌํฌ์ง€ํ† ๋ฆฌ์— ๋Œ€ํ•œ ์ข…์†์„ฑ ๊ฒ€ํ† ๋ฅผ ์ถ”๊ฐ€๋กœ ์‚ฌ์šฉํ•˜๋„๋ก ์„ค์ •ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋ฆฌํฌ์ง€ํ† ๋ฆฌ์— ๋Œ€ํ•œ ์ข…์†์„ฑ ๊ฒ€ํ† ๋ฅผ ์‚ฌ์šฉํ•˜๋„๋ก ์„ค์ •ํ•˜๋ ค๋ฉด ์ข…์†์„ฑ ๊ทธ๋ž˜ํ”„๋ฅผ ์‚ฌ์šฉํ•˜๋„๋ก ์„ค์ •ํ•˜๊ณ  GitHub Code Security๋ฅผ ์‚ฌ์šฉํ•˜๋„๋ก ์„ค์ •ํ•ฉ๋‹ˆ๋‹ค.

  1. ๋ฆฌํฌ์ง€ํ† ๋ฆฌ์˜ ๊ธฐ๋ณธ ํŽ˜์ด์ง€์—์„œ Settings๋ฅผ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค.
  2. Advanced Security ๋ฅผ ํด๋ฆญํ•˜์„ธ์š”.
  3. Code Security์˜ ์˜ค๋ฅธ์ชฝ์—์„œ Enable์„ ํด๋ฆญํ•˜์„ธ์š”.
  4. Code Security์—์„œ ๋ฆฌํฌ์ง€ํ† ๋ฆฌ์— ๋Œ€ํ•œ ์ข…์†์„ฑ ๊ทธ๋ž˜ํ”„๊ฐ€ ์‚ฌ์šฉํ•˜๋„๋ก ์„ค์ •๋˜์–ด ์žˆ๋Š”์ง€ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค.

Dependabot security updates ๊ด€๋ฆฌ

Dependabot alerts๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๋ฆฌํฌ์ง€ํ† ๋ฆฌ์˜ ๊ฒฝ์šฐ ์ทจ์•ฝ์„ฑ์ด ๊ฐ์ง€๋˜๋ฉด Dependabot security updates๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋ณด์•ˆ ์—…๋ฐ์ดํŠธ๋กœ ๋Œ์–ด์˜ค๊ธฐ ์š”์ฒญ์„ ๋ฐœ์ƒํ•˜๋„๋ก ์„ค์ •ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

  1. ๋ฆฌํฌ์ง€ํ† ๋ฆฌ์˜ ๊ธฐ๋ณธ ํŽ˜์ด์ง€์—์„œ Settings๋ฅผ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค.
  2. Advanced Security ๋ฅผ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค.
  3. Dependabot security updates ์˜†์— ์žˆ๋Š” ์‚ฌ์šฉ์„ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค.

์ž์„ธํ•œ ๋‚ด์šฉ์€ Dependabot ๋ณด์•ˆ ์—…๋ฐ์ดํŠธ ์ •๋ณด ๋ฐ Dependabot ๋ณด์•ˆ ์—…๋ฐ์ดํŠธ ๊ตฌ์„ฑ.์„(๋ฅผ) ์ฐธ์กฐํ•˜์„ธ์š”.

Dependabot version updates

๊ด€๋ฆฌ

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

  1. ๋ฆฌํฌ์ง€ํ† ๋ฆฌ์˜ ๊ธฐ๋ณธ ํŽ˜์ด์ง€์—์„œ Settings๋ฅผ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค.
  2. Advanced Security ๋ฅผ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค.
  3. Dependabot version updates ์˜†์— ์žˆ๋Š” ์‚ฌ์šฉ์„ ํด๋ฆญํ•˜์—ฌ ๊ธฐ๋ณธ dependabot.yml ๊ตฌ์„ฑ ํŒŒ์ผ์„ ๋งŒ๋“ญ๋‹ˆ๋‹ค.
  4. ์ข…์†์„ฑ์„ ์ง€์ •ํ•˜์—ฌ ์—ฐ๊ด€๋œ ๋ชจ๋“  ๊ตฌ์„ฑ ์˜ต์…˜์„ ์—…๋ฐ์ดํŠธํ•œ ๋‹ค์Œ ํŒŒ์ผ์„ ๋ฆฌํฌ์ง€ํ† ๋ฆฌ์— ์ปค๋ฐ‹ํ•ฉ๋‹ˆ๋‹ค. ์ž์„ธํ•œ ๋‚ด์šฉ์€ Dependabot ๋ฒ„์ „ ์—…๋ฐ์ดํŠธ ๊ตฌ์„ฑ์„(๋ฅผ) ์ฐธ์กฐํ•˜์„ธ์š”.

Code Security

์ฐธ๊ณ  ํ•ญ๋ชฉ

Code Security ๊ธฐ๋Šฅ์€ ๋ชจ๋“  ํผ๋ธ”๋ฆญ ๋ฆฌํฌ์ง€ํ† ๋ฆฌ์™€ GitHub Code Security ๋˜๋Š” GitHub Advanced Security๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ํŒ€์ด๋‚˜ ์—”ํ„ฐํ”„๋ผ์ด์ฆˆ์— ์†ํ•œ ์กฐ์ง์ด ์†Œ์œ ํ•œ ํ”„๋ผ์ด๋น— ๋ฆฌํฌ์ง€ํ† ๋ฆฌ์—์„œ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

GitHub Code Security์—๋Š” code scanning, CodeQL CLI, Copilot Autofix๋ฟ๋งŒ ์•„๋‹ˆ๋ผ ์ฝ”๋“œ๋ฒ ์ด์Šค์˜ ์ทจ์•ฝ์„ฑ์„ ์ฐพ์•„ ์ˆ˜์ •ํ•˜๋Š” ๊ธฐํƒ€ ๊ธฐ๋Šฅ์ด ํฌํ•จ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค.

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

  1. ๋ฆฌํฌ์ง€ํ† ๋ฆฌ์˜ ๊ธฐ๋ณธ ํŽ˜์ด์ง€์—์„œ Settings๋ฅผ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค.
  2. ์‚ฌ์ด๋“œ๋ฐ”์˜ "Security" ์„น์…˜์—์„œ Advanced Security ๋ฅผ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค.
  3. "Code Security" ๋˜๋Š” "GitHub Advanced Security"๋ฅผ ์•„์ง ํ™œ์„ฑํ™”ํ•˜์ง€ ์•Š์€ ๊ฒฝ์šฐ Enable์„ ํด๋ฆญํ•˜์„ธ์š”.
  4. "CodeQL analysis"์˜ ์˜ค๋ฅธ์ชฝ์— ์žˆ๋Š” Set up ์„ ์„ ํƒํ•œ ๋‹ค์Œ, Default๋ฅผ ํด๋ฆญํ•˜์„ธ์š”.
  5. ํ‘œ์‹œ๋˜๋Š” ํŒ์—… ์ฐฝ์—์„œ ๋ฆฌํฌ์ง€ํ† ๋ฆฌ์˜ ๊ธฐ๋ณธ ๊ตฌ์„ฑ ์„ค์ •์„ ๊ฒ€ํ† ํ•œ ๋‹ค์Œ, Enable CodeQL ์„ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค.
  6. Copilot Autofix์™€ ๊ฐ™์€ ์ถ”๊ฐ€ ๊ธฐ๋Šฅ์„ ์‚ฌ์šฉํ•˜๋„๋ก ์„ค์ •ํ• ์ง€ ์—ฌ๋ถ€๋ฅผ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค.

๊ธฐ๋ณธ ์„ค์ • ๋Œ€์‹  CodeQL์„ ์‚ฌ์šฉํ•˜์—ฌ code scanning์„ ์‚ฌ์šฉ์ž์— ๋งž์ถฐ ํŽธ์ง‘ํ•  ์ˆ˜ ์žˆ๋Š” ์›Œํฌํ”Œ๋กœ ํŒŒ์ผ์„ ์ƒ์„ฑํ•˜๋Š” ๊ณ ๊ธ‰ ์„ค์ •์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ž์„ธํ•œ ๋‚ด์šฉ์€ ์ฝ”๋“œ ์Šค์บ”์„ ์œ„ํ•œ ๊ณ ๊ธ‰ ์„ค์ • ๊ตฌ์„ฑ์„(๋ฅผ) ์ฐธ์กฐํ•˜์„ธ์š”.

Secret Protection

์ฐธ๊ณ  ํ•ญ๋ชฉ

Secret Protection ๊ธฐ๋Šฅ์€ ๋ชจ๋“  ํผ๋ธ”๋ฆญ ๋ฆฌํฌ์ง€ํ† ๋ฆฌ์™€ GitHub Secret Protection ๋˜๋Š” GitHub Advanced Security๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ํŒ€์ด๋‚˜ ์—”ํ„ฐํ”„๋ผ์ด์ฆˆ์— ์†ํ•œ ์กฐ์ง์ด ์†Œ์œ ํ•œ ํ”„๋ผ์ด๋น— ๋ฆฌํฌ์ง€ํ† ๋ฆฌ์—์„œ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

GitHub Secret Protection์—๋Š” secret scanning ๋ฐ ํ‘ธ์‹œ ๋ณดํ˜ธ๋ฟ๋งŒ ์•„๋‹ˆ๋ผ ๋ฆฌํฌ์ง€ํ† ๋ฆฌ์—์„œ ๋น„๋ฐ€ ์œ ์ถœ์„ ๊ฐ์ง€ํ•˜๊ณ  ๋ฐฉ์ง€ํ•˜๋Š” ๋ฐ ๋„์›€์ด ๋˜๋Š” ๊ธฐํƒ€ ๊ธฐ๋Šฅ์ด ํฌํ•จ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค.

  1. ๋ฆฌํฌ์ง€ํ† ๋ฆฌ์˜ ๊ธฐ๋ณธ ํŽ˜์ด์ง€์—์„œ Settings๋ฅผ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค.
  2. Advanced Security ๋ฅผ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค.
  3. "Secret Protection" ๋˜๋Š” "GitHub Advanced Security"๋ฅผ ์•„์ง ํ™œ์„ฑํ™”ํ•˜์ง€ ์•Š์€ ๊ฒฝ์šฐ Enable์„ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค.
  4. "Secret scanning" ์˜ต์…˜์ด ํ‘œ์‹œ๋˜๋ฉด Enable์„ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค.
  5. ๋น„ ๊ณต๊ธ‰์ž ํŒจํ„ด ๊ฒ€์‚ฌ, ํ‘ธ์‹œ ๋ณดํ˜ธ์™€ ๊ฐ™์€ ์ถ”๊ฐ€ ๊ธฐ๋Šฅ์„ ์‚ฌ์šฉํ•˜๋„๋ก ์„ค์ •ํ• ์ง€ ์—ฌ๋ถ€๋ฅผ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค.

๋ณด์•ˆ ์ •์ฑ… ๋งŒ๋“ค๊ธฐ

๋ฆฌํฌ์ง€ํ† ๋ฆฌ ์œ ์ง€ ๊ด€๋ฆฌ์ž๋Š” ๋ฆฌํฌ์ง€ํ† ๋ฆฌ์— SECURITY.md(์œผ)๋กœ ๋ช…๋ช…๋œ ํŒŒ์ผ์„ ๋งŒ๋“ค์–ด ๋ฆฌํฌ์ง€ํ† ๋ฆฌ์— ๋Œ€ํ•œ ๋ณด์•ˆ ์ •์ฑ…์„ ์ง€์ •ํ•˜๋Š” ๊ฒƒ์ด ์ข‹์Šต๋‹ˆ๋‹ค. ์ด ํŒŒ์ผ์€ ๋ฆฌํฌ์ง€ํ† ๋ฆฌ์—์„œ ๋ณด์•ˆ ์ทจ์•ฝ์„ฑ์„ ๋ณด๊ณ ํ•˜๋ ค๋Š” ๊ฒฝ์šฐ ์‚ฌ์šฉ์ž์—๊ฒŒ ์—ฐ๋ฝํ•˜๊ณ  ๊ณต๋™ ์ž‘์—…ํ•˜๋Š” ์ตœ์„ ์˜ ๋ฐฉ๋ฒ•์„ ์„ค๋ช…ํ•ฉ๋‹ˆ๋‹ค. ๋ฆฌํฌ์ง€ํ† ๋ฆฌ์˜ ๋ณด์•ˆ ํƒญ์—์„œ ๋ฆฌํฌ์ง€ํ† ๋ฆฌ์˜ ๋ณด์•ˆ ์ •์ฑ…์„ ๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

  1. ๋ฆฌํฌ์ง€ํ† ๋ฆฌ์˜ ๊ธฐ๋ณธ ํŽ˜์ด์ง€์—์„œ Security๋ฅผ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค.
  2. ์™ผ์ชฝ ์‚ฌ์ด๋“œ๋ฐ”์˜ "Reporting"์—์„œ Policy๋ฅผ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค.
  3. ์„ค์น˜ ์‹œ์ž‘์„ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค.
  4. ์ง€์›๋˜๋Š” ํ”„๋กœ์ ํŠธ ๋ฒ„์ „ ๋ฐ ์ทจ์•ฝ์„ฑ ๋ณด๊ณ  ๋ฐฉ๋ฒ•์— ๋Œ€ํ•œ ์ •๋ณด๋ฅผ ์ถ”๊ฐ€ํ•ฉ๋‹ˆ๋‹ค.

์ž์„ธํ•œ ๋‚ด์šฉ์€ Adding a security policy to your repository(๋ฆฌํฌ์ง€ํ† ๋ฆฌ์— ๋ณด์•ˆ ์ •์ฑ… ์ถ”๊ฐ€)์„(๋ฅผ) ์ฐธ์กฐํ•˜์„ธ์š”.

๋‹ค์Œ ๋‹จ๊ณ„

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

GitHub์˜ ๋„๊ตฌ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋ณด์•ˆ ๊ฒฝ๊ณ ์— ๋Œ€ํ•œ ์‘๋‹ต์„ ๊ฐ์‚ฌํ•  ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค. ์ž์„ธํ•œ ๋‚ด์šฉ์€ ๋ณด์•ˆ ๊ฒฝ๊ณ  ๊ฐ์‚ฌ์„(๋ฅผ) ์ฐธ์กฐํ•˜์„ธ์š”.

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

GitHub Actions์„(๋ฅผ) ์‚ฌ์šฉํ•˜๋Š” ๊ฒฝ์šฐ GitHub์˜ ๋ณด์•ˆ ๊ธฐ๋Šฅ์„ ์‚ฌ์šฉํ•˜์—ฌ ์›Œํฌํ”Œ๋กœ์˜ ๋ณด์•ˆ์„ ๊ฐ•ํ™”ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ž์„ธํ•œ ๋‚ด์šฉ์€ ๋ณด์•ˆ ์‚ฌ์šฉ ์ฐธ์กฐ์„(๋ฅผ) ์ฐธ์กฐํ•˜์„ธ์š”.