Skip to main content

database export-diagnostics

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

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

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

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

์ด ๋ฌธ์„œ์˜ ๋‚ด์šฉ

์ฐธ๊ณ  ํ•ญ๋ชฉ

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

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

๊ฐœ์š”

Shell
codeql database export-diagnostics --format=<format> [--output=<output>] <options>... -- <database>

์„ค๋ช…

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

v2.12.6๋ถ€ํ„ฐ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์˜ต์…˜

๊ธฐ๋ณธ ์˜ต์…˜

<database>

[ํ•„์ˆ˜] ์ƒ์„ฑ ์ค‘์ธ CodeQL ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์˜ ๊ฒฝ๋กœ์ž…๋‹ˆ๋‹ค. codeql ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค init์„ ์‚ฌ์šฉํ•˜์—ฌ ์ถ”์ถœํ•  ์ค€๋น„๊ฐ€ ๋˜์–ด ์žˆ์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

--db-cluster ์˜ต์…˜์ด ์ง€์ •๋œ ๊ฒฝ์šฐ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์ž์ฒด๊ฐ€ ์•„๋‹ˆ๋ผ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋ฅผ ํฌํ•จํ•˜๋Š” ๋””๋ ‰ํ„ฐ๋ฆฌ์ด๋ฉฐ ํ•ด๋‹น ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๊ฐ€ ๋ชจ๋‘ ํ•จ๊ป˜ ์ฒ˜๋ฆฌ๋ฉ๋‹ˆ๋‹ค.

--format=<format>

[ํ•„์ˆ˜] ๊ฒฐ๊ณผ๋ฅผ ๊ธฐ๋กํ•  ํ˜•์‹์ž…๋‹ˆ๋‹ค. ๋‹ค์Œ ์ค‘ ํ•˜๋‚˜์ž…๋‹ˆ๋‹ค.

raw: JSON ๊ฐœ์ฒด๋กœ, ํ•ด์„๋˜์ง€ ์•Š๋Š” ์›์‹œ ์ง„๋‹จ ๋ฉ”์‹œ์ง€ ๋ชฉ๋ก์ž…๋‹ˆ๋‹ค.

sarif-latest: ์ •์  ๋ถ„์„ ๊ฒฐ๊ณผ๋ฅผ ์„ค๋ช…ํ•˜๊ธฐ ์œ„ํ•œ JSON ๊ธฐ๋ฐ˜ ํ˜•์‹์ธ ์ •์  ๋ถ„์„ ๊ฒฐ๊ณผ ๊ตํ™˜ ํ˜•์‹(SARIF)์ž…๋‹ˆ๋‹ค. ์ด ํ˜•์‹ ์˜ต์…˜์€ ์ง€์›๋˜๋Š” ์ตœ์‹  ๋ฒ„์ „(v2.1.0)์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. ์ด ์˜ต์…˜์€ ์„œ๋กœ ๋‹ค๋ฅธ CodeQL ๋ฒ„์ „ ๊ฐ„์— ์„œ๋กœ ๋‹ค๋ฅธ ๋ฒ„์ „์˜ SARIF๋ฅผ ์ƒ์„ฑํ•˜๋ฏ€๋กœ ์ž๋™ํ™”์— ์‚ฌ์šฉํ•˜๊ธฐ์— ์ ํ•ฉํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

sarifv2.1.0: SARIF v2.1.0์ž…๋‹ˆ๋‹ค.

text: ์ง„๋‹จ ๋ฉ”์‹œ์ง€์˜ ๊ธ€๋จธ๋ฆฌ ๊ธฐํ˜ธ ๋ชฉ๋ก์ž…๋‹ˆ๋‹ค.

--[no-]db-cluster

๋ช…๋ น์ค„์— ์ง€์ •๋œ ๋””๋ ‰ํ„ฐ๋ฆฌ๊ฐ€ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์ž์ฒด๊ฐ€ ์•„๋‹ˆ๋ผ ์ƒ์„ฑ ์ค‘์ธ ํ•˜๋‚˜ ์ด์ƒ์˜ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋ฅผ ํฌํ•จํ•˜๋Š” ๋””๋ ‰ํ„ฐ๋ฆฌ์ž„์„ ๋‚˜ํƒ€๋ƒ…๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋Š” ํ•จ๊ป˜ ์ฒ˜๋ฆฌ๋ฉ๋‹ˆ๋‹ค.

-o, --output=<output>

์ง„๋‹จ ์ •๋ณด๋ฅผ ๊ธฐ๋กํ•  ์ถœ๋ ฅ ๊ฒฝ๋กœ์ž…๋‹ˆ๋‹ค.

--sarif-exit-code=<sarifExitCode>

[SARIF ํ˜•์‹ ์ „์šฉ] ์‹คํŒจํ•œ ํ”„๋กœ์„ธ์Šค์˜ ์ข…๋ฃŒ ์ฝ”๋“œ์ž…๋‹ˆ๋‹ค.

--sarif-exit-code-description=<sarifExitCodeDescription>

[SARIF ํ˜•์‹๋งŒ ํ•ด๋‹น] ์‹คํŒจํ•œ ํ”„๋กœ์„ธ์Šค๊ฐ€ ์ข…๋ฃŒ๋œ ์ด์œ ์ž…๋‹ˆ๋‹ค.

--sarif-category=<category>

[SARIF ํ˜•์‹๋งŒ ํ•ด๋‹น] [๋งž์ถค] SARIF ์ถœ๋ ฅ์— ํฌํ•จํ•  ์ด ๋ถ„์„์˜ ๋ฒ”์ฃผ๋ฅผ ์ง€์ •ํ•ฉ๋‹ˆ๋‹ค. ๋ฒ”์ฃผ๋Š” ๋™์ผํ•œ ์ปค๋ฐ‹ ๋ฐ ๋ฆฌํฌ์ง€ํ† ๋ฆฌ์—์„œ ์ˆ˜ํ–‰๋˜์ง€๋งŒ ์–ธ์–ด๋‚˜ ์ฝ”๋“œ์˜ ๋‹ค๋ฅธ ๋ถ€๋ถ„์—์„œ ์ˆ˜ํ–‰๋˜๋Š” ์—ฌ๋Ÿฌ ๋ถ„์„์„ ๊ตฌ๋ถ„ํ•˜๋Š” ๋ฐ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์—ฌ๋Ÿฌ ๊ฐ€์ง€ ๋ฐฉ๋ฒ•์œผ๋กœ ๋™์ผํ•œ ๋ฒ„์ „์˜ ์ฝ”๋“œ ๋ฒ ์ด์Šค๋ฅผ ๋ถ„์„ํ•˜๊ณ (์˜ˆ: ๋‹ค๋ฅธ ์–ธ์–ด์˜ ๊ฒฝ์šฐ) ์ฝ”๋“œ ๊ฒ€์‚ฌ์—์„œ ํ”„๋ ˆ์  ํ…Œ์ด์…˜์„ ์œ„ํ•ด ๊ฒฐ๊ณผ๋ฅผ GitHub์— ์—…๋กœ๋“œํ•˜๋Š” ๊ฒฝ์šฐ ์ด ๊ฐ’์€ ๊ฐ ๋ถ„์„ ๊ฐ„์— ๋‹ฌ๋ผ์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์ด ๊ฐ’์€ ์ฝ”๋“œ ๊ฒ€์‚ฌ์—์„œ ๋ถ„์„์ด ์„œ๋กœ๋ฅผ _๋Œ€์ฒด_ํ•˜์ง€ ์•Š๊ณ  _๋ณด์™„_ํ•œ๋‹ค๋Š” ๊ฒƒ์„ ์•Œ๋ ค ์ค๋‹ˆ๋‹ค. (๊ฐ’์€ ์„œ๋กœ ๋‹ค๋ฅธ ๋ฒ„์ „์˜ ์ฝ”๋“œ ๋ฒ ์ด์Šค์— ๋Œ€ํ•ด ๋™์ผํ•œ ๋ถ„์„์„ ์‹คํ–‰ํ•˜๋Š” ๋™์•ˆ ์ผ๊ด€๋˜์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.)

์ด ๊ฐ’์€ <run>.automationDetails.id ์†์„ฑ์œผ๋กœ ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค(์•„์ง ์—†๋Š” ๊ฒฝ์šฐ ํ›„ํ–‰ ์Šฌ๋ž˜์‹œ๊ฐ€ ์ถ”๊ฐ€๋จ).

์ผ๋ฐ˜ ์˜ต์…˜

-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๋ถ€ํ„ฐ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.