실제 AI 에이전트 실패 사례 32건을 기록하고, 우리가 막을 수 없는 사례를 표시했습니다
요약
본 글은 AI 에이전트의 보안 취약점을 다루며, 실제 발생한 32건의 실패 사례를 기록한 'ARE Incident Database'를 공개했습니다. 이 데이터베이스는 OWASP Agentic Security Initiative Top 10에 매핑된 구체적인 사고 사례들을 제공합니다. 글쓴이는 기존 보안 솔루션들이 놓치는 취약점(예: 메모리 오염, 에이전트 간 통신)을 지적하며, 모든 것을 커버한다고 주장하는 주장에 대해 회의적인 시각을 제시하고 있습니다.
핵심 포인트
- 실제 발생한 32건의 AI 에이전트 실패 사례를 공개했습니다 (ARE Incident Database).
- OWASP Agentic Security Initiative Top 10에 매핑된 구체적이고 검증 가능한 취약점 목록입니다.
- 기존 보안 솔루션들은 모든 취약점을 커버한다고 주장하지만, 실제로는 사각지대가 많습니다.
- 메모리 오염이나 에이전트 간 통신 등 복잡한 영역은 방화벽만으로는 막을 수 없습니다.
모든 에이전트 보안 공급업체는 자신들이 무엇을 차단하는지만 말합니다. 그들이 무엇을 놓치는지에 대해서는 아무도 이야기하지 않습니다.
그 간극이 바로 전체 문제입니다. '우리는 프롬프트 인젝션을 막는다'라는 주장은 검증할 수 없는 주장입니다. 실행해 볼 수도 없고, 다음 회사가 똑같은 문장을 말한다고 해서 그것과 구별할 수도 없습니다. 그래서 보안 엔지니어들은 합리적인 선택을 하여 이 모든 것을 무시합니다.
저는 정반대의 것을 발표했습니다. 이것은 ARE Incident Database라고 불리며 공개되어 있습니다: [https://aredb.org]
포함된 내용
실제로 발생한 32개의 에이전트 실패 사례가 있으며, 각각 실제 출처를 가지고 있습니다. 코드 동결 기간 동안 유출된 프로덕션 데이터베이스. 잘못된 환경에서 삭제된 2만 5천 개의 문서. 읽혀서 외부 싱크로 전송된 자격 증명(credentials). 루프 속에서 0으로 소진된 예산.
각 사례는 고유한 ID(ARE-2026-001부터 ARE-2026-032)를 가지며, 각각 OWASP Agentic Security Initiative Top 10의 카테고리에 매핑됩니다. 이 목록은 에이전트에서 무엇이 잘못될 수 있는지에 대한 동료 검토(peer-reviewed) 카탈로그입니다. AREDB는 이것과 경쟁하지 않습니다. OWASP가 지도를 소유하고 있으며, 아래에는 인용된 사고 사례들이 있습니다.
공개하기 불편했던 부분
모든 항목은 커버리지 플래그를 가지고 있으며, 이 플래그는 저희 자체 제품에 관한 것입니다.
오늘 저희가 32개 중 23개를 차단합니다. 나머지 두 개는 부분적이며, 그들은 '부분적'이라고 말합니다. 따라서 10개의 OWASP 카테고리 중 6개만 액션 계층(action layer)에서 커버하며, 우리가 커버하지 못하는 네 가지가 남아 있습니다:
- ASI06 메모리 및 컨텍스트 오염(Memory and context poisoning). 공격자가 텍스트에 지침을 몰래 숨기는 데 사용하는 숨겨진 문자를 제거합니다. 저희는 텍스트 자체의 의미를 읽지 않기 때문에, 이 항목은 부분적이며 '부분적'으로 표시했습니다.
- ASI07 비보안 에이전트 간 통신(Insecure inter-agent communication). 이것은 에이전트들이 네트워크를 통해 서로 대화하는 방식에 관한 것으로, 액션 앞에 위치한 방화벽으로는 절대 볼 수 없습니다. 저희가 담당하지 않는 영역입니다.
- ASI09 인간-에이전트 신뢰(Human-agent trust). 이것은 설계 및 공개 문제입니다. 방화벽이 포착할 수 있는 액션이 없습니다. 저희가 담당하지 않는 영역입니다.
- ASI10 악성 에이전트(Rogue agents). 위험한 액션은 차단하지만, 오작동 자체를 진단하지는 않습니다. 부분적입니다.
모든 10개를 커버한다고 주장하는 방화벽은 거짓말을 하고 있으며, 이 글을 읽는 모든 보안 엔지니어들은 이미 알고 있습니다. 저희가 다루지 못하는 네 가지 영역은 레지스트리에 이름이 명시되어 있으며, 해당 분야를 담당하는 곳으로 포인터가 지정되어 있습니다.
아무것도 신뢰하지 마십시오. 직접 실행해 보세요.
제가 실제로 중요하게 생각하는 부분입니다. 커버된 모든 항목은 실행할 수 있는 재현(repro)을 제공합니다. 스크린샷도 아니고, 데모 비디오도 아니며, 주장만 하는 것도 아닙니다. 코드 조각입니다.
이것이 무료 패키지에 대해 재현한 Replit 프로덕션 와이프(production wipe)입니다:
pip install agentx-security-sdk
from agentx_sdk import agentx_protect, is_block
@agentx_protect(agent_id="aredb-repro", action="db_write")
...
키도 없고, 게이트웨이도 없고, 계정도 없습니다. 아무것도 사용자의 기기를 벗어나지 않습니다. 60초 만에 여러분 스스로 제 주장의 일부를 확인하실 수 있습니다.
레지스트리 역시 자신을 신뢰하지 않습니다
아무도 실행하지 않는 재현 코드는 추가 단계를 붙인 스크린샷과 같습니다. 그래서 레지스트리는 자체적으로 실행합니다.
test_repros.py는 게시된 모든 페이지에서 펜스 처리된 Python 블록을 가져와 실행합니다. 이는 독자가 복사하는 코드가 우리가 차단한다고 증명하는 코드와 바이트 단위로 동일하다는 것을 의미합니다.
CI는 푸시(push)마다, 그리고 주간 스케줄에 따라 실행됩니다. 왜냐하면 아무도 레포지토리(repo)를 건드리지 않으면 재현 가능한 버그(repro)가 썩을 수 있기 때문입니다. 미래의 SDK 릴리스는 공개된 주장 아래에서 동작을 조용히 변경할 수 있으며, 저는 당신에게서가 아니라 빨간 배지(red badge)로부터 그것을 알아내는 것을 선호합니다.
따라서 여기에 있는 커버리지 플래그는 우리의 의견이 아니라 테스트된 사실입니다. 만약 어떤 주장이 더 이상 사실이 아니게 되면, 해당 항목은 재분류됩니다. 페이지의 문구는 수정되지 않습니다.
이것이 아닌 것들
- 취약점 데이터베이스가 아닙니다. 공개적으로 알려진 사고(incident)만 다룹니다. 만약 당신이 누군가의 제품에 미공개 취약점을 가지고 있다면, 저에게 보고하지 말고 그들에게 직접 보고하십시오.
- 카테고리 시스템도 아닙니다. OWASP ASI가 표준입니다. 이 데이터베이스는 그것을 인덱싱(index)합니다.
- 전체 목록이 아닙니다. 이것은 32개로 구성된 초기 배치일 뿐입니다. 이것이 솔직한 규모입니다.
- 누가 만들었는지에 대해 중립적이지 않습니다. AgentX-Core는 여기서 차단하는 도구이며, 저는 이 도구와 레지스트리(registry)를 모두 작성했습니다. 이에 대한 방어책은 약속이 아니라 재현 가능한 버그(repro)입니다. 직접 실행해 보십시오.
두 가지 요청 사항
- 하나를 깨보려고 시도하십시오. '커버됨'으로 표시된 항목을 가져와 스니펫(snippet)을 실행하고, 그것이 차단하지 않는다고 말해주십시오. 이것이 당신이 저에게 보낼 수 있는 가장 유용한 메시지이며, 제가 가장 빠르게 조치할 내용입니다.
- 당신을 괴롭힌 실패 사례를 보내주십시오. 출처가 있는 실제 사고(incident)입니다. 만약 이 기준을 통과한다면,
ARE-2026-NNNID를 부여받고 데이터베이스에 포함됩니다.CONTRIBUTING.md에 임계값(threshold)이 명시되어 있는데, 이것은 참신성(novelty)이 아니라 물질적 결과(material consequence)입니다.
레지스트리: https://aredb.org
레포: https://github.com/vdalal/ARE-Incident-Database
놓친 것이 있다면 알려주세요: https://discord.gg/PmWRTtaSx2
AI 자동 생성 콘텐츠
본 콘텐츠는 Dev.to AI tag의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기