Skip to main content

CodeQL CLI ๋ช…๋ น ์„ค๋ช…์„œ

CodeQL CLI์˜ ์ตœ์‹  ๋ฆด๋ฆฌ์Šค์—์„œ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ๋ช…๋ น์— ๋Œ€ํ•œ ์ฐธ์กฐ ์ •๋ณด์ž…๋‹ˆ๋‹ค.

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

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

  • GitHub Code Security๋ฅผ ์ง€์›ํ•˜๋Š” ์กฐ์ง ์†Œ์œ  ๋ฆฌํฌ์ง€ํ† ๋ฆฌ

์ฐธ๊ณ  ํ•ญ๋ชฉ

์ด ์ฝ˜ํ…์ธ ๋Š” CodeQL CLI์˜ ์ตœ์‹  ๋ฆด๋ฆฌ์Šค์— ๋Œ€ํ•ด ์„ค๋ช…ํ•ฉ๋‹ˆ๋‹ค. ์ด ์š”์†Œ์— ๋Œ€ํ•œ ์ž์„ธํ•œ ๋‚ด์šฉ์€ https://github.com/github/codeql-cli-binaries/releases์„(๋ฅผ) ์ฐธ์กฐํ•˜์„ธ์š”.

์ด์ „ ๋ฆด๋ฆฌ์Šค์—์„œ ์ด ๋ช…๋ น์— ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ์˜ต์…˜์˜ ์„ธ๋ถ€ ์ •๋ณด๋ฅผ ๋ณด๋ ค๋ฉด ํ„ฐ๋ฏธ๋„์—์„œ ์˜ต์…˜์„ ์‚ฌ์šฉํ•˜์—ฌ --help ๋ช…๋ น์„ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค.

bqrs ๋””์ฝ”๋”ฉ

BQRS์—์„œ ๋‹ค๋ฅธ ์–‘์‹์œผ๋กœ ๊ฒฐ๊ณผ ๋ฐ์ดํ„ฐ๋ฅผ ๋ณ€ํ™˜ํ•ฉ๋‹ˆ๋‹ค.

bqrs diff

๋‘ ๊ฒฐ๊ณผ ์ง‘ํ•ฉ์˜ ์ฐจ์ด๋ฅผ ๊ณ„์‚ฐํ•ฉ๋‹ˆ๋‹ค.

bqrs hash

[์—ฐ๊ฒฐ] BQRS ํŒŒ์ผ์˜ ์•ˆ์ •์ ์ธ ํ•ด์‹œ๋ฅผ ๊ณ„์‚ฐํ•ฉ๋‹ˆ๋‹ค.

bqrs info

BQRS ํŒŒ์ผ์˜ ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ๋ฅผ ํ‘œ์‹œํ•ฉ๋‹ˆ๋‹ค.

bqrs interpret

[์—ฐ๊ฒฐ] ๋‹จ์ผ BQRS์—์„œ ๋ฐ์ดํ„ฐ๋ฅผ ํ•ด์„ํ•ฉ๋‹ˆ๋‹ค.

database add-diagnostic

[์‹คํ—˜์ ] ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ์ง„๋‹จ ์ •๋ณด๋ฅผ ์ถ”๊ฐ€ํ•ฉ๋‹ˆ๋‹ค.

๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๋ถ„์„

๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋ฅผ ๋ถ„์„ํ•˜์—ฌ ์†Œ์Šค ์ฝ”๋“œ์˜ ์ปจํ…์ŠคํŠธ์—์„œ ์˜๋ฏธ ์žˆ๋Š” ๊ฒฐ๊ณผ๋ฅผ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค.

๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๋ฒˆ๋“ค

CodeQL ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์˜ ์žฌ๋ฐฐ์น˜ ๊ฐ€๋Šฅํ•œ ๋ณด๊ด€ ํŒŒ์ผ์„ ๋งŒ๋“ญ๋‹ˆ๋‹ค.

๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์ •๋ฆฌ

๋””์Šคํฌ์—์„œ CodeQL ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋ฅผ ์••์ถ•ํ•ฉ๋‹ˆ๋‹ค.

๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๋งŒ๋“ค๊ธฐ

CodeQL ์ œํ’ˆ ์ค‘ ํ•˜๋‚˜๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋ถ„์„ํ•  ์ˆ˜ ์žˆ๋Š” ์›๋ณธ ํŠธ๋ฆฌ์— ๋Œ€ํ•œ CodeQL ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋ฅผ ๋งŒ๋“ญ๋‹ˆ๋‹ค.

database export-diagnostics

[์‹คํ—˜์ ] ์‹คํŒจํ•œ ๋ถ„์„์— ๋Œ€ํ•œ ์ง„๋‹จ ์ •๋ณด๋ฅผ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์—์„œ ๋‚ด๋ณด๋ƒ…๋‹ˆ๋‹ค.

๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์ข…๋ฃŒ

[๋ฐฐ๊ด€] ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๋งŒ๋“ค๊ธฐ์˜ ๋งˆ์ง€๋ง‰ ๋‹จ๊ณ„์ž…๋‹ˆ๋‹ค.

database import

[๊ณ ๊ธ‰] [์—ฐ๊ฒฐ] ์ข…๋ฃŒ๋˜์ง€ ์•Š์€ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋ฅผ ์ข…๋ฃŒ๋˜์ง€ ์•Š์€ ๋‹ค๋ฅธ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋กœ ๊ฐ€์ ธ์˜ต๋‹ˆ๋‹ค.

๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์ธ๋ฑ์Šค ํŒŒ์ผ

[์—ฐ๊ฒฐ] ์ง€์ •๋œ CodeQL ์ถ”์ถœ๊ธฐ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋…๋ฆฝ ์‹คํ–‰ํ˜• ํŒŒ์ผ์„ ์ธ๋ฑ์‹ฑํ•ฉ๋‹ˆ๋‹ค.

๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค init

[๋ฐฐ๊ด€] ๋นˆ CodeQL ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋ฅผ ๋งŒ๋“ญ๋‹ˆ๋‹ค.

database interpret-results

[์—ฐ๊ฒฐ] ๊ณ„์‚ฐ๋œ ์ฟผ๋ฆฌ ๊ฒฐ๊ณผ๋ฅผ SARIF ๋˜๋Š” CSV์™€ ๊ฐ™์€ ์˜๋ฏธ ์žˆ๋Š” ํ˜•์‹์œผ๋กœ ํ•ด์„ํ•ฉ๋‹ˆ๋‹ค.

database print-baseline

[์—ฐ๊ฒฐ] ํ‘œ์‹œ๋œ ์ฝ”๋“œ ์ค„ ๊ธฐ์ค€์„  ์š”์•ฝ์„ ์ถœ๋ ฅํ•ฉ๋‹ˆ๋‹ค.

database run-queries

[์—ฐ๊ฒฐ] ์ฟผ๋ฆฌ ์ง‘ํ•ฉ์„ ํ•จ๊ป˜ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค.

database trace-command

[์—ฐ๊ฒฐ] ์ถ”์ ๋œ ๋นŒ๋“œ์˜ ์ผ๋ถ€๋กœ ๋‹จ์ผ ๋ช…๋ น์„ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค.

database unbundle

CodeQL ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์••์ถ• ํŒŒ์ผ์„ ์ถ”์ถœํ•ฉ๋‹ˆ๋‹ค.

database upgrade

ํ˜„์žฌ ๋„๊ตฌ์—์„œ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋„๋ก ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋ฅผ ์—…๊ทธ๋ ˆ์ด๋“œํ•ฉ๋‹ˆ๋‹ค.

dataset check

[์—ฐ๊ฒฐ] ํŠน์ • ๋ฐ์ดํ„ฐ ์„ธํŠธ์˜ ๋‚ด๋ถ€ ์ผ๊ด€์„ฑ์„ ๊ฒ€์‚ฌํ•ฉ๋‹ˆ๋‹ค.

๋ฐ์ดํ„ฐ ์„ธํŠธ ์ •๋ฆฌ

[๋ฐฐ๊ด€] ๋ฐ์ดํ„ฐ ์„ธํŠธ์—์„œ ์ž„์‹œ ํŒŒ์ผ์„ ์ •๋ฆฌํ•ฉ๋‹ˆ๋‹ค.

dataset import

[์—ฐ๊ฒฐ] ํŠธ๋žฉ ํŒŒ์ผ ์ง‘ํ•ฉ์„ ์›์‹œ ๋ฐ์ดํ„ฐ ์„ธํŠธ๋กœ ๊ฐ€์ ธ์˜ต๋‹ˆ๋‹ค.

dataset measure

[์—ฐ๊ฒฐ] ํŠน์ • ๋ฐ์ดํ„ฐ ์„ธํŠธ์˜ ๊ด€๊ณ„์— ๋Œ€ํ•œ ํ†ต๊ณ„๋ฅผ ์ˆ˜์ง‘ํ•ฉ๋‹ˆ๋‹ค.

dataset upgrade

[์—ฐ๊ฒฐ] ํ˜„์žฌ ๋„๊ตฌ์—์„œ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋„๋ก ๋ฐ์ดํ„ฐ ์„ธํŠธ๋ฅผ ์—…๊ทธ๋ ˆ์ด๋“œํ•ฉ๋‹ˆ๋‹ค.

diagnostic add

[์‹คํ—˜์ ] [์—ฐ๊ฒฐ] ์ง„๋‹จ ์ •๋ณด๋ฅผ ์ถ”๊ฐ€ํ•ฉ๋‹ˆ๋‹ค.

diagnostic export

[์‹คํ—˜์ ] ์‹คํŒจํ•œ ๋ถ„์„์— ๋Œ€ํ•œ ์ง„๋‹จ ์ •๋ณด๋ฅผ ๋‚ด๋ณด๋ƒ…๋‹ˆ๋‹ค.

cli-server ์‹คํ–‰

[์‹ฌ์ธต ์—ฐ๊ฒฐ] ๋ฐ˜๋ณต๋˜๋Š” JVM ์ดˆ๊ธฐํ™”๋ฅผ ๋ฐฉ์ง€ํ•˜๋ฉด์„œ ์—ฌ๋Ÿฌ ๋ช…๋ น์„ ์‹คํ–‰ํ•˜๊ธฐ ์œ„ํ•œ ์„œ๋ฒ„์ž…๋‹ˆ๋‹ค.

execute language-server

[์—ฐ๊ฒฐ] IDE์˜ QL ์–ธ์–ด์— ๋Œ€ํ•œ ์˜จ๋ผ์ธ ์ง€์›์ž…๋‹ˆ๋‹ค.

execute queries

[์—ฐ๊ฒฐ] ๋ฐ์ดํ„ฐ ์„ธํŠธ์— ๋Œ€ํ•ด ํ•˜๋‚˜ ์ด์ƒ์˜ ์ฟผ๋ฆฌ๋ฅผ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค.

query-server ์‹คํ–‰

[์—ฐ๊ฒฐ] IDE์—์„œ ์ฟผ๋ฆฌ ์‹คํ–‰์„ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค.

execute query-server2

[์—ฐ๊ฒฐ] IDE์—์„œ ์ฟผ๋ฆฌ ์‹คํ–‰์„ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค.

execute upgrades

[์—ฐ๊ฒฐ] ๊ธฐ์กด ์›์‹œ QL ๋ฐ์ดํ„ฐ ์„ธํŠธ์—์„œ ์—…๊ทธ๋ ˆ์ด๋“œ ์Šคํฌ๋ฆฝํŠธ๋ฅผ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค.

generate extensible-predicate-metadata

[์‹คํ—˜์ ] [์‹ฌ์ธต ์—ฐ๊ฒฐ] ์ง€์ •๋œ ํŒฉ์— ์žˆ๋Š” ํ™•์žฅ ๊ฐ€๋Šฅํ•œ ์กฐ๊ฑด์ž๋ฅผ ๋ณด๊ณ ํ•ฉ๋‹ˆ๋‹ค.

๋กœ๊ทธ ์š”์•ฝ ์ƒ์„ฑ

[๊ณ ๊ธ‰] ๊ตฌ์กฐํ™”๋œ ๋กœ๊ทธ ํŒŒ์ผ์˜ ์š”์•ฝ์„ ๋งŒ๋“ญ๋‹ˆ๋‹ค.

์˜ค๋ฒ„๋ ˆ์ด ๋ณ€๊ฒฝ ์ƒ์„ฑ

[Plumbing] ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ํŒŒ์ผ ์ƒ์„ฑ

generate query-help

.qhelp ํŒŒ์ผ์—์„œ ์ตœ์ข… ์‚ฌ์šฉ์ž ์ฟผ๋ฆฌ ๋„์›€๋ง์„ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค.

github merge-results

[๋”ฅ ์—ฐ๊ฒฐ] ์—ฌ๋Ÿฌ SARIF ํŒŒ์ผ์„ ๋‹จ์ผ SARIF ํŒŒ์ผ๋กœ ํ†ตํ•ฉํ•ฉ๋‹ˆ๋‹ค.

github ์—…๋กœ๋“œ ๊ฒฐ๊ณผ

SARIF ํŒŒ์ผ์„ GitHub ์ฝ”๋“œ ๊ฒ€์‚ฌ์— ์—…๋กœ๋“œํ•ฉ๋‹ˆ๋‹ค.

pack add

์„ ํƒ์  ๋ฒ„์ „ ๋ฒ”์œ„๊ฐ€ ์žˆ๋Š” QL ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ํŒฉ ๋ชฉ๋ก์„ ํ˜„์žฌ ํŒจํ‚ค์ง€์˜ ์ข…์†์„ฑ์œผ๋กœ ์ถ”๊ฐ€ํ•œ ๋‹ค์Œ ์„ค์น˜ํ•ฉ๋‹ˆ๋‹ค.

pack bundle

[์—ฐ๊ฒฐ] QL ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ํŒฉ์„ ๋ฒˆ๋“ค๋กœ ๋ฌถ์Šต๋‹ˆ๋‹ค.

pack ci

์ด ํŒฉ์˜ ์ข…์†์„ฑ์„ ์„ค์น˜ํ•˜์—ฌ ๊ธฐ์กด ์ž ๊ธˆ ํŒŒ์ผ์ด ์ตœ์‹  ์ƒํƒœ์ธ์ง€ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค.

pack create

[์—ฐ๊ฒฐ] ์†Œ์Šค ์ฝ”๋“œ์—์„œ QL ํŒจํ‚ค์ง€์˜ ๋‚ด์šฉ์„ ๋นŒ๋“œํ•ฉ๋‹ˆ๋‹ค.

pack download

๋ช…๋ น์ค„์˜ ์ฟผ๋ฆฌ ์‚ฌ์–‘์—์„œ ์ฐธ์กฐํ•˜๋Š” qlpack ์ง‘ํ•ฉ์„ ๋ ˆ์ง€์ŠคํŠธ๋ฆฌ์—์„œ ๋‹ค์šด๋กœ๋“œํ•ฉ๋‹ˆ๋‹ค. ํŒฉ์€ ์ด๋ฆ„์œผ๋กœ ์ œ๊ณต๋˜๊ฑฐ๋‚˜ ์ฟผ๋ฆฌ ๋„๊ตฌ ๋ชจ์Œ(.qls) ํŒŒ์ผ ๋‚ด์—์„œ ์•”์‹œ์ ์œผ๋กœ ์ œ๊ณต๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

pack init

์ง€์ •๋œ ๋””๋ ‰ํ„ฐ๋ฆฌ์—์„œ qlpack์„ ์ดˆ๊ธฐํ™”ํ•ฉ๋‹ˆ๋‹ค.

ํŒฉ ์„ค์น˜

์ด ํŒฉ์˜ ์ข…์†์„ฑ์„ ์„ค์น˜ํ•ฉ๋‹ˆ๋‹ค.

pack ls

[์‹ฌ์ธต ์—ฐ๊ฒฐ] ์ด ๋””๋ ‰ํ„ฐ๋ฆฌ์— ๋ฃจํŒ…๋œ CodeQL ํŒจํ‚ค์ง€๋ฅผ ๋‚˜์—ดํ•ฉ๋‹ˆ๋‹ค. ์ด ๋””๋ ‰ํ„ฐ๋ฆฌ๋Š” qlpack.yml ๋˜๋Š” .codeqlmanifest.json ํŒŒ์ผ์„ ํฌํ•จํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

ํŒฉ ํŒฉ๋ฆฌ์ŠคํŠธ

[์—ฐ๊ฒฐ] QL ์ฟผ๋ฆฌ ํŒฉ ๋˜๋Š” ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ํŒฉ์— ํฌํ•จ๋  ํŒŒ์ผ ์ง‘ํ•ฉ์„ ๊ณ„์‚ฐํ•ฉ๋‹ˆ๋‹ค.

ํŒฉ ๊ฒŒ์‹œ

QL ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ํŒฉ์„ ํŒจํ‚ค์ง€ ๋ ˆ์ง€์ŠคํŠธ๋ฆฌ์— ๊ฒŒ์‹œํ•ฉ๋‹ˆ๋‹ค.

ํŒฉ ํ™•์ธ-์ข…์†์„ฑ

[์—ฐ๊ฒฐ] ์ด QL ํŒฉ์— ํ•„์š”ํ•œ ์ข…์†์„ฑ ์ง‘ํ•ฉ์„ ๊ณ„์‚ฐํ•ฉ๋‹ˆ๋‹ค.

ํŒฉ ์—…๊ทธ๋ ˆ์ด๋“œ

์ด ํŒฉ์˜ ์ข…์†์„ฑ์„ ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ ์ตœ์‹  ๋ฒ„์ „์œผ๋กœ ์—…๋ฐ์ดํŠธํ•ฉ๋‹ˆ๋‹ค.

์ฟผ๋ฆฌ ์ปดํŒŒ์ผ

QL ์ฝ”๋“œ๋ฅผ ์ปดํŒŒ์ผํ•˜๊ฑฐ๋‚˜ ๊ฒ€์‚ฌํ•ฉ๋‹ˆ๋‹ค.

์ฟผ๋ฆฌ ๋””์ปดํŒŒ์ผ

[์—ฐ๊ฒฐ] .qlo ํŒŒ์ผ์—์„œ ์ปดํŒŒ์ผ๋œ ์ฟผ๋ฆฌ์˜ ์ค‘๊ฐ„ ํ‘œํ˜„์„ ์ฝ์Šต๋‹ˆ๋‹ค.

์ฟผ๋ฆฌ ํ˜•์‹

QL ์†Œ์Šค ์ฝ”๋“œ๋ฅผ ์ž๋™ ์„œ์‹ ์ง€์ •ํ•ฉ๋‹ˆ๋‹ค.

์ฟผ๋ฆฌ ์‹คํ–‰

๋‹จ์ผ ์ฟผ๋ฆฌ๋ฅผ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค.

๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ํ™•์ธ

[์‹ฌ์ธต ์—ฐ๊ฒฐ] ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ๋Œ€ํ•œ ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ๋ฅผ ๋ณด๊ณ ํ•ฉ๋‹ˆ๋‹ค.

์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ ํ™•์žฅ์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

[์‹คํ—˜์ ] [์‹ฌ์ธต ์—ฐ๊ฒฐ] ์•ก์„ธ์Šคํ•  ์ˆ˜ ์žˆ๋Š” ํ™•์žฅ์„ ๊ฒฐ์ •ํ•ฉ๋‹ˆ๋‹ค. ์—ฌ๊ธฐ์—๋Š” ๊ธฐ๊ณ„ ํ•™์Šต ๋ชจ๋ธ ๋ฐ ๋ฐ์ดํ„ฐ ํ™•์žฅ ํ”„๋กœ๊ทธ๋žจ์ด ํฌํ•จ๋ฉ๋‹ˆ๋‹ค.

ํŒฉ๋ณ„ ํ™•์žฅ ํ™•์ธ

[์‹คํ—˜์ ] [์‹ฌ์ธต ์—ฐ๊ฒฐ] ํŒฉ ๋ฃจํŠธ์— ๋Œ€ํ•œ ์ง€์ •๋œ ๊ฒฝ๋กœ์— ์•ก์„ธ์Šคํ•  ์ˆ˜ ์žˆ๋Š” ํ™•์žฅ์„ ๊ฒฐ์ •ํ•ฉ๋‹ˆ๋‹ค. ์—ฌ๊ธฐ์—๋Š” ๊ธฐ๊ณ„ ํ•™์Šต ๋ชจ๋ธ ๋ฐ ๋ฐ์ดํ„ฐ ํ™•์žฅ ํ”„๋กœ๊ทธ๋žจ์ด ํฌํ•จ๋ฉ๋‹ˆ๋‹ค.

์ถ”์ถœ๊ธฐ ํ™•์ธ

[์‹ฌ์ธต ์—ฐ๊ฒฐ] ์ง€์ •๋œ ์–ธ์–ด์— ์‚ฌ์šฉํ•  ์ถ”์ถœ๊ธฐ ํŒฉ์„ ๊ฒฐ์ •ํ•ฉ๋‹ˆ๋‹ค.

resolve files

[์‹ฌ์ธต ์—ฐ๊ฒฐ] ํŒŒ์ผ ํฌํ•จ/์ œ์™ธ GLOB ์ง‘ํ•ฉ์„ ํ™•์žฅํ•ฉ๋‹ˆ๋‹ค.

์–ธ์–ด ํ™•์ธ

์„ค์น˜๋œ CodeQL ์ถ”์ถœ๊ธฐ ํŒฉ์„ ๋‚˜์—ดํ•ฉ๋‹ˆ๋‹ค.

๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ๊ฒฝ๋กœ ํ™•์ธ

[์‹ฌ์ธต ์—ฐ๊ฒฐ] ์ฟผ๋ฆฌ์— ๋Œ€ํ•œ QL ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ๊ฒฝ๋กœ ๋ฐ dbscheme์„ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค.

๋ฉ”ํƒ€๋ฐ์ดํ„ฐ ํ™•์ธ

[์‹ฌ์ธต ์—ฐ๊ฒฐ] ์ฟผ๋ฆฌ ์›๋ณธ ํŒŒ์ผ์—์„œ ํ‚ค-๊ฐ’ ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ ์Œ์„ ํ™•์ธํ•˜๊ณ  ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค.

ml-๋ชจ๋ธ ํ™•์ธ

[์‚ฌ์šฉ๋˜์ง€ ์•Š์Œ] [์‹คํ—˜์ ] [์‹ฌ์ธต ์—ฐ๊ฒฐ] ์•ก์„ธ์Šคํ•  ์ˆ˜ ์žˆ๋Š” ๊ธฐ๊ณ„ ํ•™์Šต ๋ชจ๋ธ์„ ๊ฒฐ์ •ํ•ฉ๋‹ˆ๋‹ค.

ํŒฉ ํ•ด๊ฒฐ

์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” CodeQL ํŒฉ๊ณผ ํ•ด๋‹น ์œ„์น˜ ๋ชฉ๋ก์„ ํ‘œ์‹œํ•ฉ๋‹ˆ๋‹ค.

qlpack ํ™•์ธ

์„ค์น˜๋œ QL ํŒฉ ๋ฐ ํ•ด๋‹น ์œ„์น˜์˜ ๋ชฉ๋ก์„ ๋งŒ๋“ญ๋‹ˆ๋‹ค.

qlref ํ™•์ธ

[์‹ฌ์ธต ์—ฐ๊ฒฐ] .qlref ํŒŒ์ผ์„ ์—ญ์ฐธ์กฐํ•˜์—ฌ .ql ํŒŒ์ผ์„ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค.

์ฟผ๋ฆฌ ํ™•์ธ

[์‹ฌ์ธต ์—ฐ๊ฒฐ] ์ฟผ๋ฆฌ ๋””๋ ‰ํ„ฐ๋ฆฌ ๋ฐ ๋„๊ตฌ ๋ชจ์Œ ์‚ฌ์–‘์„ ํ™•์žฅํ•ฉ๋‹ˆ๋‹ค.

ram ํ™•์ธ

[์‹ฌ์ธต ์—ฐ๊ฒฐ] RAM ์˜ต์…˜์„ ์ค€๋น„ํ•ฉ๋‹ˆ๋‹ค.

ํ…Œ์ŠคํŠธ ํ™•์ธ

[์‹ฌ์ธต ์—ฐ๊ฒฐ] ์ง€์ •๋œ ๋””๋ ‰ํ„ฐ๋ฆฌ์—์„œ QL ๋‹จ์œ„ ํ…Œ์ŠคํŠธ๋ฅผ ์ฐพ์Šต๋‹ˆ๋‹ค.

์—…๊ทธ๋ ˆ์ด๋“œ ํ™•์ธ

[์‹ฌ์ธต ์—ฐ๊ฒฐ] ์›์‹œ ๋ฐ์ดํ„ฐ ์„ธํŠธ์— ๋Œ€ํ•ด ์‹คํ–‰ํ•  ์—…๊ทธ๋ ˆ์ด๋“œ๋ฅผ ๊ฒฐ์ •ํ•ฉ๋‹ˆ๋‹ค.

ํ…Œ์ŠคํŠธ ์ˆ˜๋ฝ

์‹คํŒจํ•œ ๋‹จ์œ„ ํ…Œ์ŠคํŠธ์˜ ๊ฒฐ๊ณผ๋ฅผ ์ˆ˜๋ฝํ•ฉ๋‹ˆ๋‹ค.

ํ…Œ์ŠคํŠธ ์ถ”์ถœ

[์—ฐ๊ฒฐ] ํ…Œ์ŠคํŠธ ๋””๋ ‰ํ„ฐ๋ฆฌ์— ๋Œ€ํ•œ ๋ฐ์ดํ„ฐ ์„ธํŠธ๋ฅผ ๋นŒ๋“œํ•ฉ๋‹ˆ๋‹ค.

ํ…Œ์ŠคํŠธ ์‹คํ–‰

QL ์ฟผ๋ฆฌ์— ๋Œ€ํ•œ ๋‹จ์œ„ ํ…Œ์ŠคํŠธ๋ฅผ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค.

version

CodeQL ํˆด์ฒด์ธ์˜ ๋ฒ„์ „์„ ํ‘œ์‹œํ•ฉ๋‹ˆ๋‹ค.