๐ถ Python ํ๋ก์ ํธ๋ฅผ ์์ ํ๊ฒ ์ง์ผ์ค GuardDog
๋ชจ๋ํฐ๋ง ์๋น์ค๋ก ์ ๋ช ํ ๋ฐ์ดํฐ๋ ์์ ํฅ๋ฏธ๋ก์ด ์คํ์์ค๋ฅผ ๋ฐํํ์์ต๋๋ค! PyPi package์์ ์ ์ ์ฝ๋ ๋ถ์์ ํตํด ์์ฌ์ค๋ก์ด ๋ถ๋ถ๋ค์ ์ฐพ์๋ด์ฃผ๋ ์ ์ ๋ถ์๊ธฐ์ธ๋ฐ์. pip๋ก๋ ๋ค์ด ๊ฐ๋ฅํ๋ฉฐ docker image๋ก๋ ์ ๊ณต์ค์ด๋ local ํน์ ci๋จ์์๋ ๊ฐ๋จํ ์ถ๊ฐํด ๋ณผ ์ ์์๊ฒ ๊ฐ์ต๋๋ค! ์ต๊ทผ์ ์ฌ๋ผ์จ ๋ธ๋ก๊ทธ๋ฅผ ๋ณด๋ฉด ์ด guarddog์ ์ด์ฉํ์ฌ python web framework FastAPI์ฉ util ํจํค์ง์ธ `fastapi-toolkit` ์์ ๋ฐฑ๋์ด ์ฝ๋๋ฅผ ์ฐพ์๋ด์๋ค๋ ๋ธ๋ก๊ทธ๊ฐ ์ฌ๋ผ์์์ต๋๋ค. (FastAPI ๊ณต์ ์๋ ์ฃผ์!!!!) https://securitylabs.datadoghq.com/articles/malicious-pypi-package-fastapi-toolkit/ ๊ธฐ์กด์๋ ๊ทธ์ util์ฑ ํจํค์ง์์ง๋ง ์ค๊ฐ์ SQL ๊ณต๊ฒฉ์ ํ ์ ์๋ ๊ธฐ๋ฅ์ ์ถ๊ฐํ์ฌ ํน์ ๋ฒ์ ์์ ํจํค์ง๋ฅผ ์ฌ์ฉํ ๊ฒฝ์ฐ, http ์์ฒญ์ ํตํด ๊ณต๊ฒฉ์ ๋ฐ์ ์ ์๋ค๋ ๋ด์ฉ์ธ๋ฐ์. ์ฌ์ค ํ๋ก์ ํธ๊ฐ ์ปค์ง๋ฉด ์ปค์ง์๋ก dependency ๊ทธ๊ฒ๋ ์ด๋ฏธ ์ค๋์ ๋ถํฐ ์ ์ฐ๊ณ ์์๋ dependency์ ๋ํด์๋ ๋ค์ ํ์ธํ๊ธฐ๊ฐ ์ด๋ ค์ด ๊ฒ์ด ํ์ค์ธ ๊ฒ ๊ฐ์ต๋๋ค. ์ด๋ฌํ guarddog๊ณผ ๊ฐ์ด ์ ์ฑ ํจํค์ง๋ฅผ ๊ฐํธํ๊ฒ ํ์งํ ์ ์๋ ํด์ด ์๋ค๋ฉด ์ ๊ทน์ ์ผ๋ก ์ฌ์ฉํ์ฌ ์ฐ๋ฆฌ์ ์๋น์ค๋ฅผ ์์ ํ๊ฒ ์งํค๋ ๊ฒ์ด ์ค์ํ ๊ฒ ๊ฐ์ต๋๋ค.