Using LLMs to Secure Source Code โ Eugene Yan, Anthropic
ํ ์ค ํต์ฌ
LLM์ผ๋ก ์ทจ์ฝ์ ์ ์ฐพ๋ ์ผ๋ณด๋ค ๋ ์ค์ํ ๋ณ๋ชฉ์ ๊ฒ์ฆยท๋ถ๋ฅยทํจ์น์ด๋ฉฐ, ์ด๋ฅผ ํด๊ฒฐํ๋ ค๋ฉด ์ปจํ ์คํธ, ์๋๋ฐ์ค, ์์ด์ ํธ ๋ฃจํ๋ฅผ ๊ฐ์ถ ํ๋ค์ค๋ฅผ ์ค๊ณํด์ผ ํ๋ค.
์๊ฐ๋ณ ์์ฝ
-
0:01
์ต๊ทผ LLM์ ์ฌ์ด๋ฒ ๋ณด์ ์ญ๋์ ํ ๋จ๊ณ์ฉ ๋์ฝํ๊ณ ์์ผ๋ฉฐ, ์ค์ ๋ก ๋๊ท๋ชจ ์ทจ์ฝ์ ํ์ง์ ์์ ์ ๊ธฐ์ฌํ๊ณ ์๋ค. ๊ทธ๋ฌ๋ ๋ฐ๊ฒฌ ์์ฒด๋ณด๋ค ๊ฒ์ฆ, ํธ๋ฆฌ์์ง, ํจ์น๊ฐ ๋ณ๋ชฉ์ผ๋ก ์ด๋ํ๊ณ ์์ด ์ด์ ์ค๊ณ๊ฐ ๋ ์ค์ํด์ก๋ค.
-
4:01
ํจ๊ณผ์ ์ธ ๋ณด์ ๋ถ์์ agentic harnesses๋ฅผ ์ค์ฌ์ผ๋ก ์์ง์ด๋ฉฐ, ์ค๋น ๋จ๊ณ๋ threat model๊ณผ ๊ฒฉ๋ฆฌ๋ sandbox๋ก ์์ํ๋ค. threat model์ ์ฝ๋์๋ ์์ง๋ง ์์คํ ์ ์ํ๊ณผ ์ํ์ฑ ์ ๋ฌธ์ํํด ๋ชจ๋ธ์ ์์คํ ์ดํด๋ฅผ ๋ณด์ํ๊ณ , sandbox๋ untrusted code ์คํ๊ณผ exploit ์ฌํ์ ์์ ํ๊ณ ๋ฐ๋ณต ๊ฐ๋ฅํ๊ฒ ๋ง๋ ๋ค.
-
9:01
์ทจ์ฝ์ ๋ฐ๊ฒฌ ๋จ๊ณ์์๋ context engineering, ๋ ๋จ์ํ prompt, ๊ทธ๋ฆฌ๊ณ ์ค์ ๋๊ตฌ ์ฌ์ฉ์ด ํต์ฌ์ด๋ค. ์ฝ๋๋ง ์ฝ๊ฒ ํ๊ธฐ๋ณด๋ค API ํธ์ถ, ๋ก๊ทธ ํ์ธ, ์์ค ์ฝ๊ธฐ ๊ฐ์ ๋๊ตฌ๋ฅผ ์ฃผ๋ฉด ๋ชจ๋ธ์ true positive๊ฐ ํฌ๊ฒ ์ฌ๋ผ๊ฐ๊ณ , ๋จ์ํ SQL injection ๊ฐ์ ์ทจ์ฝ์ ์ ๋น ๋ฅด๊ฒ ์๋ณ๋๋ค.
-
12:01
๊ฒ์ฆ ๋จ๊ณ๋ ๋ฐ๊ฒฌ ๋จ๊ณ์ ๋ถ๋ฆฌํด์ผ ํ๋ฉฐ, ๋ ๋ฆฝ์ ์ด๊ณ ์ ๋์ ์ธ ๊ฒ์ฆ ์์ด์ ํธ๊ฐ false positive๋ฅผ ๊ฑธ๋ฌ๋ธ๋ค. ํ์ธ๋ ์ทจ์ฝ์ ์ severity์ business impact, likelihood๋ฅผ ๊ธฐ์ค์ผ๋ก ์ฌ๋ถ๋ฅํด์ผ ํ๋ฉฐ, firewall๋ ๋ด๋ถ ์ ์ฉ ์๋น์ค ๊ฐ์ ๋ฌธ๋งฅ์ด ์์ผ๋ฉด ๋ชจ๋ธ์ ์ฌ๊ฐ๋๋ฅผ ๊ณผ๋ํ๊ฐํ๊ธฐ ์ฝ๋ค.
-
16:00
ํจ์น ๋จ๊ณ๋ ์์ธ ์์ , ๊ธฐ์กด ํ ์คํธ ํต๊ณผ, ์ฌ๊ณต๊ฒฉ ๊ฒ์ฆ, ์ธ๊ฐ ์น์ธ๊น์ง ํฌํจํ๋ ๋ซํ ๋ฃจํ๋ก ์ค๊ณํด์ผ ํ๋ค. ํ ๋ฒ ๋ง๋ ํ๋ค์ค๋ ๋ฐ๋ณตํ ์๋ก ํ์ง์ด ์ข์์ง๋ ์์ฐ์ด ๋๋ฉฐ, ์กฐ์ง์ ์ผ๋ก๋ vulnerability routing, severity calibration, patching bandwidth๊ฐ ์ง์ง ๋ณ๋ชฉ์ด๋ค.
์ค๋ฌด ์ธ์ฌ์ดํธ
- ๋ณด์ ์๋ํ์ ์ฐ์ ์์๋ ์ค์บ ํ๋๊ฐ ์๋๋ผ ๊ฒ์ฆยทํธ๋ฆฌ์์งยทํจ์น์ ์ด์ ํ๋ฆ์ ํ์คํํ๋ ๋ฐ ์๋ค.
- ๋ชจ๋ธ ์ฑ๋ฅ์ ๋์ด๋ ค๋ฉด ํ๋กฌํํธ๋ฅผ ๊ธธ๊ฒ ๋๋ฆฌ๊ธฐ๋ณด๋ค threat model, ๋ฌธ์, ๊ณผ๊ฑฐ ํจ์น, ์ํ์ฑ ๊ฐ์ ์์คํ ๋ฌธ๋งฅ์ ๊ตฌ์กฐํํด ๋ฃ๋ ํธ์ด ํจ๊ณผ์ ์ด๋ค.
- ์ค๋ฌด ๋์ ์ open source dependency๋ถํฐ ์์ํด hands-on ๋ฐฉ์์ผ๋ก ์คํ, ๋๋ฝ, ํ์ํ ์ปจํ ์คํธ๋ฅผ ํ์ ํ ๋ค ์ ์ง์ ์ผ๋ก ์๋ํํด์ผ ํ๋ค.