GitHub๋ ์ฝ๋์ ์ผ๋ฐ์ ์ธ ์ ํ์ ์ทจ์ฝ์ ์ ์๋ณํ๊ธฐ ์ํด ์ฝ๋ ๊ฒ์ ์๋น์ค์ ์คํ์ ์ธ ๊ธฐ๊ณ ํ์ต ์์คํ ์ ์ถ๊ฐํ๋ค๊ณ ๋ฐํํ์ต๋๋ค. ํ ์คํธ ๋จ๊ณ์์ ์๋ก์ด ๊ธฐ๋ฅ์ ํ์ฌ JavaScript ๋ฐ TypeScript ์ฝ๋๊ฐ ์๋ ๋ฆฌํฌ์งํ ๋ฆฌ์์๋ง ์ฌ์ฉํ ์ ์์ต๋๋ค. ๋จธ์ ๋ฌ๋ ์์คํ ์ ์ฌ์ฉํ๋ฉด ์์คํ ์ด ๋ ์ด์ ํ์ค ํ ํ๋ฆฟ ํ์ธ์๋ง ๊ตญํ๋์ง ์๊ณ ์ ์๋ ค์ง ํ๋ ์์ํฌ์ ์ฝ๋งค์ด์ง ์๊ณ ๋ถ์ํ ๋ ์๋ณ๋ ๋ฌธ์ ์ ๋ฒ์๊ฐ ํฌ๊ฒ ํ์ฅ๋ ์ ์๊ฒ ๋์์ต๋๋ค. ์๋ก์ด ์์คํ ์์ ํ์ธ๋ ๋ฌธ์ ์ค์๋ XSS(๊ต์ฐจ ์ฌ์ดํธ ์คํฌ๋ฆฝํ ), ํ์ผ ๊ฒฝ๋ก ์๊ณก(์: "/.." ํ์๋ฅผ ํตํด), SQL ๋ฐ NoSQL ์ฟผ๋ฆฌ ๋์ฒด๋ก ์ด์ด์ง๋ ์ค๋ฅ๊ฐ ์ธ๊ธ๋ฉ๋๋ค.
์ฝ๋ ์ค์บ ์๋น์ค๋ฅผ ์ฌ์ฉํ๋ฉด ์ ์ฌ์ ์ธ ๋ฌธ์ ๊ฐ ์๋์ง ๊ฐ "git push" ์์
์ ์ค์บํ์ฌ ๊ฐ๋ฐ ์ด๊ธฐ ๋จ๊ณ์์ ์ทจ์ฝ์ ์ ์๋ณํ ์ ์์ต๋๋ค. ๊ฒฐ๊ณผ๋ ํ ์์ฒญ์ ์ง์ ์ฒจ๋ถ๋ฉ๋๋ค. ์ด์ ์๋ ์ทจ์ฝํ ์ฝ๋์ ์ผ๋ฐ์ ์ธ ์๊ฐ ํฌํจ๋ ํ
ํ๋ฆฟ์ ๋ถ์ํ๋ CodeQL ์์ง์ ์ฌ์ฉํ์ฌ ๊ฒ์ฌ๊ฐ ์ํ๋์์ต๋๋ค(CodeQL์ ์ฌ์ฉํ๋ฉด ์ทจ์ฝํ ์ฝ๋ ํ
ํ๋ฆฟ์ ์์ฑํ์ฌ ๋ค๋ฅธ ํ๋ก์ ํธ์ ์ฝ๋์์ ์ ์ฌํ ์ทจ์ฝ์ฑ์ ์กด์ฌ๋ฅผ ์๋ณํ ์ ์์ต๋๋ค). ๋จธ์ ๋ฌ๋์ ํ์ฉํ๋ ์๋ก์ด ์์ง์ ํน์ ์ทจ์ฝ์ ์ ์ค๋ช
ํ๋ ์ฝ๋ ํ
ํ๋ฆฟ์ ๋์ดํ๋ ๋ฐ ์ฝ๋งค์ด์ง ์๊ธฐ ๋๋ฌธ์ ์ด์ ์ ์๋ ค์ง์ง ์์ ์ทจ์ฝ์ ์ ์๋ณํ ์ ์์ต๋๋ค. ์ด ๊ธฐ๋ฅ์ ๋น์ฉ์ CodeQL ๊ธฐ๋ฐ ๊ฒ์ฌ์ ๋นํด ์คํ์ง ์๊ฐ ์ฆ๊ฐํ๋ค๋ ๊ฒ์
๋๋ค.
์ถ์ฒ : opennet.ru