Skip to content
GitHub Code Security

๋ฐœ๊ฒฌ ์ฆ‰์‹œ ํ•ด๊ฒฐ๋˜๋Š” ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๋ณด์•ˆ

GitHub Code Security๋กœ ์•ˆ์ „ํ•˜๊ฒŒ ์ฝ”๋“œ๋ฅผ ๋นŒ๋“œํ•˜์„ธ์š”. ์ทจ์•ฝ์„ฑ์„ ์กฐ๊ธฐ์— ๋ฐœ๊ฒฌํ•˜๊ณ  Copilot Autofix๋กœ ๋ฐ”๋กœ ์ˆ˜์ •ํ•˜์„ธ์š”.

What is GitHub code security?
What is GitHub code security?

28๋ถ„ ์ทจ์•ฝ์„ฑ ๊ฐ์ง€๋ถ€ํ„ฐ ํ•ด๊ฒฐ๊นŒ์ง€ ๊ฑธ๋ฆฌ๋Š” ์‹œ๊ฐ„

3๋ฐฐ ๋” ๋น ๋ฆ„ Copilot Autofix์„ ํ™œ์šฉํ•œ ํ‰๊ท  ์ˆ˜์ • ์†๋„ ํ–ฅ์ƒ

90% ๊ฒ€์ถœ ๊ฐ€๋Šฅํ•œ ์ทจ์•ฝ์„ฑ ์ข…๋ฅ˜ ์ค‘ AI ๊ธฐ๋ฐ˜ ์ฝ”๋“œ ์ œ์•ˆ์ด ํฌํ•จ๋˜๋Š” ๋น„์œจ

์ทจ์•ฝ์„ฑ ํƒ์ง€ ๋ฐ ํ•ด๊ฒฐ
AI ๊ธฐ๋ฐ˜ ์ œ์•ˆ ํ™œ์šฉ์œผ๋กœ ์กฐ๊ธฐ์— ๋Œ€์‘

๋ณด์•ˆ ๊ฒ€์‚ฌ ์ž๋™ํ™”

์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ๋ฐ์ดํ„ฐ ํ๋ฆ„์„ ์ถ”์ ํ•˜๋Š” CodeQL์˜ ๊ฐ•๋ ฅํ•œ ๋ถ„์„์„ ํ†ตํ•ด ์‹ค์‹œ๊ฐ„์œผ๋กœ ๋ณด์•ˆ ๋ฌธ์ œ๋ฅผ ํƒ์ƒ‰ํ•˜์„ธ์š”.

The image displays a code snippet from a JavaScript file named "collection.js" located in the "routes" directory. The code is highlighted in three steps, with Step 1 being the focus. In Step 1, the variable "jsonQuery" is assigned the value of "req.query.query". The code snippet includes four lines where variables are defined and assigned values from the request query object. The background has a gradient blue color.

๊ทœ๋ชจ์— ๋”ฐ๋ฅธ ๋ฌธ์ œ ํ•ด๊ฒฐ

Copilot Autofix๋ฅผ ํ†ตํ•ด CodeQL๋กœ ๊ฐ์ง€๋œ ์•Œ๋ฆผ์— ๋Œ€ํ•œ ์ƒํ™ฉ๋ณ„ ์„ค๋ช…๊ณผ AI ๊ธฐ๋ฐ˜ ์ˆ˜์ • ์ œ์•ˆ์„ ํ™œ์šฉํ•˜์„ธ์š”.

The image displays a code snippet from a JavaScript file named "collection.js" located in the "routes" directory. The code is highlighted in three steps, with Step 1 being the focus. In Step 1, the variable "jsonQuery" is assigned the value of "req.query.query". The code snippet includes four lines where variables are defined and assigned values from the request query object. The background has a gradient blue color.

๋ณด์•ˆ ๋ถ€์ฑ„ ๊ฐ์†Œ

GitHub Code Security๋Š” ์ฝ”๋“œ๋ฅผ ๋นŒ๋“œํ•˜๋Š” ๋™์•ˆ ์ง€์†์ ์œผ๋กœ ์Šค์บ”ํ•˜์—ฌ ์ทจ์•ฝ์„ฑ์„ ์กฐ๊ธฐ์— ๋ฐœ๊ฒฌํ•˜๊ณ  Copilot Autofix๋ฅผ ํ†ตํ•ด ๋น ๋ฅด๊ฒŒ ์ˆ˜์ •ํ•˜์—ฌ ์•ˆ์ „ํ•˜๊ฒŒ ์†Œํ”„ํŠธ์›จ์–ด๋ฅผ ๊ฐœ๋ฐœํ•  ์ˆ˜ ์žˆ๋„๋ก ์ง€์›ํ•ฉ๋‹ˆ๋‹ค.

The image displays a dashboard for an SQL injection (CWE-89) campaign aimed at remediating Cross-Site Scripting (XSS) vulnerabilities. The dashboard has three main sections: Campaign progress, Status, and Copilot Autofix.

In the Campaign progress section, it shows 97% completion with 701 alerts, where 701 are closed and 13 are in progress. It also notes that the campaign started 20 days ago.

The Status section indicates there are 7 days left until the deadline on November 15, 2024.

The Copilot Autofix section mentions that there are 670 supported alerts and provides information about how Copilot Autofix can help fix these alerts automatically.

๋ฆฌ์Šคํฌ ๋ฏธ๋ฆฌ ํฌ์ฐฉ

์˜์กด์„ฑ ๊ฒ€ํ†  GitHub Action์„ ํ†ตํ•ด ์ƒˆ๋กœ์šด ์˜์กด์„ฑ์„ ์‹๋ณ„ํ•˜๊ณ  ์ทจ์•ฝ์„ฑ ๋˜๋Š” ๋ผ์ด์„ ์Šค ๋ฌธ์ œ๋ฅผ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค.

The image shows a "Dependency Review" report generated by the GitHub Actions bot. The report lists the following issues: 0 vulnerable packages, 1 package with incompatible licenses,  and 0 packages with unknown licenses. Each issue has a "Details" link next to it for more information.

๋ณด์•ˆ ๊ฒ€์‚ฌ ์ž๋™ํ™”

์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ๋ฐ์ดํ„ฐ ํ๋ฆ„์„ ์ถ”์ ํ•˜๋Š” CodeQL์˜ ๊ฐ•๋ ฅํ•œ ๋ถ„์„์„ ํ†ตํ•ด ์‹ค์‹œ๊ฐ„์œผ๋กœ ๋ณด์•ˆ ๋ฌธ์ œ๋ฅผ ํƒ์ƒ‰ํ•˜์„ธ์š”.

Modal titled โ€œScan organizationโ€ showing a risk assessment setup with Secret Protection and Code Security selected, and Cancel and Continue buttons.
Copilot Autofix๋Š” ์ทจ์•ฝ์„ฑ์„ ํŒŒ์•…ํ•˜๊ณ  ์ฆ‰์‹œ ํ•ด๊ฒฐ์ฑ…์„ ์ œ์‹œํ•˜์—ฌ ์ฝ”๋“œ๋ฅผ ์•ˆ์ „ํ•˜๊ฒŒ ๋ณดํ˜ธํ•จ์œผ๋กœ์จ ์™„๋ฒฝํ•œ ๋ณด์•ˆ์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. ์ด๋ฅผ ํ†ตํ•ด ํŒ€์€ ์ „๋žต์ ์ธ ์—…๋ฌด์—๋งŒ ์ง‘์ค‘ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
otto group logo
Mario LandgrafOtto GmbH & Co. KGaA์˜ ๋ณด์•ˆ ์ปค๋ฎค๋‹ˆํ‹ฐ ๊ด€๋ฆฌ์ž

์ดˆ๊ธฐ๋ถ€ํ„ฐ ๋ณด์•ˆ์ด ํ™•์‹คํ•œ ์†Œํ”„ํŠธ์›จ์–ด ๊ตฌ์ถ•

๋ณด์•ˆ์€ ์˜ต์…˜์ด ์•„๋‹Œ ๊ธฐ๋ณธ์ž…๋‹ˆ๋‹ค. GitHub Code Security๋กœ ์ทจ์•ฝ์„ฑ์„ ์›ํ™œํ•˜๊ฒŒ ํƒ์ƒ‰, ํ•ด๊ฒฐ, ๋ฐฉ์ง€ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ฐœ๋ฐœ๋ถ€ํ„ฐ ๋ฐฐํฌ๊นŒ์ง€ ์ „ ๊ณผ์ •์—์„œ ์†Œํ”„ํŠธ์›จ์–ด๋ฅผ ์•ˆ์ „ํ•˜๊ฒŒ ์ง€์ผœ๋“œ๋ฆฝ๋‹ˆ๋‹ค.

๋ฐ๋ชจ ์š”์ฒญ์š”๊ธˆ์ œ ๋ฐ ์š”๊ธˆ ๋ณด๊ธฐ

๋ณด์•ˆ ์†Œํ”„ํŠธ์›จ์–ด ํ™œ์šฉ ๋ชจ๋ฒ” ์‚ฌ๋ก€

๊ฐœ๋ฐœ์ž ์šฐ์„  ๋ณด์•ˆ ์•Œ์•„๋ณด๊ธฐ

์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๋ณด์•ˆ์˜ ํ˜„ํ™ฉ์„ ์ž์„ธํžˆ ์•Œ์•„ ๋ณด์„ธ์š”.

์›จ๋น„๋‚˜ ๋ณด๊ธฐ

DevSecOps ๊ฐ€์ด๋“œ ์‚ดํŽด๋ณด๊ธฐ

DevSecOps๋กœ ์ฒ˜์Œ๋ถ€ํ„ฐ ์•ˆ์ „ํ•œ ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•˜๋Š” ๋ฐฉ๋ฒ•์— ๋Œ€ํ•ด ์•Œ์•„๋ณด์„ธ์š”.

๋ฐฑ์„œ ์ฝ๊ธฐ

์•ฑ ๋ณด์•ˆ์—์„œ ์ž์ฃผ ๋ฐœ์ƒํ•˜๋Š” ์˜ค๋ฅ˜ ๋ฐฉ์ง€

์ผ๋ฐ˜์ ์œผ๋กœ ๋ฐœ์ƒํ•˜๋Š” ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๋ณด์•ˆ ์˜ค๋ฅ˜๋ฅผ ํŒŒ์•…ํ•˜๊ณ  ์ด๋ฅผ ๋ฐฉ์ง€ํ•˜๋Š” ๋ฐฉ๋ฒ•์— ๋Œ€ํ•ด ์•Œ์•„ ๋ณด์„ธ์š”.

๋ฐฑ์„œ ์ฝ๊ธฐ

์ž์ฃผ ๋ฌป๋Š” ์งˆ๋ฌธ

Code Security๊ฐ€ ๋ฌด์—‡์ธ๊ฐ€์š”?

GitHub Code Security๋Š” ๊ฐœ๋ฐœ ์†๋„๊ฐ€ ๋А๋ ค์งˆ ๊ฑฑ์ • ์—†์ด ๊ฐœ๋ฐœ์ž๋“ค์ด ์ฝ”๋“œ๋ฅผ ์•ˆ์ „ํ•˜๊ฒŒ ๋ณดํ˜ธํ•  ์ˆ˜ ์žˆ๋„๋ก ์ง€์›ํ•ฉ๋‹ˆ๋‹ค. ๊ธฐ๋ณธ ์ œ๊ณต๋˜๋Š” ์ •์  ๋ถ„์„, AI ๊ธฐ๋ฐ˜ ๋ฌธ์ œ ํ•ด๊ฒฐ, ๊ณ ๊ธ‰ ์˜์กด์„ฑ ๊ฒ€์‚ฌ ๋ฐ ์‚ฌ์ „ ์˜ˆ๋ฐฉ์  ์ทจ์•ฝ์„ฑ ๊ด€๋ฆฌ๋ฅผ ํ†ตํ•ด ํŒ€์€ ๊ธฐ์กด GitHub ์›Œํฌํ”Œ๋กœ ๋‚ด์—์„œ ๋ณด์•ˆ ๋ฌธ์ œ๋ฅผ ์ž๋™์œผ๋กœ ๊ฐ์ง€, ์šฐ์„ ์ˆœ์œ„๋ฅผ ์ง€์ •, ํ•ด๊ฒฐํ•  ์ˆ˜ ์žˆ์œผ๋ฏ€๋กœ ์‹ ์†ํ•˜๊ฒŒ ์•ˆ์ „ํ•œ ์†Œํ”„ํŠธ์›จ์–ด๋ฅผ ์ œ๊ณตํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

Copilot Autofix๊ฐ€ ๋ฌด์—‡์ธ๊ฐ€์š”?

Copilot Autofix๋Š” AI ๊ธฐ๋ฐ˜ ์ฝ”๋“œ ์ œ์•ˆ์„ ํ™œ์šฉํ•˜์—ฌ CodeQL์—์„œ ํ™•์ธ๋œ ๋ณด์•ˆ ์ทจ์•ฝ์„ฑ์„ ์ž๋™์œผ๋กœ ํ•ด๊ฒฐํ•ฉ๋‹ˆ๋‹ค. ๋ณด์•ˆ ์ทจ์•ฝ์„ฑ์ด ํƒ์ง€๋˜๋ฉด Copilot Autofix์—์„œ ์ฝ”๋“œ ๋งฅ๋ฝ์„ ๋ถ„์„ํ•˜๊ณ  ๋ณด์•ˆ ์ด์Šˆ๋ฅผ ํŒŒ์•…ํ•œ ํ›„ ์ •ํ™•ํ•˜๊ณ  ์ƒํ™ฉ์— ๋งž๋Š” ํ•ด๊ฒฐ์ฑ…์„ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค. ์ด ๊ธฐ๋Šฅ์€ ์ทจ์•ฝ์  ํƒ์ง€์™€ ํ•ด๊ฒฐ ๊ฐ„์˜ ๋‹จ์ ˆ์„ ํ•ด์†Œํ•ด, ๊ฐœ๋ฐœ์ž๊ฐ€ ๊ธฐ์กด ์›Œํฌํ”Œ๋กœ์—์„œ AI๊ฐ€ ์ œ์•ˆํ•œ ์ˆ˜์ •์‚ฌํ•ญ์„ ๋ฐ”๋กœ ๊ฒ€ํ† ํ•˜๊ณ  ์ ์šฉํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•ฉ๋‹ˆ๋‹ค.

Security Campaign์€ ๋ฌด์—‡์ธ๊ฐ€์š”?

Security Campaign์€ ์—ฌ๋Ÿฌ ๋ฆฌํฌ์ง€ํ† ๋ฆฌ์™€ ํŒ€์—์„œ ๋ณด์•ˆ ์ˆ˜์ •์„ ๊ณ„ํš, ์ถ”์  ๋ฐ ๊ตฌํ˜„ํ•  ์ˆ˜ ์žˆ๋Š” ๊ตฌ์กฐํ™”๋œ ํ”„๋ ˆ์ž„์›Œํฌ๋ฅผ ์ œ๊ณตํ•˜์—ฌ ๋ณด์•ˆ ๋ถ€์ฑ„๋ฅผ ์ฒด๊ณ„์ ์œผ๋กœ ํ•ด์†Œํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. Security Campaign์„ ํ†ตํ•ด ๋ณด์•ˆ ํŒ€์€ ํ†ตํ•ฉ ๋Œ€์‹œ๋ณด๋“œ์—์„œ ๊ด€๋ จ ์ทจ์•ฝ์„ฑ ๊ทธ๋ฃนํ™”, ํ•ด๊ฒฐ ์ž‘์—…์˜ ์šฐ์„ ์ˆœ์œ„ ์ง€์ •, ์†Œ์œ ๊ถŒ ํ• ๋‹น, ์ง„ํ–‰ ์ƒํƒœ ํŒŒ์•…์„ ๋ชจ๋‘ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. Security Campaign์€ ์ทจ์•ฝ์„ฑ ์œ ํ˜•, ๋ณด์•ˆ ์ด๋‹ˆ์…”ํ‹ฐ๋ธŒ, ๊ทœ์ • ์ค€์ˆ˜ ์š”๊ตฌ ์‚ฌํ•ญ ๋˜๋Š” ๊ธฐํƒ€ ๋…ผ๋ฆฌ์ ์ธ ๊ทธ๋ฃน์œผ๋กœ ๊ตฌ์„ฑํ•˜์—ฌ ๋Œ€๊ทœ๋ชจ๋กœ ๋ณด์•ˆ ๊ฐœ์„ ์„ ์กฐ์ •ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์˜์กด์„ฑ ๋ถ„์„์€ ๋ฌด์—‡์ธ๊ฐ€์š”?

์˜์กด์„ฑ ๊ฒ€ํ† ๋Š” ์ทจ์•ฝํ•œ ์˜์กด์„ฑ์ด ์ฝ”๋“œ๋ฒ ์ด์Šค์— ํฌํ•จ๋˜๊ธฐ ์ „์— pull request๋ฅผ ์Šค์บ”ํ•˜์—ฌ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค. ์˜์กด์„ฑ ๋ณ€๊ฒฝ ์‹œ ๋ฏธ์น˜๋Š” ๋ณด์•ˆ ์˜ํ–ฅ์„ ํ‰๊ฐ€ํ•˜์—ฌ ์ทจ์•ฝํ•œ ํŒจํ‚ค์ง€์™€ ๊ทธ ์‹ฌ๊ฐ๋„ ์ˆ˜์ค€์„ ์‹๋ณ„ํ•˜์—ฌ ๋ณด์•ˆ ๋ฌธ์ œ๊ฐ€ ์ฝ”๋“œ์— ๋ณ‘ํ•ฉ๋˜๋Š” ๊ฒƒ์„ ๋ฐฉ์ง€ํ•ฉ๋‹ˆ๋‹ค. ์ด ๋„๊ตฌ๋Š” ๊ธฐ์ค€ ๋ธŒ๋žœ์น˜์™€ ํ—ค๋“œ ๋ธŒ๋žœ์น˜๋ฅผ ๋น„๊ตํ•ด ์˜์กด์„ฑ์˜ ๋ณ€๊ฒฝ ์‚ฌํ•ญ์„ ์ƒ์„ธํžˆ ๋ณด์—ฌ์ฃผ๋ฉฐ, ์ถ”๊ฐ€ยท์ œ๊ฑฐยท์—…๋ฐ์ดํŠธ๋œ ํ•ญ๋ชฉ๊ณผ ๊ทธ์— ๋”ฐ๋ฅธ ์•Œ๋ ค์ง„ ์ทจ์•ฝ์ ์„ ๊ฐ•์กฐํ•ฉ๋‹ˆ๋‹ค.

EPSS๊ฐ€ ๋ฌด์—‡์ธ๊ฐ€์š”?

์ด์ œ Dependabot ๊ฒฝ๊ณ ์— ๊ธ€๋กœ๋ฒŒ FIRST(Forum of Incident Response and Security Teams)์˜ EPSS(Exploit Prediction Scoring System)๊ฐ€ ํฌํ•จ๋˜์–ด ์ทจ์•ฝ์„ฑ ์œ„ํ—˜์„ ๋” ์ž˜ ํ‰๊ฐ€ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. EPSS๋Š” ํ–ฅํ›„ 30์ผ ์ด๋‚ด์— ์ทจ์•ฝ์„ฑ์ด ์•…์šฉ๋  ๊ฐ€๋Šฅ์„ฑ์„ ์˜ˆ์ธกํ•˜์—ฌ ์กฐ์ง์ด ์ทจ์•ฝ์„ฑ ํ•ด๊ฒฐ์˜ ์šฐ์„ ์ˆœ์œ„๋ฅผ ์ •ํ•  ์ˆ˜ ์žˆ๋„๋ก ๋„์™€์ค๋‹ˆ๋‹ค. ์ด ์‹œ์Šคํ…œ์€ 0์—์„œ 1 ์‚ฌ์ด์˜ ์ ์ˆ˜(0~100%)๋ฅผ ๋น„๋กฏํ•˜์—ฌ ๋‹ค๋ฅธ ์ทจ์•ฝ์ ๋“ค๊ณผ์˜ ๋น„๊ต๋ฅผ ํ†ตํ•œ ๋ฐฑ๋ถ„์œ„ ์ˆœ์œ„๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.

What is the code security risk assessment?

The Code Security Risk Assessment is a free evaluation that analyzes repositories to identify potential code-level vulnerabilities and highlight areas where GitHub Code Security can help improve security posture.