์ฐธ๊ณ ํญ๋ชฉ
์ด ์ฝํ ์ธ ๋ CodeQL CLI์ ์ต์ ๋ฆด๋ฆฌ์ค์ ๋ํด ์ค๋ช ํฉ๋๋ค. ์ด ์์์ ๋ํ ์์ธํ ๋ด์ฉ์ https://github.com/github/codeql-cli-binaries/releases์(๋ฅผ) ์ฐธ์กฐํ์ธ์.
์ด์ ๋ฆด๋ฆฌ์ค์์ ์ด ๋ช
๋ น์ ์ฌ์ฉํ ์ ์๋ ์ต์
์ ์ธ๋ถ ์ ๋ณด๋ฅผ ๋ณด๋ ค๋ฉด ํฐ๋ฏธ๋์์ ์ต์
์ ์ฌ์ฉํ์ฌ --help
๋ช
๋ น์ ์คํํฉ๋๋ค.
๊ฐ์
codeql resolve upgrades --dbscheme=<file> <options>...
codeql resolve upgrades --dbscheme=<file> <options>...
์ค๋ช
[์ฌ์ธต ์ฐ๊ฒฐ] ์์ ๋ฐ์ดํฐ ์ธํธ์ ๋ํด ์คํํ ์ ๊ทธ๋ ์ด๋๋ฅผ ๊ฒฐ์ ํฉ๋๋ค.
๊ตฌ์ฑ๋ QL ๋ผ์ด๋ธ๋ฌ๋ฆฌ ์ํ๋ก ๊ฐ์ ธ์ค๊ธฐ ์ํด ํน์ ์์ QL ๋ฐ์ดํฐ ์ธํธ์์ ์ํํด์ผ ํ๋ ์ ๊ทธ๋ ์ด๋๋ฅผ ๊ฒฐ์ ํฉ๋๋ค. ์ด ๊ณ์ฐ์ ์ผ๋ฐ์ ์ธ ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ ๊ทธ๋ ์ด๋ ์ค์ ๋ฐ์ํ๋ ์์ ์ ์ผ๋ถ์ด๋ฉฐ, (a) ๋ฌธ์ ํด๊ฒฐ์ ๋์์ ์ฃผ๊ณ (b) ์ ํํ ์ ์ด๊ฐ ํ์ํ ํน๋ณํ ๊ฒฝ์ฐ ๊ฒฝ๋ก ์์ ์ ์ํ ์์์ ์ ์ ๊ณตํ๊ธฐ ์ํด ๋ณ๋์ ์ฐ๊ฒฐ ๋ช ๋ น์ผ๋ก ๋ ธ์ถ๋ฉ๋๋ค
์ต์
๊ธฐ๋ณธ ์ต์
--dbscheme=<file>
[ํ์] ์ ๊ทธ๋ ์ด๋ํ๋ ค๋ ๋ฐ์ดํฐ ์ธํธ์ ํ์ฌ dbscheme์ ๋๋ค.
--format=<fmt>
์ถ๋ ฅ ํ์์ ์ ํํฉ๋๋ค. ๋ค์์ ์ ํํ ์ ์์ต๋๋ค.
lines
(๊ธฐ๋ณธ๊ฐ): ์
๊ทธ๋ ์ด๋ ์คํฌ๋ฆฝํธ๋ฅผ ๊ฐ๊ฐ ํ ์ค๋ก ์ถ๋ ฅํฉ๋๋ค.
json
: ์
๊ทธ๋ ์ด๋ ์คํฌ๋ฆฝํธ ๊ฒฝ๋ก์ JSON ๋ฐฐ์ด์ ์ถ๋ ฅํฉ๋๋ค.
--just-check
์ถ๋ ฅ์ ์ธ์ํ์ง ์์ผ๋ฉฐ ์ ๊ทธ๋ ์ด๋๊ฐ ์๋ ๊ฒฝ์ฐ ์ฝ๋ 0์ผ๋ก ์ข ๋ฃํ๊ณ ์ ๊ทธ๋ ์ด๋๊ฐ ์์ผ๋ฉด ์ฝ๋ 1๋ก ์ข ๋ฃํฉ๋๋ค.
ํธ์ถํ๋ ๋ช ๋ น์ ๋ช ๋ น์ค ์ต์
--search-path=<dir>[:<dir>...]
์
๊ทธ๋ ์ด๋ ๋ ์ํผ๊ฐ ํฌํจ๋ QL ํฉ์ ์ฐพ์ ์ ์๋ ๋๋ ํฐ๋ฆฌ ๋ชฉ๋ก์
๋๋ค. ๊ฐ ๋๋ ํฐ๋ฆฌ๋ QL ํฉ(๋๋ ๋ฃจํธ์ .codeqlmanifest.json
ํ์ผ์ด ํฌํจ๋ ํฉ ๋ฒ๋ค) ๋๋ ๊ทธ๋ฌํ ๋๋ ํฐ๋ฆฌ ํ๋ ์ด์์ ์ง๊ณ ๋ถ๋ชจ์ผ ์ ์์ต๋๋ค.
๊ฒฝ๋ก์ ๋๋ ํฐ๋ฆฌ ํธ๋ฆฌ๊ฐ ํฌํจ๋ ๊ฒฝ์ฐ ํธ๋ฆฌ์ ์์๊ฐ ์ฐ์ ์์๋ฅผ ์ ์ํฉ๋๋ค. ํ์ธํด์ผ ํ๋ ํฉ ์ด๋ฆ์ด ๋๋ ํฐ๋ฆฌ ํธ๋ฆฌ ์ค ๋ ์ด์์์ ์ผ์นํ๋ ๊ฒฝ์ฐ ๋จผ์ ์ง์ ๋ ํธ๋ฆฌ๊ฐ ์ฐ์ ํฉ๋๋ค.
์คํ ์์ค CodeQL ๋ฆฌํฌ์งํ ๋ฆฌ์ ์ฒดํฌ ์์์์ ์ด๋ฅผ ๊ฐ๋ฆฌํค๋ฉด ํด๋น ๋ฆฌํฌ์งํ ๋ฆฌ์ ์๋ ์ธ์ด ์ค ํ๋๋ฅผ ์ฟผ๋ฆฌํ ๋ ์๋ํด์ผ ํฉ๋๋ค.
(์ฐธ๊ณ : Windows์์๋ ๊ฒฝ๋ก ๊ตฌ๋ถ ๊ธฐํธ๊ฐ ;
์
๋๋ค.)
--additional-packs=<dir>[:<dir>...]
[๊ณ ๊ธ] ์ด ๋๋ ํฐ๋ฆฌ ๋ชฉ๋ก์ด ์ง์ ๋ ๊ฒฝ์ฐ --search-path
์ ์๋ ๋๋ ํฐ๋ฆฌ๋ณด๋ค ๋จผ์ ์
๊ทธ๋ ์ด๋๊ฐ ๊ฒ์๋ฉ๋๋ค. ์ด ์ฌ์ด์ ์์๋ ์ค์ํ์ง ์์ต๋๋ค. ์ด ๋ชฉ๋ก์ ํตํด ์๋ก ๋ค๋ฅธ ๋ ์์น์์ ํฉ ์ด๋ฆ์ ์ฐพ์ ๊ฒฝ์ฐ ์ค๋ฅ๊ฐ ๋ฐ์ํฉ๋๋ค.
์ด ๊ธฐ๋ฅ์ ๊ธฐ๋ณธ ๊ฒฝ๋ก์๋ ํ์๋๋ ํฉ์ ์ ๋ฒ์ ์ ์ผ์์ ์ผ๋ก ๊ฐ๋ฐํ๋ ๊ฒฝ์ฐ์ ์ ์ฉํฉ๋๋ค. ๋ฐ๋ฉด์ ๊ตฌ์ฑ ํ์ผ์์ ์ด ์ต์ ์ ์ฌ์ ์ํ๋ ๊ฒ์ ๊ถ์ฅ๋์ง ์์ต๋๋ค. ์ผ๋ถ ๋ด๋ถ ์์ ์์๋ ๊ตฌ์ฑ๋ ๊ฐ์ ์ฌ์ ์ํ์ฌ ์ฆ์ ์ด ์ต์ ์ ์ถ๊ฐํฉ๋๋ค.
(์ฐธ๊ณ : Windows์์๋ ๊ฒฝ๋ก ๊ตฌ๋ถ ๊ธฐํธ๊ฐ ;
์
๋๋ค.)
--target-dbscheme=<file>
์ ๊ทธ๋ ์ด๋ํ๋ ค๋ ๋์ dbscheme์ ๋๋ค. ์ด ๊ฒฝ๋ก๊ฐ ์ง์ ๋์ง ์์ผ๋ฉด ์ต๋ ์ ๊ทธ๋ ์ด๋ ๊ฒฝ๋ก๊ฐ ์์ฑ๋ฉ๋๋ค.
--target-sha=<sha>
[๊ณ ๊ธ] dbscheme ํ์ผ ๋์ ๋์ dbscheme์ ๋ด๋ถ ํด์๋ฅผ ์ ๊ณตํ๋ --target-dbscheme
์ ๋์์
๋๋ค.
--[no-]allow-downgrades
์ ๊ทธ๋ ์ด๋๊ฐ ์๋ ๊ฒฝ์ฐ ๊ด๋ จ ๋ค์ด๊ทธ๋ ์ด๋๋ฅผ ํฌํจํฉ๋๋ค.
์ผ๋ฐ ์ต์
-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
๋ถํฐ ์ฌ์ฉํ ์ ์์ต๋๋ค.