MCP 도구가 셸을 부를 때 — 커맨드 인젝션은 왜 생기고 어떻게 막나
2026-08-12 15:20:50
MCP 도구가 셸 명령을 실행할 때, 그 인자를 채우는 것은 사람이 아니라 LLM이다. 문자열을 조합해 exec에 넘기는 흔한 패턴이 왜 커맨드 인젝션으로 이어지는지, 간접 프롬프트 인젝션이 이 위험을 어떻게 키우는지, execFile로 셸을 아예 거치지 않는 해법까지 코드로 정리한다.
1개의 글
MCP 도구가 셸 명령을 실행할 때, 그 인자를 채우는 것은 사람이 아니라 LLM이다. 문자열을 조합해 exec에 넘기는 흔한 패턴이 왜 커맨드 인젝션으로 이어지는지, 간접 프롬프트 인젝션이 이 위험을 어떻게 키우는지, execFile로 셸을 아예 거치지 않는 해법까지 코드로 정리한다.
MCP 도구가 셸 명령을 실행할 때, 그 인자를 채우는 것은 사람이 아니라 LLM이다. 문자열을 조합해 exec에 넘기는 흔한 패턴이 왜 커맨드 인젝션으로 이어지는지, 간접 프롬프트 인젝션이 이 위험을 어떻게 키우는지, execFile로 셸을 아예 거치지 않는 해법까지 코드로 정리한다.
비공개로 의견 보내기
작성자에게만 전달돼요. 이름·이메일을 비우면 완전 익명입니다.