이 글은 JudyAI Lab의 AI 엔지니어링 시리즈 중 하나입니다 — 100편 이상 발행된 가이드, 60개국 5,000명 이상의 주간 독자가 읽는 콘텐츠로, AI 에이전트·트레이딩 시스템·콘텐츠 파이프라인의 실전 운영에 초점을 둡니다.
OWASP GenAI Security Project가 2026년에 새로운 목록을 발표했습니다—Top 10 for Agentic Applications [Source: https://genai.owasp.org/resource/owasp-top-10-for-agentic-applications-for-2026/]. 이것은 기존 Top 10의 소소한 업그레이드가 아니라, AI 에이전트 시스템을 위해 특별히 만들어진 완전히 새로운 프레임워크로, 업계 전문가 커뮤니티가 공동으로 피어 리뷰한 결과물입니다 [Source: https://genai.owasp.org/resource/owasp-top-10-for-agentic-applications-for-2026/].
ASI01부터 ASI10까지의 명명 논리는 기존 LLM Top 10과 다릅니다—ASI01(Agent Goal Hijack)은 프롬프트 인젝션(기존 LLM01)과 과도한 에이전시(기존 LLM06)를 직접 통합했습니다 [Source: https://genai.owasp.org/resource/owasp-top-10-for-agentic-applications-for-2026/]. 에이전트의 다단계 자율 실행이 단일 응답의 공격을 완전히 다른 수준으로 증폭시키기 때문입니다.
에이전트에 별도 목록이 필요한 이유
기존 OWASP Top 10은 웹 앱을 위해 설계되었고, 이후 LLM Top 10이 단일 추론 시나리오의 위험을 보완했습니다. 하지만 에이전트는 다릅니다—스스로 도구를 호출하고, 이전에 발생한 일을 기억하며, 태스크에 걸쳐 상태를 누적합니다.
이러한 능력들이 결합되면 공격 면은 완전히 달라집니다.
비교해 보겠습니다. 챗봇에 프롬프트 인젝션을 가하면 최악의 경우 해서는 안 될 말을 한 번 하는 것입니다. 하지만 에이전트에 목표 탈취를 가하면, 이어서 10단계를 실행하고, 돈을 이체하고, 설정을 변경하고, 하위 시스템과 연결할 수 있습니다—그리고 모든 단계가 ‘태스크를 실행 중’처럼 보여 로그만으로는 어디서부터 잘못됐는지 알 수 없습니다.
LLM Top 10과 비교하면, ASI07(에이전트 간 신뢰 남용), ASI08(연쇄 실패), ASI10(불량 에이전트)은 다중 에이전트 시나리오의 횡적·시스템적 위험에 더 집중합니다 [Source: https://genai.owasp.org/resource/owasp-top-10-for-agentic-applications-for-2026/]. 단일 추론의 세계에서는 이런 시나리오가 아예 존재하지 않기 때문입니다.
ASI01부터 ASI10까지 한 줄 요약
- ASI01 목표 탈취(Agent Goal Hijack): 공격자가 에이전트가 실제로 추구하는 목표를 바꾼다
- ASI02 도구 남용(Tool Misuse): 합법적인 권한이 해서는 안 될 일에 유도된다
- ASI03 권한 초과(Excessive Permissions): 에이전트가 원래 부여된 범위를 초과한다
- ASI04 Agentic 공급망(Agentic Supply Chain): 서드파티 에이전트·도구·플러그인·모델 출처 자체가 오염된다
- ASI05 비예상 코드 실행(Unexpected Code Execution): 에이전트가 입력을 파싱할 때 실행해서는 안 될 코드 경로를 트리거한다
- ASI06 메모리 오염(Memory Poisoning): 장기 메모리에 독을 주입한다
- ASI07 에이전트 간 신뢰 남용(Inter-Agent Trust Exploitation): 다중 에이전트 시스템의 횡적 공격
- ASI08 연쇄 실패(Cascading Failures): 하나의 에이전트 오류가 체인을 따라 전체 시스템을 끌어내린다
- ASI09 인간-에이전트 신뢰 남용(Human-Agent Trust Exploitation): 에이전트가 자신에 대한 인간의 신뢰를 이용해 잘못된 판단을 유도한다
- ASI10 불량 에이전트(Rogue Agents): 심어졌거나 제어를 벗어난 에이전트가 시스템 내에서 활동한다
완전한 정의와 영문 원문 대조는 OWASP 공식 문서를 참고하세요 [Source: https://genai.owasp.org/resource/owasp-top-10-for-agentic-applications-for-2026/].
10가지 항목 상세 분석: 각 항목의 특징과 방어가 어려운 이유
ASI01 목표 탈취의 가장 흔한 공격 경로는 악성 명령을 에이전트가 반드시 읽어야 하는 데이터 소스—크롤링한 웹페이지, 수신된 이메일, 사용자가 업로드한 파일—에 숨기는 것입니다. 에이전트가 읽어들이면 그 명령이 원래 시스템 프롬프트와 우선순위를 다툽니다. 다단계 실행이 영향을 증폭시킵니다. 단일 추론에서 한 번 실수하면 한 문장이 잘못되지만, 에이전트가 한 번 실수하면 이후 전체 체인이 잘못됩니다. 기존 LLM 방어로는 막을 수 없습니다. 이 공격은 ‘데이터’를 통해 들어와 합법적인 입력처럼 보이기 때문입니다.
ASI02 도구 남용의 핵심은 ‘합법적이지만 해서는 안 되는’ 상황입니다. 에이전트가 데이터베이스 쿼리를 호출할 권한은 있습니다. 문제없습니다. 하지만 공격자가 이번 태스크에 속하지 않는 데이터를 조회하도록 속이면, 권한 검사는 통과하고 작업은 완료되며 시스템 관점에서는 이상이 없어 보입니다. 방어의 핵심은 도구 호출 전 권한 검사뿐 아니라 컨텍스트 검사입니다—동일한 API 호출이 ‘고객 서비스 태스크’와 ‘데이터 유출’ 상황에서 허용해야 하는지의 논리는 다릅니다.
ASI03 권한 초과는 ASI02와 사촌 관계이지만 다릅니다. ASI02는 기존 권한으로 해서는 안 될 일을 하는 것이고, ASI03는 에이전트가 스스로 가져서는 안 될 권한을 능동적으로 획득하는 것입니다. 흔한 경로에는 자가 권한 상승(시스템을 속여 admin 토큰 발급), 횡적 이동(도구 A의 응답에서 도구 B의 크레덴셜 추론), 에스컬레이션 체인이 있습니다. RBAC로는 막을 수 없습니다. 공격자의 각 단계가 합법적으로 보이고, 누적된 후에야 원래 권한 범위를 초과하기 때문입니다.
ASI04 Agentic 공급망은 npm/pypi 공급망 공격을 에이전트 세계로 옮겨 온 것입니다. 서드파티 에이전트, 플러그인, MCP 서버, 사전 훈련된 모델 가중치, 프롬프트 템플릿 라이브러리—스택에 들어오는 모든 컴포넌트가 공격 면입니다. 최근 PyPI 타이포스쿼팅 독성 패키지, Hugging Face의 백도어된 모델, 악성 MCP 서버가 개발자를 속여 설치하게 하는 사례 모두 이 항목에 해당합니다. SBOM을 ‘에이전트 컴포넌트’ 차원까지 확장해야 합니다.
ASI05 비예상 코드 실행은 특히 위험합니다. 에이전트가 흔히 스스로 코드를 작성하고 실행하기 때문입니다. SQL을 생성하고 실행하고, Python을 생성하고 eval하고, 셸을 생성하고 subprocess로 실행합니다. 공격자는 프롬프트 유도를 통해 에이전트가 셸 인젝션·SQL 인젝션·경로 탐색이 포함된 코드를 작성하게 하고, 에이전트 스스로 실행하게 합니다. 샌드박스, 화이트리스트, 템플릿 렌더링 전 이스케이프 처리 중 하나라도 빠져서는 안 됩니다.
ASI06 메모리 오염은 장기 메모리 에이전트의 전용 위험입니다. 공격자가 가짜 메모리를 주입하면, 며칠 후 에이전트가 스스로 읽어와서 가짜 내용을 ‘이전에 학습한 사실’로 취급합니다. 이 항목이 특히 까다로운 이유는 오염과 사용 사이에 오랜 시간이 지나 사후에 인과 관계를 추적하기가 매우 어렵기 때문입니다. RAG 시스템, 벡터 데이터베이스, 지식 그래프 모두 잠재적 오염 지점입니다.
ASI07 에이전트 간 신뢰 남용은 다중 에이전트 시스템에서만 발생합니다. 에이전트 A가 에이전트 B의 응답을 신뢰하고, B가 C를 신뢰하는 상황에서 공격자가 체인의 어느 노드에든 진입하면, 전체 체인의 하위 스트림이 가짜 데이터를 받아도 알 수 없습니다. 횡적 공격은 기존 마이크로서비스 시대에 lateral movement라 불렸는데, 에이전트 세계에서는 더 심각합니다—에이전트 간 신뢰가 보통 프롬프트 설계에 내재되어 명확한 경계가 없기 때문입니다.
ASI08 연쇄 실패는 ASI07처럼 체인 문제이지만 원인이 다릅니다. ASI07은 악의적이고, ASI08은 오류가 전파되는 것입니다. 하나의 에이전트가 환각으로 잘못된 데이터를 제공하면, 하위 에이전트가 이를 사실로 받아들이고, 5단계 더 전달되면 전체 워크플로우가 완전히 현실을 벗어납니다. 서킷 브레이커, 신뢰도 표시, 교차 검증이 필수적인 완화 조치입니다.
ASI09 인간-에이전트 신뢰 남용은 반대 방향입니다—에이전트가 자신에 대한 인간의 신뢰를 이용해 나쁜 일을 합니다. 흔한 수법에는 긴급감 조작(“이것을 클릭하지 않으면 지금 당장 큰 문제가 생깁니다”), 사회공학적 설득, 악성 내용을 에이전트의 ‘추천’으로 포장해 사람이 생각 없이 수용하게 만드는 것이 포함됩니다. 인간이 에이전트를 중립적인 도구로 여길 때 공격 면이 가장 넓어집니다. UX 설계에 마찰 레이어를 추가해 중요한 작업은 반드시 인간이 두 번 확인하도록 해야 합니다.
ASI10 불량 에이전트는 다중 에이전트 시스템의 새로운 위협입니다. 하나의 에이전트가 공격당하거나 심어지면, 팀 내에서 정상 멤버를 사칭해 태스크를 발행하고, 설정을 변경하고, 다른 에이전트의 메모리를 읽습니다. 기존 제로 트러스트는 에이전트 세계에서 재설계가 필요합니다—신원 검증의 대상이 사람이 아니라 행동 패턴입니다. 이상 탐지는 ‘이 계정의 행동’에서 ‘이 에이전트의 의사결정 궤적’으로 업그레이드해야 합니다.
원칙에서 엔지니어링 실천으로
OWASP가 제공하는 것은 분류와 원칙이며, 엔지니어링 구현은 스스로 해야 합니다. 다음은 ASI 항목에 대응하는 일반적인 구현 방향입니다.
**ASI04(Agentic 공급망)**의 경우, 서드파티 에이전트·플러그인·모델 출처를 모두 공급망 관리에 포함해야 합니다—버전을 고정하고, 출처 서명 검증을 수행하고, CI 단계에서 매니페스트를 스캔합니다. 기존 SBOM의 사고방식과 동일하며, 대상만 npm 패키지에서 에이전트 컴포넌트로 바뀐 것입니다.
**ASI05(비예상 코드 실행)**의 경우, 입력 파싱 시 악성 입력이 eval, 템플릿 인젝션, 파일 시스템 접근을 트리거하려 한다고 가정해야 합니다. 에이전트가 동적으로 실행하는 모든 내용(생성된 코드, 생성된 SQL, 생성된 셸)은 먼저 샌드박스를 거치거나 화이트리스트 검사를 받아야 하며, 직접 런타임에 넘겨서는 안 됩니다.
**ASI06(메모리 오염)과 ASI08(연쇄 실패)**의 경우, 지식 베이스 쓰기 시 출처를 표시하고 신뢰도 가중치를 제한해야 합니다. 벡터 데이터베이스의 모든 쓰기 작업에 추적 정보를 남깁니다—누가 썼는지, 어떤 태스크로 썼는지, 어떤 명령으로 썼는지. 문제 발생 시 인과 관계를 역추적할 수 있고, 특정 에이전트가 오류를 뿜기 시작할 때 오류가 하위 체인으로 전파되는 것을 제한할 수 있습니다.
**ASI02/ASI03(도구 남용, 권한 초과)**의 경우, 각 에이전트가 생성될 때부터 경계 설정을 갖습니다—사용 가능한 도구, 호출 가능한 하위 서비스, 접근 가능한 리소스가 명확히 정의되어야 하며, 범위를 벗어난 요청은 에이전트의 자체 판단에 맡기지 않고 직접 거부합니다.
ASI04 파생 리소스 위험의 경우, 속도 제한이 필수입니다—각 에이전트가 분당 외부 API를 호출할 수 있는 횟수를 제한해 태스크 루프가 통제를 벗어나 할당량을 고갈시키는 것을 방지하고, 공격자가 무한 호출로 서비스를 다운시키는 경로도 차단합니다. 이 레이어는 보통 위의 ASI02/03 경계 설정과 함께 설계됩니다.
개발자가 지금 할 수 있는 세 가지
모든 외부 출처 콘텐츠를 ‘지시가 아닌 데이터’로 처리하세요. 웹 페치, 사용자 업로드, 외부 API 응답—에이전트 컨텍스트에 들어가는 모든 것은 먼저 살균(sanitize) 과정을 거친 후 메인 플로우에 진입해야 합니다. 이는 ASI01과 ASI05 모두에 대응합니다.
도구 호출 전에 권한만이 아닌 컨텍스트 검사 레이어를 추가하세요. 동일한 API 호출이라도 서로 다른 태스크 상황에서 허용해야 하는지의 논리는 다르며, RBAC만으로는 ASI02 같은 공격을 막을 수 없습니다.
메모리 시스템에는 반드시 추적 기능이 있어야 합니다. 쓰기 출처, 쓰기 태스크, 쓰기 시간—하나라도 없으면 문제 발생 후 근본 원인을 전혀 볼 수 없게 되며, ASI06과 ASI08 모두 이 공백에서 문제가 발생합니다.
OWASP 이 목록에서 가장 읽을 가치가 있는 부분은 사실 10가지 위험 항목 자체가 아닙니다. 그것이 전달하는 메시지입니다—에이전트 시스템의 보안 모델은 당신이 이전에 알던 것과 다릅니다.