์ฌ์ฉ์ ์ง์ ์ฟผ๋ฆฌ ์ ๋ณด
์ฐธ๊ณ ํญ๋ชฉ
์ฌ์ฉ์ ์ง์ ์ฟผ๋ฆฌ๋ฅผ ๋ง๋๋ ๊ฒ์ ์ ํ ์ฌํญ์ด๋ฉฐ, github/codeql
๋ฆฌํฌ์งํ ๋ฆฌ์๋ ๋์ ์ฌ์ฉํ ์ ์๋ ๋ง์ ์์ ์ฟผ๋ฆฌ๊ฐ ํฌํจ๋์ด ์์ต๋๋ค.
์ง์ ๋ ์ธ์ด์ ๋ํ ํ ํ๋ฆฟ์์ ์ ์ฟผ๋ฆฌ ํ์ผ์ ๋ง๋ญ๋๋ค. ์ด ํ์ผ์ ํด๋น ์ธ์ด๋ฅผ ๋ถ์ํ๊ธฐ ์ํ ํ์ค ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ๊ฐ์ ธ์ต๋๋ค. ์์ธํ ๋ด์ฉ์ CodeQL ์ค๋ช ์์์ CodeQL ์ฟผ๋ฆฌ ์ ๋ณด๋ฅผ ์ฐธ์กฐํ์ธ์.
์ฌ์ฉ์ ์ง์ ์ฟผ๋ฆฌ ๋ง๋ค๊ธฐ
-
์ต์คํ ์ ์ฌ์ด๋๋ฐ์์ "์ฟผ๋ฆฌ" ๋ณด๊ธฐ๋ฅผ ์ฐ ๋ค์ ์ฟผ๋ฆฌ ๋ง๋ค๊ธฐ ์์ด์ฝ์ ํด๋ฆญํฉ๋๋ค.
-
VS Code Command Palette์์ ์ฟผ๋ฆฌ์ ๋์ ์ธ์ด๋ฅผ ์ ํํฉ๋๋ค. ๊ธฐ์กด ๋๋ ํฐ๋ฆฌ์์ ์ฌ์ฉ์ ์ง์ ์ฟผ๋ฆฌ๋ฅผ ๋ง๋ค์ง ์๋๋ก ์ ํํ ๊ฒฝ์ฐ ์ธ์ด๋ฅผ ์ ํํ๋ฉด
codeql-custom-queries-LANGUAGE
๋ ์ด๋ธ์ด ์ง์ ๋ ๋๋ ํ ๋ฆฌ๊ฐ ์๋ ์์ฑ๋๋ฉฐ, ์ฌ๊ธฐ์LANGUAGE
๋ ์ ํํ ์ธ์ด์ ์ด๋ฆ์ ๋๋ค. ๊ทธ๋ฌ๋ฉดexample.ql
๋ ์ด๋ธ์ด ์ง์ ๋ ์ฟผ๋ฆฌ ํ ํ๋ฆฟ์ด ๊ธฐ์กด ๋๋ ์๋ ์์ฑ๋ ๋๋ ํฐ๋ฆฌ์ ์ถ๊ฐ๋ฉ๋๋ค. -
ํ ํ๋ฆฟ์์ ์ฌ์ฉ์ ์ง์ ์ฟผ๋ฆฌ๋ฅผ ์์ฑํ ๋ค์ ํ์ผ์ ์ ์ฅํฉ๋๋ค. ์ฟผ๋ฆฌ๊ฐ ์๋ฃ๋๋ฉด "์ฟผ๋ฆฌ" ๋ณด๊ธฐ์์ ์คํํ ์ ์์ต๋๋ค.
์ถ๊ฐ ์ฐธ๊ณ ์๋ฃ
CodeQL ์ค๋ช ์์์ ์ง์๋๋ ์ธ์ด์ ๋ํ ์ฟผ๋ฆฌ๋ฅผ ๋ง๋๋ ๋ฐฉ๋ฒ์ ๋ํด ํ์ธํ ์ ์์ต๋๋ค.