ํ๋ก์ ํธ์์ ๋ผ์ด๋ธ๋ฌ๋ฆฌ ๋๋ ํจํค์ง๋ผ๊ณ ํ๋ ๋ฏธ๋ฆฌ ์์ฑ๋ ์ฝ๋ ๋ชจ์์ ์ฌ์ฉํ๋ ๊ฒ์ด ์ผ๋ฐ์ ์ธ ๊ดํ์ ๋๋ค. ์ด๋ฌํ ์ฝ๋ ๋ชจ๋์ ์ฌ์ฌ์ฉ ๊ฐ๋ฅํ ๋๊ท๋ชจ ๊ตฌ์ฑ ์์๋ฅผ ์ฒ์๋ถํฐ ์์ฑํ์ง ์์๋ ๋๋ฏ๋ก ๋ง์ ์๊ฐ์ ์ ์ฝํด ์ฃผ๋ฉฐ, ์๋กญ๊ณ ์ฐฝ์์ ์ธ ์์ ์ ์ง์คํ ์ ์๋๋ก ๋์์ค๋๋ค. ํ๋ก์ ํธ์ ์ถ๊ฐ๋ ๋, ์ฌ์ฉ์์ ์์ ์ด ํด๋น ์ฝ๋์ ์ข ์๋๊ธฐ ๋๋ฌธ์ ์ด๋ฅผ ์ข ์์ฑ์ด๋ผ๊ณ ํฉ๋๋ค.
์ข ์์ฑ์ ์ฌ์ฉํ๋ ๊ฒ์ ์์ฃผ ์ผ๋ฐ์ ์ธ ์ผ์ด์ง๋ง, ์ข ์์ฑ์๋ ์ทจ์ฝํ ์ฝ๋๊ฐ ํฌํจ๋ ์ ์์ผ๋ฉฐ, ์ด๋ก ์ธํด ํ๋ก์ ํธ๊ฐ ์์ ํ์ง ์๊ฒ ๋ ์ ์์ต๋๋ค. ๋คํํ๋ Dependabot๊ณผ ๊ฐ์ ๋๊ตฌ๋ฅผ ์ฌ์ฉํ๋ฉด ์ข ์์ฑ ์ทจ์ฝ์ฑ์ ์ฐพ์๋ด๊ณ , ์ด๋ฅผ ์์ ํ๊ธฐ ์ํ ๋์ด์ค๊ธฐ ์์ฒญ์ ์์ฑํ๋ฉฐ, ํฅํ์ ์ด๋ฌํ ๋ฌธ์ ๊ฐ ๋ฐ์ํ์ง ์๋๋ก ์๋ฐฉํ ์๋ ์์ต๋๋ค. ์ด ์์ต์์์๋ Dependabot๊ณผ ํด๋น ๊ธฐ๋ฅ์ ํ์ฑํํ๊ณ ์ฌ์ฉํ์ฌ ์ข ์์ฑ์ ์์ ํ๊ฒ ์ ์งํ๋ ๋ฐฉ๋ฒ์ ์์๋ด ๋๋ค.
๋ฐ๋ชจ ๋ฆฌํฌ์งํ ๋ฆฌ ์ค์
๋ช ๊ฐ์ง ์ข ์์ฑ ์ทจ์ฝ์ฑ์ด ์๋ ๋ฐ๋ชจ ํ๋ก์ ํธ๋ฅผ ํฌํฌํ์ฌ ์์ํด ๋ณด๊ฒ ์ต๋๋ค. ํ๋ก์ ํธ๊ฐ ๋ฐฐํฌ๋์ง ์์ผ๋ฏ๋ก, ์ด ์ฐ์ต์์๋ ๋ณด์ ์ํ์ด ์์ต๋๋ค.
new2code/dependabot-demo
๋ฆฌํฌ์งํ ๋ฆฌ๋ก ์ด๋ํฉ๋๋ค.- ํ์ด์ง์ ์ค๋ฅธ์ชฝ ์์์ Fork๋ฅผ ํด๋ฆญํ์ธ์.
- ํ์๋๋ ํ์ด์ง์์ Create fork๋ฅผ ํด๋ฆญํ์ธ์.
์ข ์์ฑ ๋ณด์ ๊ธฐ๋ฅ ํ์ฑํํ๊ธฐ
์ด์ ํ๋ก์ ํธ๋ฅผ ์ค์ ํ์ผ๋ฏ๋ก, Dependabot์ ๊ตฌ์ฑํ์ฌ ์์ ํ์ง ์์ ์ข ์์ฑ์ ์ฐพ์ ์์ ํ๋๋ก ์ค์ ํฉ๋๋ค.
- ๋ฆฌํฌ์งํ ๋ฆฌ์ ํ์ ํ์์ค์์ Security๋ฅผ ํด๋ฆญํฉ๋๋ค.
- Dependabot alerts ํ์์ Enable Dependabot alerts ๋ฅผ ํด๋ฆญํฉ๋๋ค.
- "Dependabot" ์น์ ์์ "Dependabot alerts" ์์ ์๋ Enable์ ํด๋ฆญํฉ๋๋ค.
- ๋ํ๋๋ ํ์ ์์ ์ข ์์ฑ ๊ทธ๋ํ ํ์ฑํ์ ๋ํ ์ค๋ช ์ ์ฝ์ ๋ค์, Enable์ ํด๋ฆญํฉ๋๋ค.
- Dependabot์ด ์ข ์์ฑ ์ทจ์ฝ์ฑ์ ์์ ํ๋ ๋์ด์ค๊ธฐ ์์ฒญ์ ์๋์ผ๋ก ์ด๋๋ก ํ์ฉํ๋ ค๋ฉด "Dependabot security updates" ์์ ์๋ Enable์ ํด๋ฆญํฉ๋๋ค.
์์ ํ์ง ์์ ์ข ์์ฑ ๋ณด๊ธฐ
Dependabot์ ๊ตฌ์ฑํ์ผ๋ฏ๋ก ์ด์ ์ด๋ค ์ข ์์ฑ์ ์ทจ์ฝ์ฑ์ด ์๋์ง ์์๋ณด๊ฒ ์ต๋๋ค.
- ๋ฆฌํฌ์งํ ๋ฆฌ์ ํ์ ํ์์ค์์ Security๋ฅผ ํด๋ฆญํฉ๋๋ค.
- ๋ฆฌํฌ์งํ ๋ฆฌ์ Dependabot alerts๋ฅผ ๋ณด๋ ค๋ฉด ํ์ ํ์์ค์์ Dependabot ์ ํด๋ฆญํ์ธ์.
- ๊ฒฝ๊ณ ์ ๋ํ ์์ธํ ์ ๋ณด๋ฅผ ๋ณด๋ ค๋ฉด ๊ฒฝ๊ณ ์ ๋ชฉ์ ํด๋ฆญํฉ๋๋ค. ์ด ์ฐ์ต์์๋ Command Injection in hot-formula-parser๋ฅผ ํด๋ฆญํ์ธ์.
Dependabot ๊ฒฝ๊ณ ์ดํดํ๊ธฐ
Dependabot์ด ์ข ์์ฑ์ ์ผ๋ถ ์ทจ์ฝ์ฑ์ ์๋ณํ์ผ๋ฏ๋ก ์ด์ "Command Injection in hot-formula-parser" ๊ฒฝ๊ณ ์ ์ ๊ณต๋ ์ ๋ณด๋ฅผ ๋ถ์ํด ๋ณด๊ฒ ์ต๋๋ค.
์์ ์์ฝ
๊ฒฝ๊ณ ์ ๋ชฉ ์๋์๋ ์ด ์ทจ์ฝ์ฑ์ ์์ ํ๋ ๋ฐฉ๋ฒ์ ๋ํ ๊ฐ๋ตํ ์์ฝ์ด ํ์๋์ด ์์ต๋๋ค. ์ด ์์ฝ์๋ ํด๊ฒฐ๋ ๊ฒฝ๊ณ ์ ์์ ์ทจ์ฝ์ฑ์ด ๋ฐ๊ฒฌ๋ ์์น๋ ํฌํจ๋์ด ์์ต๋๋ค. ์ด๋ฒ ๊ฒฝ์ฐ, ์ด ๊ฒฝ๊ณ ๋ hot-formula-parser
ํจํค์ง๋ฅผ ๋ฒ์ 3.0.1๋ก ์
๊ทธ๋ ์ด๋ํ๋ฉด javascript/package-lock.json
ํ์ผ์์ ์๋ณ๋ Dependabot ๊ฒฝ๊ณ ํ๋๊ฐ ์์ ๋ ๊ฒ์ด๋ผ๊ณ ์๋ ค์ค๋๋ค.
์ด ์น์ ์์๋ ๋ํ Dependabot์ด ์ด ์ทจ์ฝ์ฑ์ ์์ ํ๊ธฐ ์ํ ๋์ด์ค๊ธฐ ์์ฒญ์ ์์ฑํ๋ ์งํ ์ํฉ๋ ์ถ์ ํฉ๋๋ค. ์์ ์ด ๊ฐ๋ฅํด์ง๋ฉด " Review security update"๋ผ๋ ๋ ์ด๋ธ์ ๋จ์ถ๊ฐ ํ์๋๋ฉฐ, ์ด ๋จ์ถ๋ฅผ ํด๋ฆญํ๋ฉด ํด๋น ๋์ด์ค๊ธฐ ์์ฒญ์ผ๋ก ์ฐ๊ฒฐ๋ฉ๋๋ค.
์ทจ์ฝ์ฑ ์ธ๋ถ ์ ๋ณด
์์ ์ธ๋ถ ์ ๋ณด ์๋์์ Dependabot์ ๋ค์์ ํฌํจํ์ฌ ์ทจ์ฝ์ฑ์ ๋ํ ์์ธํ ์ ๋ณด๋ฅผ ์ ๊ณตํฉ๋๋ค.
- ์ทจ์ฝํ ํจํค์ง์ ์ด๋ฆ
- ์ทจ์ฝ์ฑ์ด ํฌํจ๋ ํจํค์ง์ ๋ฒ์
- ์ทจ์ฝ์ฑ์ ํด๊ฒฐํ๋ ํจํค์ง์ ๋ฒ์
- ์ทจ์ฝ์ฑ ์ ํ ๋ฐ ์ ์ฉ ๋ฐฉ๋ฒ์ ๋ํ ์ธ๋ถ ์ ๋ณด
์ด ๊ฒฝ๊ณ ์์ hot-formula-parser
ํจํค์ง์ parse
ํจ์๊ฐ ์ฌ์ฉ์ ์
๋ ฅ์ ์์ ์ฑ์ ์ ๋๋ก ํ์ธํ์ง ์๊ณ ์คํํ๊ธฐ ๋๋ฌธ์, ๊ณต๊ฒฉ์๊ฐ ์
์ฑ ๋ช
๋ น์ ์คํํ ์ ์๊ฒ ๋ฉ๋๋ค.
ํ
์ทจ์ฝ์ฑ ์ธ๋ถ ์ ๋ณด๋ฅผ ์์ ํ ์ดํดํ์ง ๋ชปํ๊ฒ ๋ค๋ฉด, Copilot Chat์๊ฒ ์ง๋ฌธํ๊ธฐ๋ฅผ ์๋ํ์ฌ ์ค๋ช ์ ์์ฒญํด ๋ณด์ธ์.
ํ์๋ผ์ธ
๋ง์ง๋ง์ผ๋ก ํ์ด์ง ์๋์ชฝ์์ ๊ฒฝ๊ณ ์ ํ์๋ผ์ธ์ ๋ณผ ์ ์์ต๋๋ค. ํ์ฌ ํ์๋ผ์ธ์๋ Dependabot์ด ์ด ๊ฒฝ๊ณ ๋ฅผ ์์ฑํ ์์ ์ ํ์์คํฌํ๊ฐ ํ์๋๋ฉฐ, ์ทจ์ฝ์ฑ์ด ์์ ๋ ๋๋ง๋ค ์๋์ผ๋ก ์ ๋ฐ์ดํธ๋ฉ๋๋ค.
์ข ์์ฑ ๋ณดํธํ๊ธฐ
ํ๋ก์ ํธ๋ฅผ ๋น ๋ฅด๊ณ ์ฝ๊ฒ ๋ณดํธํ๊ธฐ ์ํด Dependabot์ด ์์ฑํ ์์ ์ ์ ์ฉํด ๋ณด๊ฒ ์ต๋๋ค.
-
์์ ์์ฝ์ด ํ์๋ ๊ฒฝ๊ณ ํ๋์์ Review security update๋ฅผ ํด๋ฆญํฉ๋๋ค.
-
๋์ด์ค๊ธฐ ์์ฒญ ํ์ด์ง์์ Files changed๋ฅผ ํด๋ฆญํ๋ฉด Dependabot์ ๋ณ๊ฒฝ ๋ด์ฉ์ ํ์ธํ ์ ์์ต๋๋ค. ๋ณ๊ฒฝ ๋ด์ฉ์ ๊ฒํ ํ ํ, Conversation์ ํด๋ฆญํ์ฌ ๋์ด์ค๊ธฐ ์์ฒญ ๊ฐ์๋ก ๋์๊ฐ๋๋ค.
-
์์ ์ ์ ์ฉํ๋ ค๋ฉด ํ์ด์ง ํ๋จ์์ Merge pull request๋ฅผ ํด๋ฆญํ ๋ค์, Confirm merge๋ฅผ ํด๋ฆญํ์ธ์.
๋์ด์ค๊ธฐ ์์ฒญ์ด ๋ณํฉ๋๋ฉด ์ฐ๊ฒฐ๋ Dependabot ๊ฒฝ๊ณ ๊ฐ ์๋์ผ๋ก ์์ ๋๊ณ , ์์ ์๊ฐ์ด ํ์๋ผ์ธ์ ์ถ๊ฐ๋ฉ๋๋ค.
ํฅํ ์ข ์์ฑ ์ทจ์ฝ์ฑ ๋ฐฉ์งํ๊ธฐ
์์ผ๋ก ๋ถ์์ ํ ์ข ์์ฑ์ด ๋ฐ์ํ์ง ์๋๋ก ํ๋ ค๋ฉด Dependabot์ด ์ ๋ฒ์ ์ด ์ถ์๋ ๋๋ง๋ค ์ข ์์ฑ์ ์ ๋ฐ์ดํธํ๋ ๋์ด์ค๊ธฐ ์์ฒญ์ ์๋์ผ๋ก ์์ฑํ๋๋ก ํ์ฉํด ๋ณด๊ฒ ์ต๋๋ค.
- ๋ฆฌํฌ์งํ ๋ฆฌ์ ํ์ ํ์์ค์์ Settings๋ฅผ ํด๋ฆญํฉ๋๋ค.
- ์ฌ์ด๋๋ฐ์ "Security" ์น์ ์์ Advanced Security ๋ฅผ ํด๋ฆญํฉ๋๋ค.
- "Dependabot version updates" ์์ ์๋ Enable์ ํด๋ฆญํฉ๋๋ค.
๋ค์ ๋จ๊ณ
์ด์ ๋ฐ๋ชจ ๋ฆฌํฌ์งํ ๋ฆฌ์์ Dependabot๊ณผ ํด๋น ๊ธฐ๋ฅ์ ์ฌ์ฉํด ๋ณด์์ผ๋ฏ๋ก, ์์ ์ ํ๋ก์ ํธ์์๋ ์ด๋ฅผ ํ์ฑํํ์ฌ ์ข ์์ฑ ์ทจ์ฝ์ฑ์ ์ฝ๊ฒ ์ฐพ์๋ด๊ณ , ์์ ํ๋ฉฐ, ๋ฐฉ์งํ ์ ์์ต๋๋ค.