์ฐธ๊ณ ํญ๋ชฉ
์ด ์ฝํ ์ธ ๋ CodeQL CLI์ ์ต์ ๋ฆด๋ฆฌ์ค์ ๋ํด ์ค๋ช ํฉ๋๋ค. ์ด ์์์ ๋ํ ์์ธํ ๋ด์ฉ์ https://github.com/github/codeql-cli-binaries/releases์(๋ฅผ) ์ฐธ์กฐํ์ธ์.
์ด์ ๋ฆด๋ฆฌ์ค์์ ์ด ๋ช
๋ น์ ์ฌ์ฉํ ์ ์๋ ์ต์
์ ์ธ๋ถ ์ ๋ณด๋ฅผ ๋ณด๋ ค๋ฉด ํฐ๋ฏธ๋์์ ์ต์
์ ์ฌ์ฉํ์ฌ --help
๋ช
๋ น์ ์คํํฉ๋๋ค.
๊ฐ์
codeql database interpret-results --format=<format> --output=<output> [--threads=<num>] <options>... -- <database> <file|dir|suite>...
codeql database interpret-results --format=<format> --output=<output> [--threads=<num>] <options>... -- <database> <file|dir|suite>...
์ค๋ช
[์ฐ๊ฒฐ] ๊ณ์ฐ๋ ์ฟผ๋ฆฌ ๊ฒฐ๊ณผ๋ฅผ SARIF ๋๋ CSV์ ๊ฐ์ ์๋ฏธ ์๋ ํ์์ผ๋ก ํด์ํฉ๋๋ค.
๊ฒฐ๊ณผ๋ codeql database run-queries๋ฅผ ์ฌ์ฉํ์ฌ CodeQL ๋ฐ์ดํฐ๋ฒ ์ด์ค ๋๋ ํฐ๋ฆฌ์ ๊ณ์ฐ๋๊ณ ์ ์ฅ๋์ด์ผ ํฉ๋๋ค. (์ผ๋ฐ์ ์ผ๋ก codeql database analyze๋ฅผ ์ฌ์ฉํ์ฌ ์ด๋ฌํ ๋จ๊ณ๋ฅผ ํจ๊ป ์ํํ๋ ค๊ณ ํฉ๋๋ค.)
์ต์
๊ธฐ๋ณธ ์ต์
<database>
[ํ์] ์ฟผ๋ฆฌ๋ CodeQL ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๊ฒฝ๋ก์ ๋๋ค.
<file|dir|suite>...
์ฌ๊ธฐ์ ์คํ๋ ์ฟผ๋ฆฌ์ ์ฌ์์ ๋ฐ๋ณตํฉ๋๋ค.
์๋ตํ๋ฉด CLI๋ codeql database run-queries์ ๋์ผํ ๋ ผ๋ฆฌ๋ฅผ ์ฌ์ฉํ์ฌ ์ ์ ํ ์ฟผ๋ฆฌ ์งํฉ์ ๊ฒฐ์ ํฉ๋๋ค.
(ํฅํ ๋ฒ์ ์์๋ ์ด๋ฅผ ์๋ตํ๊ณ ๋์ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์๋ ๋ชจ๋ ๊ฒฐ๊ณผ๋ฅผ ํด์ํ ์ ์์ด์ผ ํฉ๋๋ค. ๊ทธ ์๊ด์ค๋ฌ์ด ๋ฏธ๋๋ ์์ง ์ค์ง ์์์ต๋๋ค. ์ฃ์กํฉ๋๋ค.)
--format=<format>
[ํ์] ๊ฒฐ๊ณผ๋ฅผ ๊ธฐ๋กํ ํ์์ ๋๋ค. ๋ค์ ์ค ํ๋์ ๋๋ค.
csv
: ๊ท์น ๋ฐ ๊ฒฝ๊ณ ๋ฉํ๋ฐ์ดํฐ๊ฐ ๋ชจ๋ ์๋ ์ด์ ํฌํจํ์ฌ ํ์์ด ์ง์ ๋ ์ผํ๋ก ๊ตฌ๋ถ๋ ๊ฐ์
๋๋ค.
sarif-latest
: ์ ์ ๋ถ์ ๊ฒฐ๊ณผ๋ฅผ ์ค๋ช
ํ๊ธฐ ์ํ JSON ๊ธฐ๋ฐ ํ์์ธ SARIF(์ ์ ๋ถ์ ๊ฒฐ๊ณผ ๊ตํ ํ์)์
๋๋ค. ์ด ํ์ ์ต์
์ ์ง์๋๋ ์ต์ ๋ฒ์ (v2.1.0)์ ์ฌ์ฉํฉ๋๋ค. ์ด ์ต์
์ ์๋ก ๋ค๋ฅธ CodeQL ๋ฒ์ ๊ฐ์ ์๋ก ๋ค๋ฅธ ๋ฒ์ ์ SARIF๋ฅผ ์์ฑํ๋ฏ๋ก ์๋ํ์ ์ฌ์ฉํ๊ธฐ์ ์ ํฉํ์ง ์์ต๋๋ค.
sarifv2.1.0
: SARIF v2.1.0์
๋๋ค.
graphtext
: ๊ทธ๋ํ๋ฅผ ๋ํ๋ด๋ ํ
์คํธ ํ์์
๋๋ค. @kind ๊ทธ๋ํ๊ฐ ์๋ ์ฟผ๋ฆฌ๋ง ํธํ๋ฉ๋๋ค.
dgml
: ๊ทธ๋ํ๋ฅผ ์ค๋ช
ํ๊ธฐ ์ํ XML ๊ธฐ๋ฐ ํ์์ธ Directed Graph Markup Language์
๋๋ค. @kind ๊ทธ๋ํ๊ฐ ์๋ ์ฟผ๋ฆฌ๋ง ํธํ๋ฉ๋๋ค.
dot
: ๊ทธ๋ํ๋ฅผ ์ค๋ช
ํ๊ธฐ ์ํ ํ
์คํธ ๊ธฐ๋ฐ ํ์์ธ Graphviz DOT ์ธ์ด์
๋๋ค.
@kind ๊ทธ๋ํ๊ฐ ์๋ ์ฟผ๋ฆฌ๋ง ํธํ๋ฉ๋๋ค.
-o, --output=<output>
[ํ์] ๊ฒฐ๊ณผ๋ฅผ ๊ธฐ๋กํ ์ถ๋ ฅ ๊ฒฝ๋ก์ ๋๋ค. ๊ทธ๋ํ ํ์์ ๊ฒฝ์ฐ ๋๋ ํฐ๋ฆฌ์ฌ์ผ ํ๋ฉฐ ๊ฒฐ๊ณผ(๋๋ ์ด ๋ช ๋ น์ด ๋ ์ด์์ ์ฟผ๋ฆฌ ํด์์ ์ง์ํ๋ ๊ฒฝ์ฐ์ ๊ฒฐ๊ณผ)๋ ํด๋น ๋๋ ํฐ๋ฆฌ ๋ด์ ๊ธฐ๋ก๋ฉ๋๋ค.
--max-paths=<maxPaths>
๊ฒฝ๋ก๊ฐ ์๋ ๊ฐ ๊ฒฝ๊ณ ์ ๋ํด ์์ฑํ ์ต๋ ๊ฒฝ๋ก ์์ ๋๋ค. (๊ธฐ๋ณธ๊ฐ: 4)
--[no-]sarif-add-file-contents
[SARIF ํ์๋ง ํด๋น] ํ๋ ์ด์์ ๊ฒฐ๊ณผ์์ ์ฐธ์กฐ๋๋ ๋ชจ๋ ํ์ผ์ ๋ํ ์ ์ฒด ํ์ผ ์ฝํ ์ธ ๋ฅผ ํฌํจํฉ๋๋ค.
--[no-]sarif-add-snippets
[SARIF ํ์๋ง ํด๋น] ๊ฒฐ๊ณผ์ ๋ฉ์ ๋ ๊ฐ ์์น์ ๋ํ ์ฝ๋ ์กฐ๊ฐ์ ํฌํจํ๋ฉฐ, ๋ณด๊ณ ๋ ์์น ์๋ค์๋ ๋ ์ค์ ์ปจํ ์คํธ๊ฐ ์์ต๋๋ค.
--[no-]sarif-add-query-help
[SARIF ํ์๋ง] [์ฌ์ฉ๋์ง ์์] ๋ชจ๋ ์ฟผ๋ฆฌ์ ๋ํ Markdown ์ฟผ๋ฆฌ ๋์๋ง์ ํฌํจํฉ๋๋ค. /path/to/query.md ํ์ผ์์ /path/to/query.ql์ ๋ํ ์ฟผ๋ฆฌ ๋์๋ง์ ๋ก๋ํฉ๋๋ค. ์ด ํ๋๊ทธ๊ฐ ์ ๊ณต๋์ง ์๋ ๊ฒฝ์ฐ ๊ธฐ๋ณธ ๋์์ ์ฌ์ฉ์ ์ง์ ์ฟผ๋ฆฌ์ ๋ํ ๋์๋ง๋ง ํฌํจํ๋ ๊ฒ์ ๋๋ค. ์ฆ, `codeql/<lang&rt;-queries` ํ์์ด ์๋ ์ฟผ๋ฆฌ ํฉ์ ๋์๋ง์ ํฌํจํฉ๋๋ค. ์ด ์ต์ ์ codeql bqrs ํด์์ ์ ๋ฌ๋ ๋ ์ ์ฉ๋์ง ์์ต๋๋ค.
--sarif-include-query-help=<mode>
[SARIF ํ์๋ง] SARIF ์ถ๋ ฅ์ ์ฟผ๋ฆฌ ๋์๋ง์ ํฌํจํ ์ง ์ฌ๋ถ๋ฅผ ์ง์ ํฉ๋๋ค. ๋ค์ ์ค ํ๋์ ๋๋ค.
always
: ๋ชจ๋ ์ฟผ๋ฆฌ์ ๋ํ ์ฟผ๋ฆฌ ๋์๋ง์ ํฌํจํฉ๋๋ค.
custom_queries_only
(๊ธฐ๋ณธ๊ฐ): ์ฌ์ฉ์ ์ง์ ์ฟผ๋ฆฌ์ ๋ํด์๋ง ์ฟผ๋ฆฌ ๋์๋ง์ ํฌํจํฉ๋๋ค. ์ฆ, `codeql/<lang&rt;-queries` ํ์์ด ์๋ ์ฟผ๋ฆฌ ํฉ์ ์ฟผ๋ฆฌ ๋์๋ง์ ํฌํจํฉ๋๋ค.
never
: ์ฟผ๋ฆฌ์ ๋ํ ์ฟผ๋ฆฌ ๋์๋ง์ ํฌํจํ์ง ์์ต๋๋ค.
์ด ์ต์ ์ codeql bqrs ํด์์ ์ ๋ฌ๋ ๋ ์ ์ฉ๋์ง ์์ต๋๋ค.
v2.15.2
๋ถํฐ ์ฌ์ฉํ ์ ์์ต๋๋ค.
--no-sarif-include-alert-provenance
[๊ณ ๊ธ] [SARIF ํ์๋ง] SARIF ์ถ๋ ฅ์ ๊ฒฝ๊ณ ์ถ์ฒ ์ ๋ณด๋ฅผ ํฌํจํ์ง ์์ต๋๋ค.
v2.18.1
๋ถํฐ ์ฌ์ฉํ ์ ์์ต๋๋ค.
--[no-]sarif-group-rules-by-pack
[SARIF ํ์๋ง ํด๋น] <run>.tool.extensions
์์ฑ์ ํด๋น QL ํฉ ์๋์ ๊ฐ ์ฟผ๋ฆฌ์ ๋ํ ๊ท์น ๊ฐ์ฒด๋ฅผ ๋ฐฐ์นํฉ๋๋ค. ์ด ์ต์
์ codeql bqrs ํด์์ ์ ๋ฌ๋ ๋ ์ ์ฉ๋์ง ์์ต๋๋ค.
--[no-]sarif-multicause-markdown
[SARIF ํ์๋ง ํด๋น] ์ฌ๋ฌ ์์ธ์ด ์๋ ๊ฒฝ๊ณ ์ ๊ฒฝ์ฐ ์ผ๋ฐ ๋ฌธ์์ด ์ธ์๋ ์ถ๋ ฅ์ Markdown ํ์์ ํญ๋ชฉ๋ณ ๋ชฉ๋ก์ผ๋ก ํฌํจํฉ๋๋ค.
--no-sarif-minify
[SARIF ํ์๋ง] ์๋ ์์ ์ง์ SARIF ์ถ๋ ฅ์ ์์ฑํฉ๋๋ค. ๊ธฐ๋ณธ์ ์ผ๋ก SARIF ์ถ๋ ฅ์ ์ถ๋ ฅ ํ์ผ์ ํฌ๊ธฐ๋ฅผ ์ค์ด๊ธฐ ์ํด ์ถ์๋ฉ๋๋ค.
--sarif-run-property=<String=String>
[SARIF ํ์ ์ ์ฉ] ์์ฑ๋ SARIF '์คํ' ์์ฑ ๋ชจ์์ ์ถ๊ฐํ ํค ๊ฐ ์์ ๋๋ค. ๋ฐ๋ณตํ ์ ์์ต๋๋ค.
--no-group-results
[SARIF ํ์๋ง ํด๋น] ๊ณ ์ ํ ์์น๋น ํ๋์ ๊ฒฐ๊ณผ๊ฐ ์๋ ๋ฉ์์ง๋น ํ๋์ ๊ฒฐ๊ณผ๋ฅผ ์์ฑํฉ๋๋ค.
--csv-location-format=<csvLocationFormat>
CSV ์ถ๋ ฅ์์ ์์น๋ฅผ ์์ฑํ๋ ํ์์ ๋๋ค. uri, line-column, offset-length ์ค ํ๋์ ๋๋ค. (๊ธฐ๋ณธ๊ฐ: ํ-์ด)
--dot-location-url-format=<dotLocationUrlFormat>
DOT ์ถ๋ ฅ์์ ํ์ผ ์์น URL์ ์์ฑํ๋ ํ์์ ์ ์ํ๋ ํ์ ๋ฌธ์์ด์ ๋๋ค. {path} {start:line} {start:column} {end:line} {end:column}, {offset}, {length} ์๋ฆฌ ํ์์๋ฅผ ์ฌ์ฉํ ์ ์์ต๋๋ค.
--[no-]sublanguage-file-coverage
[GitHub.com ๋ฐ GitHub Enterprise Server v3.12.0 ์ด์ ์ ์ฉ] ํ์ ์ธ์ด ํ์ผ ์ ์ฉ ๋ฒ์ ์ ๋ณด๋ฅผ ์ฌ์ฉํฉ๋๋ค. C ๋ฐ C++, Java ๋ฐ Kotlin, JavaScript ๋ฐ TypeScript์ ๊ฐ์ CodeQL ์ถ์ถ๊ธฐ๋ฅผ ๊ณต์ ํ๋ ์ธ์ด์ ๋ํ ๋ณ๋์ ํ์ผ ์ ์ฉ ๋ฒ์ ์ ๋ณด๋ฅผ ๊ณ์ฐ, ํ์ ๋ฐ ๋ด๋ณด๋ ๋๋ค.
v2.15.2
๋ถํฐ ์ฌ์ฉํ ์ ์์ต๋๋ค.
--sarif-category=<category>
[SARIF ํ์๋ง ํด๋น] [๋ง์ถค] SARIF ์ถ๋ ฅ์ ํฌํจํ ์ด ๋ถ์์ ๋ฒ์ฃผ๋ฅผ ์ง์ ํฉ๋๋ค. ๋ฒ์ฃผ๋ ๋์ผํ ์ปค๋ฐ ๋ฐ ๋ฆฌํฌ์งํ ๋ฆฌ์์ ์ํ๋์ง๋ง ์ธ์ด๋ ์ฝ๋์ ๋ค๋ฅธ ๋ถ๋ถ์์ ์ํ๋๋ ์ฌ๋ฌ ๋ถ์์ ๊ตฌ๋ถํ๋ ๋ฐ ์ฌ์ฉํ ์ ์์ต๋๋ค.
์ฌ๋ฌ ๊ฐ์ง ๋ฐฉ๋ฒ์ผ๋ก ๋์ผํ ๋ฒ์ ์ ์ฝ๋ ๋ฒ ์ด์ค๋ฅผ ๋ถ์ํ๊ณ (์: ๋ค๋ฅธ ์ธ์ด์ ๊ฒฝ์ฐ) ์ฝ๋ ๊ฒ์ฌ์์ ํ๋ ์ ํ ์ด์ ์ ์ํด ๊ฒฐ๊ณผ๋ฅผ GitHub์ ์ ๋ก๋ํ๋ ๊ฒฝ์ฐ ์ด ๊ฐ์ ๊ฐ ๋ถ์ ๊ฐ์ ๋ฌ๋ผ์ผ ํฉ๋๋ค. ์ด ๊ฐ์ ์ฝ๋ ๊ฒ์ฌ์์ ๋ถ์์ด ์๋ก๋ฅผ _๋์ฒด_ํ์ง ์๊ณ _๋ณด์_ํ๋ค๋ ๊ฒ์ ์๋ ค ์ค๋๋ค. (๊ฐ์ ์๋ก ๋ค๋ฅธ ๋ฒ์ ์ ์ฝ๋ ๋ฒ ์ด์ค์ ๋ํด ๋์ผํ ๋ถ์์ ์คํํ๋ ๋์ ์ผ๊ด๋์ด์ผ ํฉ๋๋ค.)
์ด ๊ฐ์ <run>.automationDetails.id
์์ฑ์ผ๋ก ํ์๋ฉ๋๋ค(์์ง ์๋ ๊ฒฝ์ฐ ํํ ์ฌ๋์๊ฐ ์ถ๊ฐ๋จ).
-j, --threads=<num>
๊ฒฝ๋ก ๊ณ์ฐ์ ์ฌ์ฉ๋๋ ์ค๋ ๋ ์์ ๋๋ค.
๊ธฐ๋ณธ๊ฐ์ 1์ ๋๋ค. 0์ ์ ๋ฌํ์ฌ ์ปดํจํฐ์ ์ฝ์ด๋น ํ๋์ ์ค๋ ๋๋ฅผ ์ฌ์ฉํ๊ฑฐ๋ -_N_์ ์ ๋ฌํ์ฌ _N_๊ฐ์ ์ฝ์ด๋ฅผ ์ฌ์ฉํ์ง ์์ ์ํ๋ก ๋ ์ ์์ต๋๋ค(ํ๋ ์ด์์ ์ค๋ ๋๋ฅผ ๊ณ์ ์ฌ์ฉํ๋ ๊ฒฝ์ฐ ์ ์ธ).
--no-database-extension-packs
[๊ณ ๊ธ] ๋ฐ์ดํฐ๋ฒ ์ด์ค ์์ฑ ์ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ ์ฅ๋ ํ์ฅ ํฉ์ ์ฝ๋ ๊ฒ์ฌ ๊ตฌ์ฑ ํ์ผ์์ ๋๋ ๋ถ์๋ ์ฝ๋๋ฒ ์ด์ค์ 'ํ์ฅ' ๋๋ ํฐ๋ฆฌ์ ์ ์ฅ๋ ํ์ฅ ํ์ผ์์ ์๋ตํฉ๋๋ค.
--[no-]print-diagnostics-summary
๋ถ์๋ ์ง๋จ ์์ฝ์ ํ์ค ์ถ๋ ฅ์ ์ถ๋ ฅํฉ๋๋ค.
--[no-]print-metrics-summary
๋ถ์๋ ๋ฉํธ๋ฆญ ์์ฝ์ ํ์ค ์ถ๋ ฅ์ ์ถ๋ ฅํฉ๋๋ค.
--[no-]print-baseline-loc
ํ์ค ์ถ๋ ฅ์ผ๋ก ๊ณ์ฐ๋๋ ์ฝ๋ ์ค ๊ธฐ์ค์ ์ถ๋ ฅํฉ๋๋ค.
CodeQL ํจํค์ง ๊ด๋ฆฌ์๋ฅผ ๊ตฌ์ฑํ๋ ์ต์
--registries-auth-stdin
์ผํ๋ก ๊ตฌ๋ถ๋ <registry_url>=<token> ์ ๋ชฉ๋ก์ ์ ๋ฌํ์ฌ GitHub Enterprise Server ์ปจํ ์ด๋ ๋ ์ง์คํธ๋ฆฌ์ ์ธ์ฆํฉ๋๋ค.
์๋ฅผ ๋ค์ด https://containers.GHEHOSTNAME1/v2/=TOKEN1,https://containers.GHEHOSTNAME2/v2/=TOKEN2
๋ฅผ ์ ๋ฌํ์ฌ
๋ ๊ฐ์ GitHub Enterprise Server ์ธ์คํด์ค์ ์ธ์ฆํ ์ ์์ต๋๋ค.
์ด๋ ๊ฒ ํ๋ฉด CODEQL_REGISTRIES_AUTH ๋ฐ GITHUB_TOKEN ํ๊ฒฝ ๋ณ์๊ฐ ์ฌ์ ์๋ฉ๋๋ค. github.com ์ปจํ
์ด๋ ๋ ์ง์คํธ๋ฆฌ์๋ง ์ธ์ฆํด์ผ ํ๋ ๊ฒฝ์ฐ ๋ ๊ฐ๋จํ --github-auth-stdin
์ต์
์ ์ฌ์ฉํ์ฌ ์ธ์ฆํ ์ ์์ต๋๋ค.
--github-auth-stdin
ํ์ค ์ ๋ ฅ์ ํตํด github.com์ GitHub Apps ํ ํฐ ๋๋ ๊ฐ์ธ์ฉ ์ก์ธ์ค ํ ํฐ์ ์ ๋ฌํ์ฌ github.com ์ปจํ ์ด๋ ๋ ์ง์คํธ๋ฆฌ์ ์ธ์ฆํฉ๋๋ค.
GitHub Enterprise Server ์ปจํ
์ด๋ ๋ ์ง์คํธ๋ฆฌ์ ์ธ์ฆํ๋ ค๋ฉด --registries-auth-stdin
์ ์ ๋ฌํ๊ฑฐ๋ CODEQL_REGISTRIES_AUTH ํ๊ฒฝ ๋ณ์๋ฅผ ์ฌ์ฉํฉ๋๋ค.
์ด๋ ๊ฒ ํ๋ฉด GITHUB_TOKEN ํ๊ฒฝ ๋ณ์๊ฐ ์ฌ์ ์๋ฉ๋๋ค.
๊ฒฐ๊ณผ๋ฅผ ํด์ํ ๋ ์ฌ์ฉํ ํ์ฅ์ ์ง์ ํ๋ ์ต์
--model-packs=<
name@range>...
ํ๊ฐํ๋ ค๋ ์ฟผ๋ฆฌ๋ฅผ ์ฌ์ฉ์ ์ง์ ํ๊ธฐ ์ํด ๋ชจ๋ธ ํฉ์ผ๋ก ์ฌ์ฉํ CodeQL ํฉ ์ด๋ฆ ๋ชฉ๋ก(๊ฐ๊ฐ ์ ํ์ ๋ฒ์ ๋ฒ์ ํฌํจ)์ ๋๋ค.
QL ํฉ์ ์ฐพ๊ธฐ ์ํ ์ต์ (์ฟผ๋ฆฌ ๋๊ตฌ ๋ชจ์์ ํด์ํ๋ ๋ฐ ํ์ํ ์ ์์)
--search-path=<dir>[:<dir>...]
QL ํฉ์ ์ฐพ์ ์ ์๋ ๋๋ ํฐ๋ฆฌ ๋ชฉ๋ก์
๋๋ค. ๊ฐ ๋๋ ํฐ๋ฆฌ๋ QL ํฉ(๋๋ ๋ฃจํธ์ .codeqlmanifest.json
ํ์ผ์ด ํฌํจ๋ ํฉ ๋ฒ๋ค) ๋๋ ๊ทธ๋ฌํ ๋๋ ํฐ๋ฆฌ ํ๋ ์ด์์ ์ง๊ณ ๋ถ๋ชจ์ผ ์ ์์ต๋๋ค.
๊ฒฝ๋ก์ ๋ ์ด์์ ๋๋ ํฐ๋ฆฌ๊ฐ ํฌํจ๋ ๊ฒฝ์ฐ ๋๋ ํฐ๋ฆฌ์ ์์๊ฐ ์ฐ์ ์์๋ฅผ ์ ์ํฉ๋๋ค. ํ์ธํด์ผ ํ๋ ํฉ ์ด๋ฆ์ด ๋๋ ํฐ๋ฆฌ ํธ๋ฆฌ ์ค ๋ ์ด์์์ ์ผ์นํ๋ ๊ฒฝ์ฐ ๋จผ์ ์ง์ ๋ ๋๋ ํฐ๋ฆฌ๊ฐ ์ฐ์ ํฉ๋๋ค.
์คํ ์์ค CodeQL ๋ฆฌํฌ์งํ ๋ฆฌ์ ์ฒดํฌ ์์์์ ์ด๋ฅผ ๊ฐ๋ฆฌํค๋ฉด ํด๋น ๋ฆฌํฌ์งํ ๋ฆฌ์ ์๋ ์ธ์ด ์ค ํ๋๋ฅผ ์ฟผ๋ฆฌํ ๋ ์๋ํด์ผ ํฉ๋๋ค.
์์ถ์ ํผ CodeQL ํด์ฒด์ธ์ ํ์ ๋ก CodeQL ๋ฆฌํฌ์งํ ๋ฆฌ๋ฅผ ์ฒดํฌ ์์ํ ๊ฒฝ์ฐ ์ด ์ต์
์ ์ง์ ํ ํ์๊ฐ ์์ต๋๋ค. ์ด๋ฌํ ํ์ ๋๋ ํฐ๋ฆฌ๋ ๋ค๋ฅธ ๋ฐฉ๋ฒ์ผ๋ก๋ ์ฐพ์ ์ ์๋ QL ํฉ์ผ๋ก ํญ์ ๊ฒ์๋ฉ๋๋ค. (์ด ๊ธฐ๋ณธ๊ฐ์ด ์๋ํ์ง ์๋ ๊ฒฝ์ฐ ์ฌ์ฉ์๋ณ ๊ตฌ์ฑ ํ์ผ์์ --search-path
๋ฅผ ํ ๋ฒ๋ง ์ค์ ํ๋ ๊ฒ์ด ์ข์ต๋๋ค).
(์ฐธ๊ณ : Windows์์๋ ๊ฒฝ๋ก ๊ตฌ๋ถ ๊ธฐํธ๊ฐ ;
์
๋๋ค.)
--additional-packs=<dir>[:<dir>...]
์ด ๋๋ ํฐ๋ฆฌ ๋ชฉ๋ก์ด ์ง์ ๋ ๊ฒฝ์ฐ --search-path
์ ์๋ ๋๋ ํฐ๋ฆฌ๋ณด๋ค ๋จผ์ ํฉ์ด ๊ฒ์๋ฉ๋๋ค. ์ด ์ฌ์ด์ ์์๋ ์ค์ํ์ง ์์ต๋๋ค. ์ด ๋ชฉ๋ก์ ํตํด ์๋ก ๋ค๋ฅธ ๋ ์์น์์ ํฉ ์ด๋ฆ์ ์ฐพ์ ๊ฒฝ์ฐ ์ค๋ฅ๊ฐ ๋ฐ์ํฉ๋๋ค.
์ด ๊ธฐ๋ฅ์ ๊ธฐ๋ณธ ๊ฒฝ๋ก์๋ ํ์๋๋ ํฉ์ ์ ๋ฒ์ ์ ์ผ์์ ์ผ๋ก ๊ฐ๋ฐํ๋ ๊ฒฝ์ฐ์ ์ ์ฉํฉ๋๋ค. ๋ฐ๋ฉด์ ๊ตฌ์ฑ ํ์ผ์์ ์ด ์ต์ ์ ์ฌ์ ์ํ๋ ๊ฒ์ ๊ถ์ฅ๋์ง ์์ต๋๋ค. ์ผ๋ถ ๋ด๋ถ ์์ ์์๋ ๊ตฌ์ฑ๋ ๊ฐ์ ์ฌ์ ์ํ์ฌ ์ฆ์ ์ด ์ต์ ์ ์ถ๊ฐํฉ๋๋ค.
(์ฐธ๊ณ : Windows์์๋ ๊ฒฝ๋ก ๊ตฌ๋ถ ๊ธฐํธ๊ฐ ;
์
๋๋ค.)
์ผ๋ฐ ์ต์
-h, --help
์ด ๋์๋ง ํ ์คํธ๋ฅผ ํ์ํฉ๋๋ค.
-J=<opt>
[๊ณ ๊ธ] ๋ช ๋ น์ ์คํํ๋ JVM์ ์ต์ ์ ์ง์ ํฉ๋๋ค.
(๊ณต๋ฐฑ์ ํฌํจํ๋ ์ต์ ์ ์ฌ๋ฐ๋ฅด๊ฒ ์ฒ๋ฆฌ๋์ง ์์ ์ ์์ผ๋ ์ฃผ์ํ์ธ์.)
-v, --verbose
์ถ๋ ฅ๋๋ ์งํ๋ฅ ๋ฉ์์ง ์๋ฅผ ์ ์ง์ ์ผ๋ก ๋๋ฆฝ๋๋ค.
-q, --quiet
์ถ๋ ฅ๋๋ ์งํ๋ฅ ๋ฉ์์ง ์๋ฅผ ์ ์ง์ ์ผ๋ก ์ค์ ๋๋ค.
--verbosity=<level>
[๊ณ ๊ธ] ์ธ๋ถ ์ ๋ณด ํ์ ์์ค์ ์ค๋ฅ, ๊ฒฝ๊ณ , ์งํ๋ฅ , ์งํ๋ฅ +, ์งํ๋ฅ ++, ์งํ๋ฅ +++ ์ค ํ๋๋ก ๋ช
์์ ์ผ๋ก ์ค์ ํฉ๋๋ค. -v
๋ฐ -q
๋ฅผ ์ฌ์ ์ํฉ๋๋ค.
--logdir=<dir>
[๊ณ ๊ธ] ํ์์คํฌํ์ ์คํ ์ค์ธ ํ์ ๋ช ๋ น์ ์ด๋ฆ์ ํฌํจํ๋ ์์ฑ๋ ์ด๋ฆ์ ์ฌ์ฉํ์ฌ ์ง์ ๋ ๋๋ ํฐ๋ฆฌ์ ์๋ ํ๋ ์ด์์ ํ์ผ์ ์์ธํ ๋ก๊ทธ๋ฅผ ๊ธฐ๋กํฉ๋๋ค.
(๋ชจ๋ ๊ถํ์ ๊ฐ์ง ์ด๋ฆ์ผ๋ก ๋ก๊ทธ ํ์ผ์ ์์ฑํ๋ ค๋ฉด --log-to-stderr
์(๋ฅผ) ์ง์ ํ๊ณ stderr๋ฅผ ์ํ๋ ๋๋ก ๋ฆฌ๋๋ ์
ํฉ๋๋ค.)
--common-caches=<dir>
[๊ณ ๊ธ] ๋ค์ด๋ก๋ํ QL ํฉ ๋ฐ ์ปดํ์ผ๋ ์ฟผ๋ฆฌ ๊ณํ๊ณผ ๊ฐ์ด ์ฌ๋ฌ CLI ์คํ ๊ฐ์ ์ ์ง๋๋ ๋์คํฌ์ ์บ์๋ ๋ฐ์ดํฐ์ ์์น๋ฅผ ์ ์ดํฉ๋๋ค. ๋ช
์์ ์ผ๋ก ์ค์ ํ์ง ์์ ๊ฒฝ์ฐ ์ด ๊ธฐ๋ณธ๊ฐ์ ์ฌ์ฉ์์ ํ ๋๋ ํฐ๋ฆฌ์ ์ด๋ฆ์ด ์ง์ ๋ .codeql
๋๋ ํฐ๋ฆฌ๋ก ์ค์ ๋๋ฉฐ, ์์ง ์๋ ๊ฒฝ์ฐ ๋ง๋ค์ด์ง๋๋ค.
v2.15.2
๋ถํฐ ์ฌ์ฉํ ์ ์์ต๋๋ค.