๐Ÿ“ˆ์„ฑ๊ณต์‚ฌ๋ก€2026-07-13

๋‰ด์Šค - ์›๋ฌธ ๊ธฐ๋ฐ˜ ์š”์•ฝ ํ•„์š”

๐Ÿ’ก ํ•œ์ค„ ์š”์•ฝ|๋‰ด์Šค - ์›๋ฌธ ๊ธฐ๋ฐ˜ ์š”์•ฝ ํ•„์š”


title: "AI ์—์ด์ „ํŠธ ํ”„๋ ˆ์ž„์›Œํฌ, enum ๊ฐ’ ์•ˆ ์ˆจ๊ฒจ์ง„ ํ•ดํ‚น ์ง€์‹œ ๊ทธ๋Œ€๋กœ ์‹คํ–‰" description: "๋‰ด์Šค - ์›๋ฌธ ๊ธฐ๋ฐ˜ ์š”์•ฝ ํ•„์š”" date: 2026-07-13 tags: [ai-tool] source: "https://dev.to/alexlaguardia/a-shipped-agent-framework-ran-the-hidden-payload-my-own-scanner-caught-it-6jl" sidebar: order: 0

์ œ๋ชฉ(ํ•œ๊ธ€): AI ์—์ด์ „ํŠธ ํ”„๋ ˆ์ž„์›Œํฌ, enum ๊ฐ’ ์•ˆ ์ˆจ๊ฒจ์ง„ ํ•ดํ‚น ์ง€์‹œ ๊ทธ๋Œ€๋กœ ์‹คํ–‰ ์›๋ฌธ ์ œ๋ชฉ(์˜๋ฌธ): A shipped agent framework ran the hidden payload. My own scanner caught it. ์›๋ฌธ: A shipped agent framework ran the hidden payload. My own scanner caught it. ์†Œ์Šค: dev-to-ai MD ํŒŒ์ผ: content/2026-07-13/dev-to-ai-a-shipped-agent-framework-ran-the-hidden-payload-m.md

ํ•ต์‹ฌ ๋‚ด์šฉ

์˜คํ”ˆ์†Œ์Šค AI ์—์ด์ „ํŠธ ํ”„๋ ˆ์ž„์›Œํฌ smolagents๊ฐ€ MCP ํˆด ์Šคํ‚ค๋งˆ์˜ enum ๊ฐ’์— ์ˆจ๊ฒจ์ง„ ์•…์„ฑ ๋ช…๋ น์„ ๊ฑธ๋Ÿฌ๋‚ด์ง€ ๋ชปํ•œ๋‹ค๋Š” ๊ฒŒ ์‹คํ—˜์œผ๋กœ ์ž…์ฆ๋์–ด์š”.

๋ณด์•ˆ ์—ฐ๊ตฌ์ž๊ฐ€ ์ง์ ‘ ํ…Œ์ŠคํŠธํ•œ ๊ฒฐ๊ณผ, ์—์ด์ „ํŠธ๋Š” ํ™˜์ž ๊ธฐ๋ก 42๋ฒˆ์„ ์กฐํšŒํ•˜๋ผ๋Š” ๋‹จ์ˆœ ์ง€์‹œ๋ฅผ ๋ฐ›์•˜๋Š”๋ฐ ๊ทธ๊ฒƒ๋„ ๋ชจ๋ฅด๊ฒŒ export_record ํˆด์„ ํ˜ธ์ถœํ•ด์„œ ๋ฐ์ดํ„ฐ๋ฅผ ๊ณต๊ฒฉ์ž ์„œ๋ฒ„๋กœ ์ „์†กํ–ˆ๊ฑฐ๋“ ์š”. 10๋ฒˆ ์‹คํ–‰ ์ค‘ 7๋ฒˆ์ด ์„ฑ๊ณตํ–ˆ๊ณ , ๊ทธ์ค‘ 6๋ฒˆ์€ description ์Šค์บ”์ด ์•„์˜ˆ ์—ด์ง€ ์•Š๋Š” ์Šคํ‚ค๋งˆ ํ•„๋“œ์—์„œ ์‹คํ–‰๋์–ด์š”.

๋ฌธ์ œ์˜ ํ•ต์‹ฌ์€ mcpadapt๊ฐ€ ํˆด ์ด๋ฆ„๋งŒ ํŒŒ์ด์ฌ ์‹๋ณ„์ž๋กœ ๋ฐ”๊พธ๊ณ , enumยทtitleยทdefault ๊ฐ™์€ ๋‚˜๋จธ์ง€ ํ•„๋“œ๋Š” ๋ชจ๋ธ์—๊ฒŒ ์›๋ฌธ ๊ทธ๋Œ€๋กœ ๋„˜๊ธด๋‹ค๋Š” ๊ฑฐ์˜ˆ์š”. ์—ฐ๊ตฌ์ž๊ฐ€ ์ž์ฒด ์ œ์ž‘ํ•œ ๋“ฑ๋ก ์‹œ์  ์Šค์บ๋„ˆ๋Š” ์ด๊ฑธ ์ „๋ถ€ ์žก์•„๋ƒˆ์–ด์š”.

'์„ค๋ช…(description) ํ•„๋“œ๋งŒ ๊ฒ€์‚ฌํ•˜๋ฉด ์•ˆ์ „ํ•˜๋‹ค'๋Š” ํ†ต๋…์ด ๊นจ์ง„ ์‚ฌ๋ก€์˜ˆ์š”. AI ์—์ด์ „ํŠธ๋ฅผ ํ”„๋กœ๋•์…˜์— ๋ถ™์ด๋Š” ํŒ€์ด๋ผ๋ฉด ์Šคํ‚ค๋งˆ ์ „์ฒด๋ฅผ ๊ฒ€์ฆ ๋Œ€์ƒ์œผ๋กœ ๋ด์•ผ ํ•˜๋Š” ์‹œ์ ์ด ๋์–ด์š”.

์žก๋Œ์Œค์˜ ํ•œ๋งˆ๋””

smolagents๋Š” ์Šคํ‚ค๋งˆ ํ•„๋“œ ์ „์ฒด๋ฅผ ๋ชจ๋ธ์— ๊ทธ๋Œ€๋กœ ๋„˜๊ฒจ์š”. description๋งŒ ๊ฒ€์‚ฌํ•ด์„  ๋ถ€์กฑํ•˜๊ณ , enumยทtitle ๋“ฑ ๋ชจ๋“  ํ•„๋“œ๋ฅผ ๋“ฑ๋ก ์‹œ์ ์— ๊ฒ€์ฆํ•ด์•ผ ํ•ด์š”.


์ถœ์ฒ˜: A shipped agent framework ran the hidden payload. My own scanner caught it.

์ด ๊ธ€์ด ์–ด๋• ๋‚˜์š”?

๊ด€๋ จ ๊ธ€

๐Ÿค–๋ฐ”์ด๋ธŒ์ฝ”๋”ฉ๐Ÿ› ๏ธAI ๋„๊ตฌ๐Ÿ“ˆ์„ฑ๊ณต์‚ฌ๋ก€

AI ์ฝ”๋”ฉ ์—์ด์ „ํŠธ์˜ ์„ฑ๊ณผ๋Š” โ€œ๋” ๊ธธ๊ฒŒ ์‹œํ‚ค๊ธฐโ€๋ณด๋‹ค ํ”„๋กœ์ ํŠธ ๋งฅ๋ฝ์„ ์ •๋ฆฌํ•˜๊ณ , ์ผ์„ ์ž‘๊ฒŒ ๋‚˜๋ˆ„๊ณ , ๋งค ๋‹จ๊ณ„์˜ ๊ฒ€์ฆ๊ณผ ๋˜๋Œ๋ฆผ์„ ์ •ํ•˜๋Š” ๋ฐ์„œ ๊ฐˆ๋ฆฝ๋‹ˆ๋‹ค

AI ์ฝ”๋”ฉ ์—์ด์ „ํŠธ์˜ ์„ฑ๊ณผ๋Š” โ€œ๋” ๊ธธ๊ฒŒ ์‹œํ‚ค๊ธฐโ€๋ณด๋‹ค ํ”„๋กœ์ ํŠธ ๋งฅ๋ฝ์„ ์ •๋ฆฌํ•˜๊ณ , ์ผ์„ ์ž‘๊ฒŒ ๋‚˜๋ˆ„๊ณ , ๋งค ๋‹จ๊ณ„์˜ ๊ฒ€์ฆ๊ณผ ๋˜๋Œ๋ฆผ์„ ์ •ํ•˜๋Š” ๋ฐ์„œ ๊ฐˆ๋ฆฝ๋‹ˆ๋‹ค. ํ˜ผ์ž ๋งŒ๋“œ๋Š” MVP๋ผ๋ฉด ์ด ๋‹ค์„ฏ ๋‹จ๊ณ„๋งŒ์œผ๋กœ๋„ ์‹คํŒจ ๋น„์šฉ์„ ํฌ๊ฒŒ ์ค„์ผ ์ˆ˜ ์žˆ์–ด์š”.

์—๋””ํ„ฐ MAX8๋ถ„ ์†Œ์š”
๐Ÿ“ˆ์„ฑ๊ณต์‚ฌ๋ก€๐Ÿค–๋ฐ”์ด๋ธŒ์ฝ”๋”ฉ๐Ÿ› ๏ธAI ๋„๊ตฌ

Anthropic์˜ ๋‚ด๋ถ€ ํŒ€ ์‚ฌ๋ก€๋Š” AI ์ฝ”๋”ฉ ๋„๊ตฌ๊ฐ€ ์‚ฌ๋žŒ์„ ํ†ต์งธ๋กœ ๋Œ€์ฒดํ•œ๋‹ค๋Š” ์ด์•ผ๊ธฐ๊ฐ€ ์•„๋‹™๋‹ˆ๋‹ค

Anthropic์˜ ๋‚ด๋ถ€ ํŒ€ ์‚ฌ๋ก€๋Š” AI ์ฝ”๋”ฉ ๋„๊ตฌ๊ฐ€ ์‚ฌ๋žŒ์„ ํ†ต์งธ๋กœ ๋Œ€์ฒดํ•œ๋‹ค๋Š” ์ด์•ผ๊ธฐ๊ฐ€ ์•„๋‹™๋‹ˆ๋‹ค. ๋ฌธ์„œยทํ…Œ์ŠคํŠธยท์ฒดํฌํฌ์ธํŠธ๋ฅผ ๊ฐ–์ถ˜ ํŒ€์ด ๋ฐ˜๋ณต ์ž‘์—…์„ ๋” ๋นจ๋ฆฌ ์ฒ˜๋ฆฌํ•˜๊ณ , ๋น„๊ฐœ๋ฐœ์ž๋„ ์ž‘์€ ๋ณ€๊ฒฝ์— ์ฐธ์—ฌํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋œ ์›Œํฌํ”Œ๋กœ์šฐ์˜ ์‚ฌ๋ก€์— ๊ฐ€๊น์Šต๋‹ˆ๋‹ค.

์—๋””ํ„ฐ MAX7๋ถ„ ์†Œ์š”
๐Ÿ› ๏ธAI ๋„๊ตฌ๐Ÿค–๋ฐ”์ด๋ธŒ์ฝ”๋”ฉ๐Ÿ“ˆ์„ฑ๊ณต์‚ฌ๋ก€

AI๋กœ ๊ธฐ์ˆ  ๋ฌธ์„œ๋ฅผ ๋น ๋ฅด๊ฒŒ ๋งŒ๋“ค ์ˆ˜๋Š” ์žˆ์–ด๋„, ์ •ํ™•ํ•œ ๋ฌธ์„œ๊ฐ€ ์ €์ ˆ๋กœ ๋‚˜์˜ค์ง€๋Š” ์•Š์Šต๋‹ˆ๋‹ค

AI๋กœ ๊ธฐ์ˆ  ๋ฌธ์„œ๋ฅผ ๋น ๋ฅด๊ฒŒ ๋งŒ๋“ค ์ˆ˜๋Š” ์žˆ์–ด๋„, ์ •ํ™•ํ•œ ๋ฌธ์„œ๊ฐ€ ์ €์ ˆ๋กœ ๋‚˜์˜ค์ง€๋Š” ์•Š์Šต๋‹ˆ๋‹ค. Google Cloud์˜ ๋ฌธ์„œ ์ œ์ž‘ ์‚ฌ๋ก€์ฒ˜๋Ÿผ ์›๋ฌธ ๊ทผ๊ฑฐยท๋ณ„๋„ ํ‰๊ฐ€ยท์‹คํ–‰ ๊ฒ€์ฆ์„ ๋ถ„๋ฆฌํ•˜๋ฉด, ์ฝ˜ํ…์ธ  ์ž๋™ํ™”๋„ โ€˜๋งŽ์ด ์“ฐ๊ธฐโ€™๊ฐ€ ์•„๋‹ˆ๋ผ โ€˜ํ‹€๋ฆฌ์ง€ ์•Š๊ฒŒ ๊ณ ์น˜๊ธฐโ€™๋กœ ๋ฐ”๊ฟ€ ์ˆ˜ ์žˆ์–ด์š”.

์—๋””ํ„ฐ MAX8๋ถ„ ์†Œ์š”