[기타/AI] AI 에이전트 보안 입문: 프롬프트 인젝션, 툴 권한, 데이터 유출을 어떻게 봐야 할까
업데이트:
AI 에이전트가 강력해질수록 보안은 더 중요해집니다.
질문에 답만 하던 챗봇은 틀린 말을 하면 끝일 수도 있었지만,
파일을 읽고, 명령을 실행하고, 외부 도구를 부르는 에이전트는 실제로 사고를 낼 수 있기 때문입니다.
왜 지금 보안을 같이 봐야 하나
2026년의 도구들은 단순 채팅을 넘어서고 있습니다.
- Codex는 작업 환경에서 명령을 실행합니다
- Claude Code는 터미널과 MCP를 연결합니다
- Copilot은 coding agent와 external tools를 붙입니다
이 말은 곧, 프롬프트 한 줄이 실제 동작으로 이어질 수 있다는 뜻입니다.
그래서 보안은 부가 기능이 아니라 설계의 중심이 됩니다.
가장 먼저 알아야 할 공격: 프롬프트 인젝션
프롬프트 인젝션은 공격자가 모델의 원래 지시를 무시하게 만들거나,
악의적인 행동을 유도하는 텍스트를 끼워 넣는 방식입니다.
예를 들어:
- 문서 안에 숨겨진 악성 지시
- 웹페이지에 삽입된 조작 문구
- 이슈/PR/댓글 같은 외부 입력에 포함된 유도 문장
겉으로는 그냥 텍스트지만, 에이전트 입장에서는 “따를지 말지 판단해야 하는 지시”가 되어 버립니다.
왜 일반 웹 보안과 조금 다른가
기존 시스템은 보통 입력을 파싱해서 명시적 규칙으로 처리합니다.
하지만 LLM 기반 에이전트는 입력을 “이해”하고, 그 의미를 바탕으로 행동합니다.
즉 문제는 단순 문자열이 아니라,
텍스트가 의도를 가진 지시처럼 해석될 수 있다는 데 있습니다.
자주 나오는 위험 시나리오
1) Tool abuse
에이전트가 과한 권한을 가진 도구를 호출하는 경우입니다.
- 필요 없는 파일 수정
- 과도한 네트워크 호출
- 민감 데이터 조회
2) Data exfiltration
모델이 읽은 민감 정보를 외부로 흘리는 경우입니다.
- 내부 문서 요약이 외부 서비스로 전달
- 비밀 키나 토큰이 출력에 섞임
3) Context poisoning
신뢰할 수 없는 문맥이 작업의 기준이 되어 버리는 경우입니다.
- 악성 README
- 조작된 issue 본문
- 신뢰하지 말아야 할 외부 검색 결과
MCP와 함께 쓸 때 왜 더 조심해야 하나
MCP는 도구 연결을 표준화해 주지만, 보안을 자동으로 해결해 주지는 않습니다.
특히 Anthropic 공식 문서도 신뢰하지 않는 콘텐츠를 가져오는 MCP 서버는 prompt injection 위험을 키울 수 있다고 경고합니다.
즉 MCP는 편리한 배선이지만,
배선이 많아질수록 공격 표면도 넓어진다고 봐야 합니다.
가장 기본적인 방어 원칙
1) 최소 권한
필요한 도구만, 필요한 범위만 열어야 합니다.
- 읽기 전용 우선
- 쓰기 권한은 작업별로 제한
- shell/네트워크 권한은 더 엄격하게
2) 명시적 승인
민감한 동작은 사용자가 한 번 더 승인하게 해야 합니다.
- 파일 삭제
- 외부 전송
- 배포
- 시크릿 접근
3) 신뢰 경계 구분
모든 텍스트를 같은 급으로 취급하면 안 됩니다.
- 시스템 지시
- 사용자 지시
- 외부 문서/웹 결과
이 셋은 명확히 다른 신뢰 레벨로 봐야 합니다.
4) 감사 가능성
에이전트가 무엇을 읽고, 어떤 툴을 호출했고, 무엇을 바꿨는지 남겨야 합니다.
5) 기본 차단
Anthropic 공식 보안 문서처럼 위험한 네트워크 명령 차단, 입력 정제, 권한 시스템 같은 기본 방어선이 중요합니다.
개인이 써도 필요한가
필요합니다.
대기업 보안팀이 없어도 아래 정도는 바로 체감이 있습니다.
- 로컬 저장소 수정 범위 제한
- 외부 URL 자동 접근 제한
- API 키/환경 변수 노출 방지
- 승인 없는 배포/푸시 금지
오히려 개인 환경은 가벼운 마음으로 권한을 전부 열어두기 쉬워 더 위험할 수 있습니다.
실전 체크 포인트
새 에이전트 도구를 붙일 때 최소한 이 정도는 점검하는 편이 좋습니다.
- shell 실행은 기본 비활성화인가
- 네트워크 호출을 제한할 수 있는가
- 민감 파일 경로를 제외할 수 있는가
- 승인 단계가 있는가
- 로그/감사 기록이 남는가
- 외부 문서를 가져올 때 출처를 구분하는가
한 줄 정리
에이전트 보안의 핵심은 “모델이 똑똑한가”가 아니라,
모델이 무엇을 읽고 무엇을 실행할 수 있게 허용했는가입니다.
요약
에이전트 보안의 핵심은 모델 성능보다 권한 경계와 문맥 신뢰 구분입니다. 프롬프트 인젝션, 과한 툴 권한, 데이터 유출 경로를 먼저 통제해야 실제로 안전한 자동화가 가능합니다.
참고 자료
관련 글
- MCP란 무엇인가? AI 에이전트의 USB-C를 이해하는 가장 쉬운 설명
- AI 에이전트의 Skill이란 무엇인가? 프롬프트 묶음이 아니라 실행 가능한 작업 단위
- Claude Code란 무엇인가? 터미널에서 움직이는 코딩 에이전트 이해하기
- GitHub Copilot 완전정리: 인라인 완성에서 코딩 에이전트까지
댓글남기기