ํฉ ์์ ์ Visual Studio Code์ฉ CodeQL ์ต์คํ ์ ์ ์ฌ์ฉํ๋ ๊ฒฝ์ฐ์ ์ด์
Visual Studio Code ์ต์คํ ์ ์ฉ CodeQL์(๋ฅผ) ์ฌ์ฉํ๋ฉด ๋ค์์ ์ํํ ์ ์์ต๋๋ค.
-
์์ ์์ญ์์ ํ์ค ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ํ์ธํ ํ์ ์์ด CodeQL ์ฟผ๋ฆฌ ํฉ์ ์์ฑํฉ๋๋ค.
-
CodeQL ์ฟผ๋ฆฌ ํฉ์ ๋ํ ์ข ์์ฑ์ VS Code ์์ ์์ญ ๋ด์ ์ค์นํฉ๋๋ค.
-
CodeQL ์ฟผ๋ฆฌ ํฉ์ ๋ค์ด๋ก๋ํฉ๋๋ค.
-
CodeQL ์ฟผ๋ฆฌ ํฉ ๋ฐ ๋ชจ๋ ์ข ์์ฑ์ ํ์ธํฉ๋๋ค.
CodeQL ์ฟผ๋ฆฌ ๋ฐ ๋ผ์ด๋ธ๋ฌ๋ฆฌ ํฉ์ ๋ง๋ค๊ณ ํธ์งํ๋ ๋ฐฉ๋ฒ์ ๋ํ ์์ธํ ๋ด์ฉ์ CodeQL ํฉ ๋ง๋ค๊ธฐ ๋ฐ ์์ ์(๋ฅผ) ์ฐธ์กฐํ์ธ์.
CodeQL ์ฟผ๋ฆฌ ํฉ์ ์ข ์์ฑ ์ค์น
-
VS Code์์ VS Code Command Palette์(๋ฅผ) ์ด๊ณ CodeQL: ํฉ ์ข ์์ฑ ์ค์น๋ฅผ ์คํํฉ๋๋ค.
-
์ข ์์ฑ์ ์ค์นํ ํฉ์ ์ ํํฉ๋๋ค.
CodeQL ์ฟผ๋ฆฌ ํฉ ๋ค์ด๋ก๋
-
VS Code์์ VS Code Command Palette์(๋ฅผ) ์ด๊ณ CodeQL: ํฉ ๋ค์ด๋ก๋๋ฅผ ์คํํฉ๋๋ค.
-
๋ชจ๋ ํต์ฌ ์ฟผ๋ฆฌ ํฉ์ ๋ค์ด๋ก๋ํ๊ฑฐ๋ ๋ค์ด๋ก๋ํ ํน์ ํฉ์ ์ ์ฒด ์ด๋ฆ์ ์ ๋ ฅํ ์ ์์ต๋๋ค. ๋ค๋ฅธ ์ฌ์ฉ์๊ฐ ๋ง๋ ์ฟผ๋ฆฌ ํฉ์ ๋ค์ด๋ก๋ํ ์ ์์ต๋๋ค.
CodeQL ์ฟผ๋ฆฌ ํฉ ๋ฐ ํด๋น ์ข ์์ฑ ํ์ธ
-
VS Code์ CodeQL ํฉ ๋๋ ํฐ๋ฆฌ ๋ฃจํธ์์
qlpack.yml
ํ์ผ์ ์ฝ๋๋ค. -
qlpack.yml
ํ์ผ์dependencies
์น์ ์์ ํฉ์ด ์ข ์ํ๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ํ์ธํ ์ ์์ต๋๋ค. -
ํ์์ ๋ฐ๋ผ VS Code์ Intellisense ๊ธฐ๋ฅ์ ์ฌ์ฉํ ์ ์์ต๋๋ค. ์๋ฅผ ๋ค์ด ํฉ์ ๋ฐ๋ผ ๋ฌ๋ผ์ง๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ ์์๋ฅผ ๋ง์ฐ์ค๋ก ๊ฐ๋ฆฌํค๋ฉด Visual Studio Code์ด(๊ฐ) ํด๊ฒฐ๋๋ฏ๋ก ์์์ ๋ํ ์ค๋ช ์๋ฅผ ๋ณผ ์ ์์ต๋๋ค.
-
์ฟผ๋ฆฌ ์์์ ์ ์ฒด ์ ์๋ฅผ ๋ณด๋ ค๋ฉด ๋ง์ฐ์ค ์ค๋ฅธ์ชฝ ๋จ์ถ๋ฅผ ํด๋ฆญํ๊ณ ์ ์๋ก ์ด๋์ ์ ํํ๋ฉด ๋ฉ๋๋ค.
-
๋ผ์ด๋ธ๋ฌ๋ฆฌ ํฉ์ด ๋์ผํ Visual Studio Code ์์ ์์ญ ๋ด์ ์๋ ๊ฒฝ์ฐ ์์ ์์ญ ๋ด์ ์ ์๋ก ์ฐ๊ฒฐ๋ฉ๋๋ค.
-
๊ทธ๋ ์ง ์์ผ๋ฉด ๋ค์ด๋ก๋ํ ์ข ์์ฑ์ด ์ ์ฅ๋๋ ํจํค์ง ์บ์์ ์ ์ฅ๋ ์ ์๊ฐ ํ์๋ฉ๋๋ค. ํจํค์ง ์บ์๋ ๊ธฐ๋ณธ์ ์ผ๋ก ํ ๋๋ ํฐ๋ฆฌ์ ์ ์ฅ๋๋ ๊ณต์ ์์น์ ๋๋ค.
-
CodeQL ๋ชจ๋ธ ํฉ ์์
์ฐธ๊ณ ํญ๋ชฉ
CodeQL ๋ชจ๋ธ ํฉ์ ํ์ฌ ๊ณต๊ฐ ๋ฏธ๋ฆฌ ๋ณด๊ธฐ ์ํ์ด๋ฉฐ ๋ณ๊ฒฝ๋ ์ ์์ต๋๋ค. ๋ชจ๋ธ ํฉ์ C/C++, C#, Java/Kotlin, Python, Ruby ๋ถ์์ ์ํด ์ง์๋ฉ๋๋ค.
Visual Studio Code์ ๋ํ CodeQL ํ์ฅ์ CodeQL ๋ชจ๋ธ ํธ์ง๊ธฐ์์ C#, Java/Kotlin, Python, Ruby์ ๋ํ ๋ชจ๋ธ๋ง ์ข ์์ฑ์ ์ง์ํฉ๋๋ค.
CodeQL ๋ชจ๋ธ ํฉ์ ์ฌ์ฉํ์ฌ ๊ธฐ๋ณธ์ ์ผ๋ก ์ง์๋์ง ์๋ ์ข ์์ฑ์ ํฌํจํ๋๋ก code scanning ๋ถ์์ ํ์ฅํ ์ ์์ต๋๋ค. Visual Studio Code์ฉ CodeQL ์ต์คํ ์ ์๋ ๋ชจ๋ธ ํฉ์ ๋ง๋ค๊ณ ํธ์งํ๊ธฐ ์ํ ์ ์ฉ ํธ์ง๊ธฐ๊ฐ ํฌํจ๋์ด ์์ต๋๋ค. ๋ชจ๋ธ ํธ์ง๊ธฐ ์ฌ์ฉ์ ๋ํ ์ ๋ณด๋ CodeQL ๋ชจ๋ธ ํธ์ง๊ธฐ ์ฌ์ฉ์(๋ฅผ) ์ฐธ์กฐํ์ธ์.