Skip to main content

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

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

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

CodeQL์€(๋Š”) ๋‹ค์Œ ๋ฆฌํฌ์ง€ํ† ๋ฆฌ ์œ ํ˜•์— ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

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

CodeQL์—๋Š” Go ์ฝ”๋“œ ๋ถ„์„์„ ์œ„ํ•œ ๋งŽ์€ ์ฟผ๋ฆฌ๊ฐ€ ํฌํ•จ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค. default ์ฟผ๋ฆฌ ๋„๊ตฌ ๋ชจ์Œ์˜ ๋ชจ๋“  ์ฟผ๋ฆฌ๋Š” ๊ธฐ๋ณธ์ ์œผ๋กœ ์‹คํ–‰๋ฉ๋‹ˆ๋‹ค. security-extended ์ฟผ๋ฆฌ ๋„๊ตฌ ๋ชจ์Œ์„ ์‚ฌ์šฉํ•˜๋„๋ก ์„ ํƒํ•˜๋ฉด ์ถ”๊ฐ€ ์ฟผ๋ฆฌ๊ฐ€ ์‹คํ–‰๋ฉ๋‹ˆ๋‹ค. ์ž์„ธํ•œ ๋‚ด์šฉ์€ CodeQL ์ฟผ๋ฆฌ ๋„๊ตฌ ๋ชจ์Œ์„(๋ฅผ) ์ฐธ์กฐํ•˜์„ธ์š”.

Go ๋ถ„์„์„ ์œ„ํ•œ ๊ธฐ๋ณธ ์ œ๊ณต ์ฟผ๋ฆฌ

์ด ํ‘œ์—๋Š” CodeQL ์ž‘์—…๊ณผ CodeQL CLI์˜ ์ตœ์‹  ๋ฆด๋ฆฌ์Šค์—์„œ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ์ฟผ๋ฆฌ๊ฐ€ ๋‚˜์—ด๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค. ์ž์„ธํ•œ ๋‚ด์šฉ์€ CodeQL ์„ค๋ช…์„œ ์‚ฌ์ดํŠธ์—์„œ CodeQL ๋ณ€๊ฒฝ ๋กœ๊ทธ๋ฅผ ์ฐธ์กฐํ•˜์„ธ์š”.

์ฟผ๋ฆฌ ์ด๋ฆ„๊ด€๋ จ CWE๊ธฐ๋ณธ๊ฐ’ํ™•์žฅCopilot Autofix
๋ณด๊ด€ ํŒŒ์ผ์˜ ์••์ถ•์„ ํ‘ธ๋Š” ์ค‘ ์ž„์˜ ํŒŒ์ผ ์•ก์„ธ์Šค("Zip Slip")022
๋ฐ”๋กœ ๊ฐ€๊ธฐ ๋งํฌ๊ฐ€ ํฌํ•จ๋œ ๋ณด๊ด€ ํŒŒ์ผ์˜ ์••์ถ•์„ ํ‘ธ๋Š” ์ค‘ ์ž„์˜ ํŒŒ์ผ ์“ฐ๊ธฐ022
์ž˜๋ชป๋œ ๋ฆฌ๋””๋ ‰์…˜ ๊ฒ€์‚ฌ601
์ค‘์š”ํ•œ ์ •๋ณด์˜ ์ผ๋ฐ˜ ํ…์ŠคํŠธ ๋กœ๊น…312, 315, 359
์‚ฌ์šฉ์ž ์ œ์–ด ์›๋ณธ์—์„œ ๋นŒ๋“œ๋œ ๋ช…๋ น078
HTML ํ…œํ”Œ๋ฆฟ ์ด์Šค์ผ€์ดํ”„ ๋ฐ”์ดํŒจ์Šค๋กœ ์‚ฌ์ดํŠธ ๊ฐ„ ์Šคํฌ๋ฆฝํŒ…079, 116
์‚ฌ์šฉ์ž ์ œ์–ด ์›๋ณธ์—์„œ ๋นŒ๋“œ๋œ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์ฟผ๋ฆฌ089
TLS ์ธ์ฆ์„œ ๊ฒ€์‚ฌ ์‚ฌ์šฉ ์•ˆ ํ•จ295
์ „์ž ๋ฉ”์ผ ์ฝ˜ํ…์ธ  ์‚ฝ์ž…640
ํ˜ธ์ŠคํŠธ ์ด๋ฆ„์— ๋Œ€ํ•œ ๋ถˆ์™„์ „ํ•œ ์ •๊ทœ์‹020
๋ถˆ์™„์ „ํ•œ URL ์ฒด๊ณ„ ๊ฒ€์‚ฌ020
์ •์ˆ˜ ํ˜•์‹ ๊ฐ„์˜ ์ž˜๋ชป๋œ ๋ณ€ํ™˜190, 681
์Šคํƒ ์ถ”์ ์„ ํ†ตํ•œ ์ •๋ณด ๋…ธ์ถœ209, 497
๋ณด์•ˆ์— ์ทจ์•ฝํ•œ TLS ๊ตฌ์„ฑ327
JWT ์„œ๋ช… ๊ฒ€์‚ฌ ๋ˆ„๋ฝ347
์ •๊ทœ์‹ ์•ต์ปค ๋ˆ„๋ฝ020
URL ์—ด๊ธฐ ๋ฆฌ๋””๋ ‰์…˜601
์ž ์žฌ์ ์œผ๋กœ ์•ˆ์ „ํ•˜์ง€ ์•Š์€ ๋”ฐ์˜ดํ‘œ078, 089, 094
๊ต์ฐจ ์‚ฌ์ดํŠธ ์Šคํฌ๋ฆฝํŒ… ๋ฐ˜์˜079, 116
ํ• ๋‹น์— ๋Œ€ํ•œ ํฌ๊ธฐ ๊ณ„์‚ฐ์ด ์˜ค๋ฒ„ํ”Œ๋กœํ•  ์ˆ˜ ์žˆ์Œ190
๊ณผ๋„ํ•œ ํฌ๊ธฐ ๊ฐ’์œผ๋กœ ๋ฉ”๋ชจ๋ฆฌ ํ• ๋‹น ์Šฌ๋ผ์ด์Šค770
์ •๊ทœ์‹์— ์˜์‹ฌ์Šค๋Ÿฌ์šด ๋ฌธ์ž ์žˆ์Œ020
๋„คํŠธ์›Œํฌ ์š”์ฒญ์— ์ œ์–ด๋˜์ง€ ์•Š์€ ๋ฐ์ดํ„ฐ ์‚ฌ์šฉ๋จ918
๊ฒฝ๋กœ ์‹์— ์ œ์–ด๋˜์ง€ ์•Š์€ ๋ฐ์ดํ„ฐ ์‚ฌ์šฉ๋จ022, 023, 036, 073, 099
์•ฝํ•œ ์•”ํ˜ธํ™” ํ‚ค ์‚ฌ์šฉ326
OAuth 2.0 URL์—์„œ ์ƒ์ˆ˜ state ๊ฐ’ ์‚ฌ์šฉ352
๋ณด์•ˆ์— ์ทจ์•ฝํ•œ HostKeyCallback ๊ตฌํ˜„ ์‚ฌ์šฉ322
์•”ํ˜ธํ™” ์•Œ๊ณ ๋ฆฌ์ฆ˜์˜ ํ‚ค๋กœ ๋ถˆ์ถฉ๋ถ„ํ•œ ์ž„์˜์„ฑ ์‚ฌ์šฉ338
XPath ์‚ฝ์ž…643
์‚ฌ์šฉ์ž ์ž…๋ ฅ์œผ๋กœ ๋งŒ๋“  ๋กœ๊ทธ ํ•ญ๋ชฉ117