Skip to main content

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

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

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

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

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

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

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

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

์ฟผ๋ฆฌ ์ด๋ฆ„๊ด€๋ จ CWE๊ธฐ๋ณธ๊ฐ’ํ™•์žฅCopilot Autofix
์ž˜๋ชป๋œ HTML ํ•„ํ„ฐ๋ง regexp116, 020, 185, 186
์ค‘์š”ํ•œ ์ •๋ณด์˜ ์ผ๋ฐ˜ ํ…์ŠคํŠธ ๋กœ๊น…312, 359, 532
๋กœ์ปฌ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ์ค‘์š”ํ•œ ์ •๋ณด์˜ ์ผ๋ฐ˜ ํ…์ŠคํŠธ ์ €์žฅ312
์‘์šฉ ํ”„๋กœ๊ทธ๋žจ ๊ธฐ๋ณธ ์„ค์ • ์ €์žฅ์†Œ์— ์ค‘์š”ํ•œ ์ •๋ณด์˜ ์ผ๋ฐ˜ ํ…์ŠคํŠธ ์ €์žฅ312
์ค‘์š”ํ•œ ์ •๋ณด์˜ ์ผ๋ฐ˜ ํ…์ŠคํŠธ ์ „์†ก319
์‚ฌ์šฉ์ž ์ œ์–ด ์›๋ณธ์—์„œ ๋นŒ๋“œ๋œ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์ฟผ๋ฆฌ089
ECB๋ฅผ ์‚ฌ์šฉํ•œ ์•”ํ˜ธํ™”327
ํ˜ธ์ŠคํŠธ ์ด๋ฆ„์— ๋Œ€ํ•œ ๋ถˆ์™„์ „ํ•œ ์ •๊ทœ์‹020
๋น„ํšจ์œจ์ ์ธ ์ •๊ทœ์‹1333, 730, 400
๋ณด์•ˆ์— ์ทจ์•ฝํ•œ TLS ๊ตฌ์„ฑ757
ํ•ด์‹œ ๋ฐ˜๋ณต ๋ถ€์กฑ916
์ •๊ทœ์‹ ์•ต์ปค ๋ˆ„๋ฝ020
์‚ฌ์šฉ์ž ์ œ์–ด ์›๋ณธ์—์„œ ๋นŒ๋“œ๋œ ์กฐ๊ฑด์ž943
์ •๊ทœ์‹ ์‚ฝ์ž…730, 400
์‚ฌ์šฉ์ž ์ œ์–ด ๋ฐ์ดํ„ฐ์—์„œ XML ์™ธ๋ถ€ ์—”ํ„ฐํ‹ฐ ํ™•์ธ611, 776, 827
์•”ํ˜ธํ™”๋ฅผ ์œ„ํ•œ ์ •์  ์ดˆ๊ธฐํ™” ๋ฒกํ„ฐ329, 1204
๋ฌธ์ž์—ด ๊ธธ์ด ๋ณ‘ํ•ฉ135
์‚ฌ์šฉ์ž ์ œ์–ด ์›๋ณธ์—์„œ ๋นŒ๋“œ๋œ ์‹œ์Šคํ…œ ๋ช…๋ น078, 088
๊ฒฝ๋กœ ์‹์— ์ œ์–ด๋˜์ง€ ์•Š์€ ๋ฐ์ดํ„ฐ ์‚ฌ์šฉ๋จ022, 023, 036, 073, 099
์ œ์–ด๋˜์ง€ ์•Š์€ ํ˜•์‹ ๋ฌธ์ž์—ด134
์•ˆ์ „ํ•˜์ง€ ์•Š์€ ์›น ๋ณด๊ธฐ ํŽ˜์น˜079, 095, 749
์ค‘์š”ํ•œ ๋ฐ์ดํ„ฐ์— ์†์ƒ๋˜์—ˆ๊ฑฐ๋‚˜ ์•ฝํ•œ ์•”ํ˜ธํ™” ํ•ด์‹œ ์•Œ๊ณ ๋ฆฌ์ฆ˜ ์‚ฌ์šฉ327, 328
์•”ํ˜ธ์—์„œ ๋ถ€์ ์ ˆํ•œ ์•”ํ˜ธํ™” ํ•ด์‹œ ์•Œ๊ณ ๋ฆฌ์ฆ˜ ์‚ฌ์šฉ327, 328, 916
์ƒ์ˆ˜ ์†”ํŠธ ์‚ฌ์šฉ760
JavaScript ์‚ฝ์ž…094, 095, 749