Skip to main content

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

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

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

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

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

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

์ฐธ๊ณ  ํ•ญ๋ชฉ

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

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

๊ฐœ์š”

Shell
codeql generate log-summary <options>... -- <input> <result>

์„ค๋ช…

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

์ด ๋ช…๋ น์€ ๊ตฌ์กฐํ™”๋œ JSON ๊ณ„์‚ฐ๊ธฐ ์ด๋ฒคํŠธ ๋กœ๊ทธ์˜ ์š”์•ฝ์„ ๋งŒ๋“ญ๋‹ˆ๋‹ค. ์ด ๋ช…๋ น์˜ ์ถœ๋ ฅ์€ ๋กœ๊ทธ ํŒŒ์ผ ์ž์ฒด๋ณด๋‹ค ๋‹ค๋ฅธ ์—ฌ๋Ÿฌ ๋ฒ„์ „์˜ CLI์—์„œ ๋” ์•ˆ์ •์ ์œผ๋กœ ์œ ์ง€๋ฉ๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ ๋กœ๊ทธ์˜ ์ถœ๋ ฅ์„ ์‚ฌ์šฉํ•˜๋Š” ์Šคํฌ๋ฆฝํŠธ๋ฅผ ๊ตฌํ˜„ํ•˜๋Š” ๊ฒฝ์šฐ ์ด๋ฒคํŠธ ๋กœ๊ทธ๋ฅผ ์ง์ ‘ ์‚ฌ์šฉํ•˜๋Š” ๋Œ€์‹  ์ด ๋ช…๋ น์„ ์‹คํ–‰ํ•˜๊ณ  ์ถœ๋ ฅ์„ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ด ์ข‹์Šต๋‹ˆ๋‹ค.

์˜ต์…˜

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

<input>

[ํ•„์ˆ˜] ์š”์•ฝ์„ ์ƒ์„ฑํ•  ์ด๋ฒคํŠธ ๋กœ๊ทธ ํŒŒ์ผ์˜ ๊ฒฝ๋กœ์ž…๋‹ˆ๋‹ค.

<result>

์š”์•ฝ๋œ ๋กœ๊ทธ ํŒŒ์ผ์„ ์ถœ๋ ฅํ•  ์œ„์น˜์˜ ๊ฒฝ๋กœ์ž…๋‹ˆ๋‹ค. ์ƒ๋žตํ•˜๋ฉด ์š”์•ฝ์ด stdout์œผ๋กœ ์ถœ๋ ฅ๋ฉ๋‹ˆ๋‹ค.

--minify-output

ํ•ด๋‹นํ•˜๋Š” ๊ฒฝ์šฐ ์ถœ๋ ฅ๋œ ์š”์•ฝ์—์„œ ๊ณต๋ฐฑ์„ ์ƒ๋žตํ•ฉ๋‹ˆ๋‹ค. ๊ทธ ๊ฒฐ๊ณผ ์‚ฌ์šฉ์ž๊ฐ€ ์ฝ์„ ์ˆ˜๋Š” ์ ์ง€๋งŒ ๋ฉ”๋ชจ๋ฆฌ๋Š” ์ค„์–ด๋“ญ๋‹ˆ๋‹ค. ์ด ์˜ต์…˜์€ ์ผ๋ถ€ ์ถœ๋ ฅ ํ˜•์‹์—๋งŒ ์ ์šฉ๋ฉ๋‹ˆ๋‹ค.

--utc

[๊ณ ๊ธ‰] ์ด ๋ช…๋ น์—์„œ ์ƒ์„ฑ๋œ ์š”์•ฝ์˜ ํŠน์ • ํƒ€์ž„์Šคํƒฌํ”„๋Š” ์‹คํ–‰ ์ค‘์ธ ์ปดํ“จํ„ฐ์˜ ํ˜„์ง€ ํ‘œ์ค€ ์‹œ๊ฐ„๋Œ€๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด ํ”Œ๋ž˜๊ทธ๋ฅผ ์‚ฌ์šฉํ•˜๋„๋ก ์„ค์ •ํ•˜๋ฉด ๋ชจ๋“  ํƒ€์ž„์Šคํƒฌํ”„๊ฐ€ UTC๊ฐ€ ๋ฉ๋‹ˆ๋‹ค.

--format=<format>

์ƒ์„ฑ๋œ ์ถœ๋ ฅ์˜ ํ˜•์‹์„ ์ œ์–ดํ•ฉ๋‹ˆ๋‹ค.

predicates(๊ธฐ๋ณธ๊ฐ’): ๊ฐ ์กฐ๊ฑด์ž์—์„œ ์ˆ˜ํ–‰๋˜๋Š” ๊ณ„์‚ฐ์˜ ์š”์•ฝ์„ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค. ์ด ์ŠคํŠธ๋ฆผ์€ ๋‘ ๊ฐœ์˜ ์ค„ ๋ฐ”๊ฟˆ ๋ฌธ์ž(๊ธฐ๋ณธ)๋กœ ๊ตฌ๋ถ„๋œ JSON ๊ฐœ์ฒด์˜ ์ŠคํŠธ๋ฆผ์ด๊ฑฐ๋‚˜ --minify-output ์˜ต์…˜์ด ์ „๋‹ฌ๋œ ๊ฒฝ์šฐ ํ•œ ๊ฐœ์ž…๋‹ˆ๋‹ค.

text: ์‚ฌ์šฉ์ž๊ฐ€ ์ฝ์„ ์ˆ˜ ์žˆ๋Š” ํ‰๊ฐ€ ์‹คํ–‰ ์š”์•ฝ์„ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค.

overall: ๋ช‡ ๊ฐ€์ง€ ์š”์•ฝ ํ†ต๊ณ„์™€ ๊ฐ€์žฅ ์‹œ๊ฐ„์ด ๋งŽ์ด ์†Œ์š”๋˜๋Š” ํ‰๊ฐ€์— ๋Œ€ํ•œ ์ •๋ณด๋ฅผ ํฌํ•จํ•˜์—ฌ ํ‰๊ฐ€ ์‹คํ–‰์— ๋Œ€ํ•œ ์ „๋ฐ˜์ ์ธ ์ •๋ณด์˜ ์ผ๋ถ€๊ฐ€ ํฌํ•จ๋œ JSON ํŒŒ์ผ์„ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค.

--[no-]deduplicate-stage-summaries

[๊ณ ๊ธ‰] ์ด ์˜ต์…˜์€ ํ…์ŠคํŠธ ํ˜•์‹๊ณผ ํ•จ๊ป˜๋งŒ ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค. ์ด ๊ฐ’์ด ์ „๋‹ฌ๋˜๋ฉด ์ฟผ๋ฆฌ ๊ฐ„์— ๊ณต์œ ๋˜๋Š” ๋‹จ๊ณ„์— ๋Œ€ํ•ด ๊ฐ€์žฅ ๋น„์‹ผ ์กฐ๊ฑด์ž๊ฐ€ ํฌํ•จ๋œ ์š”์•ฝ ํ…Œ์ด๋ธ”์ด ๋ฐ˜๋ณต๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์ด๋ ‡๊ฒŒ ํ•˜๋ฉด ์ฟผ๋ฆฌ๊ฐ€ ์™„๋ฃŒ๋œ ์‹œ์ ์— ๊ฐ ์ฟผ๋ฆฌ์— ๋Œ€ํ•œ ํ…Œ์ด๋ธ”์ด ํ‘œ์‹œ๋˜์ง€ ์•Š๊ณ  ๋ชจ๋“  ์š”์•ฝ ํ…Œ์ด๋ธ”์ด ๋กœ๊ทธ์˜ ๋์œผ๋กœ ์ด๋™ํ•˜๋Š” ๋ถ€์ž‘์šฉ์ด ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค.

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

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