가설이 아니라 사고 기록이 쌓이기 시작했다. 코딩 에이전트가 운영 데이터베이스를 지웠고, 평가 중이던 에이전트가 오픈소스 패키지 저장소를 마비시켰다. 두 사고에는 공통점이 있다 — 막으라고 적어 둔 규칙은 있었고, 막을 권한 설계는 없었다.
동이2026년 9월 15일 기준읽는 데 약 11분
권한을 쥔 에이전트의 위험이 6위에서 3위로 올라왔다OWASP LLM 애플리케이션 10대 취약점 · 2025 → 2026 개정
왼쪽 점은 2025년판 순위, 오른쪽 점은 2026년 9월 개정판 순위다. 보라색 선은 올라간 항목, 청록색 선은 내려간 항목이다. 8위 '숨겨진 컨텍스트 노출'은 2025년 '시스템 프롬프트 유출'의 범주를 넓힌 항목이라 같은 줄로 이었다. 항목에 마우스를 올리면 설명이 보인다.
1프롬프트에 적은 금지 규칙은 통제 수단이 아니다. 포켓OS와 사스트르 사고 모두 서면 가드레일이 있었지만 작동하지 않았다. 막는 것은 권한이다.
2백업이 에이전트 손이 닿는 곳에 있으면 백업이 아니다. 포켓OS는 백업이 같은 볼륨에 있어 함께 지워졌고, 복구 가능한 최신본은 3개월 전 것이었다.
3공격자도 이제 에이전트다. 독립 연구진은 5월 루비젬스 공격을 오픈AI 평가용 에이전트의 소행으로 지목했다. 공급망 방어는 '사람이 올린 악성 패키지'만 가정하면 늦는다.
포켓OS 삭제 소요 시간커서 · 클로드 오푸스 4.69초운영 DB + 백업
복구 가능한 최신 데이터백업이 같은 볼륨에 있었다3개월 전2026년 4월 사고
루비젬스 패키지 제출5월 11~12일2,000개+이틀간
6월 18일 집중 등록같은 연구진 집계83개3시간 안
영국 AISI 평가 중 미승인 행동이 나온 평가보안 평가 122회 중10회비승인 행동 총 19건
기계 계정 대 사람 계정업계 추정 범위17~100 : 1클라우드 네이티브는 100 초과
수치는 보도에 인용된 보고서·연구 결과 기준이다. 루비젬스 공격 주체는 독립 연구진의 분석이며, 오픈AI는 "에이전트들이 무해한 작업을 수행하고 공개 정보를 수집하기 위해 루비젬스를 이용했다"는 입장이다.
1왜 지금인가
넉 달 사이, 사고가 '사례'에서 '기록'이 됐다
에이전트 보안 이야기는 오래 가설이었다. 2026년 봄부터 달라졌다. 4월 미국 렌터카 운영관리 소프트웨어 기업 포켓OS에서 코딩 도구 커서가 자격증명 오류를 고치다 작업 대상 볼륨을 스테이징으로 잘못 알고 운영 데이터베이스와 백업을 통째로 지웠다. 삭제에 걸린 시간은 9초였다.
같은 봄, 오픈AI 내부에서 훈련·평가 중이던 에이전트들이 외부로 나갔다. 5월 루비 패키지 저장소 루비젬스에 악성 패키지를 대량으로 올렸고, 7월에는 AI 플랫폼 허깅페이스의 클러스터와 소스코드 저장소, 자격증명에 접근했다. 오픈AI는 8월 26일(현지) 사후 분석을 냈고, 9월 11일에는 독립 연구진이 루비젬스 공격도 같은 에이전트들의 소행이라는 보고서를 공개했다.
운영 사고 한 건, 외부 공격 두 건, 그리고 목록 개정2026년 4~9월 · 자료: 보도 종합
가로 막대는 사건이 벌어진 기간, 짧은 막대는 특정일이다. 포켓OS 사고는 '4월'까지만 보도돼 달 전체로 표시했다. 레플릿 에이전트가 사스트르의 운영 DB를 지운 사고(2025년 7월)는 이 기간 밖이라 넣지 않았다.
9월에는 웹 보안 표준 단체 OWASP가 LLM 애플리케이션 10대 취약점 목록을 개정하면서 처음으로 실제 사고 데이터를 반영했다. 그 결과가 맨 위 도판이다. 프롬프트 인젝션과 민감정보 노출은 자리를 지켰고, 에이전트에게 필요 이상의 권한·도구·자율성을 주는 '과도한 에이전시'가 6위에서 3위로 올라왔다.
시스디그의 크리스털 모린 수석 전략가는 이 변화를 이렇게 요약했다. "LLM은 텍스트를 생성하는 단계에서 실제 권한과 도구 접근권을 갖고 영향 반경이 큰 작업을 실행하는 단계로 진화했다."
2사고 유형
사고는 다섯 갈래로 난다
보도된 사고를 원인별로 나누면 다섯 유형이다. 실제 사고는 둘 이상이 겹친다 — 포켓OS는 과도한 권한과 자격증명 혼선이, 허깅페이스는 공급망 오염과 에이전트 간 연쇄가 함께 있었다. 좌우 화살표 키로도 넘길 수 있다.
무엇이 문제인가
에이전트가 할 일보다 훨씬 큰 권한을 받는다. 스테이징 작업에 운영 볼륨까지 지울 수 있는 키가 쥐여지면, 판단 한 번의 착오가 복구 불가능한 명령이 된다.
실제 사례
포켓OS(2026년 4월) — 커서가 볼륨을 스테이징으로 오인해 운영 DB와 백업을 삭제. 사스트르(2025년 7월) — 레플릿 에이전트가 코드 프리즈 기간 중 운영 DB를 지우고 복구가 불가능하다고 잘못 주장했다.
막는 것
삭제·스키마 변경 권한을 에이전트 계정에서 아예 빼는 것. "지우지 마"라는 프롬프트가 아니다.
무엇이 문제인가
API 키·토큰 같은 기계 계정은 사람 계정보다 수십 배 많은데 만료일도, 만든 사람도, 권한 기록도 없는 경우가 흔하다. 공격자는 문을 부수지 않고 떨어진 열쇠를 줍는다.
실제 사례
에이전트 연동용 MCP 설정 파일에 API 키를 평문으로 적어 공개 저장소에 올리는 사고가 보고됐다. 공개 저장소의 에이전트 세션 로그에서 자격증명 182개와 개인정보 367건이 발견됐다는 연구도 나왔다.
막는 것
비밀 관리 도구로 한곳에 모으고, 에이전트 전용 키에 짧은 수명과 자동 교체를 건다. 조회용 키에 쓰기 권한이 붙어 있지 않은지 확인한다.
무엇이 문제인가
에이전트는 필요한 패키지·MCP 서버·모델을 스스로 내려받는다. 저장소에 올라온 악성 패키지가 그대로 빌드와 실행 환경으로 들어온다.
실제 사례
루비젬스(2026년 5월) — 이틀간 2,000개 넘는 패키지가 올라왔다. 연구진에 따르면 악성 패키지 등록 → 문서 생성 요청으로 루비독 서버에서 원격 코드 실행 → 빌드 스크립트로 자료 수집 → 다시 패키지로 묶어 반출하는 네 단계였다. 신규 가입이 나흘간 중단됐다.
막는 것
새 패키지는 게시일·게시자·다운로드 수를 확인하고 허용 목록에서만 설치하게 한다. OWASP 목록에서 공급망은 4위로 한 계단 내렸지만, 공격 주체가 바뀌었다는 점이 더 중요하다.
무엇이 문제인가
에이전트가 읽는 웹페이지·이슈·문서·이메일 안에 숨은 지시를 사용자의 명령처럼 따른다. 사용자가 직접 입력하지 않아도 공격이 들어오는 간접 인젝션이 에이전트 시대의 주 경로다.
순위
OWASP 개정판에서도 1위를 지켰다. 모델을 바꿔도 완전히 막을 방법이 없다는 것이 업계의 공통된 전제다.
막는 것
외부 콘텐츠를 읽는 단계와 쓰기·전송 도구를 쓰는 단계를 분리한다. 외부 문서를 읽은 세션에서는 메일 발송·결제·삭제 도구를 잠근다.
무엇이 문제인가
여러 에이전트가 함께 일하면 한 에이전트의 착오나 우회가 다른 에이전트로 번진다. 사람이 한 에이전트만 감시하면 전체 흐름을 놓친다.
실제 사례
허깅페이스(2026년 7월) — 오픈AI 평가용 에이전트들이 역할을 나눠 데이터 처리 인프라를 공격했고, 보도에 따르면 에이전트들이 비밀 게시판을 만들어 정보를 공유했다. 한 에이전트가 찾아낸 접속 자격증명이 다음 단계의 발판이 됐다.
막는 것
에이전트마다 따로 된 계정과 권한을 주고, 에이전트끼리 주고받는 메시지와 도구 호출도 로그로 남긴다. 자격증명을 에이전트 사이에 넘기지 못하게 한다.
3최소 권한 설계
읽기·쓰기·삭제를 환경별로 가른다
원칙은 하나다. 에이전트가 할 수 없는 일은 프롬프트가 아니라 계정이 막아야 한다. 포켓OS 사고에서 에이전트는 '스테이징'이라고 믿고 명령을 냈다. 그 믿음이 틀려도 운영 볼륨 삭제 권한이 계정에 없었다면 명령은 실패로 끝났을 것이다.
아래 표는 보도에 나온 전문가 권고(최소 권한, 파급력 큰 작업의 사람 승인)를 환경별로 풀어 쓴 권장 패턴이다. 조직 규모에 따라 조정하되, 운영 환경 칸의 '차단'만은 줄이지 않는 것이 좋다.
작업
개발
스테이징
운영
읽기
허용
허용
읽기 전용 복제본원본 DB 직접 연결 금지
쓰기
허용
허용
사람 승인변경 내용 미리보기 후
삭제·스키마 변경
허용
사람 승인
차단에이전트 계정에 권한 없음
백업 저장소
읽기만
접근 불가
접근 불가다른 계정·다른 볼륨
결제·외부 발송
차단
사람 승인
사람 승인금액·수신자 한도
자격증명
에이전트 전용
에이전트 전용
단기 토큰작업 단위 발급·자동 만료
표에서 가장 자주 빠지는 줄은 자격증명이다. 개발자가 자기 계정의 키를 에이전트 설정에 그대로 넣으면, 에이전트는 그 사람이 할 수 있는 모든 일을 할 수 있다. 그리고 그런 키는 생각보다 많다.
사람 계정 하나에 기계 계정이 17개에서 100개 넘게 붙는다사람 계정 1개당 기계 계정 수 · 업계 추정 범위
기계 계정(Non-Human Identity)은 API 키·토큰·서비스 계정을 말한다. 세 값은 조사 기관마다 다른 추정치를 보안뉴스가 범위로 소개한 것이며, 한 조직의 실측값이 아니다. 에이전트가 늘수록 이 비율은 커진다.
4백업과 로그
지워진 뒤에 무엇이 남는가
권한 설계가 사고를 막는 벽이라면, 백업과 로그는 벽이 뚫렸을 때 얼마나 되돌릴 수 있는지를 정한다. 포켓OS의 결정적 실수는 백업이 운영 데이터와 같은 볼륨에 있었다는 점이다. 에이전트가 볼륨을 지우자 백업도 같이 사라졌고, 남은 것은 3개월 전 사본이었다.
아래 계산기는 내 서비스의 백업 구성에서 최악의 경우 몇 날치 데이터를 잃는지를 따져 본다. 백업이 운영과 같은 곳(같은 볼륨이거나, 운영 계정으로 지울 수 있는 곳)에 있으면 백업은 없는 것으로 친다.
같은 볼륨·같은 계정분리 보관
에이전트가 운영 볼륨을 지우면 최대 손실
잃는 기록약 90,000건
백업도 함께 지워지나예
복구 기준점분리 보관 사본
기본값(하루 백업 · 같은 볼륨 · 분리 사본 90일)은 포켓OS 사고의 구조를 흉내 낸 가정값이다. 계산은 '분리 보관이면 운영 백업 주기, 같은 곳이면 분리 사본 주기'를 최대 손실 기간으로 두는 단순 모형이며, 로그 복제·시점 복구(PITR) 같은 장치는 반영하지 않았다.
무엇을 남겨야 사후에 복원할 수 있나
로그는 "무슨 일이 있었나"와 "누가 승인했나"를 답할 수 있어야 한다. 에이전트가 자기 로그를 지울 수 있다면 그 로그는 증거가 되지 못한다.
남길 것
왜 필요한가
도구 호출 원문
실행된 명령·쿼리·API 요청과 인자. 포켓OS처럼 '어느 볼륨을 지웠나'를 되짚는 출발점결과 코드와 소요 시간 포함
사용한 자격증명
어떤 키로 실행됐는지. 키 값이 아니라 키 식별자만 기록로그에 비밀값이 새지 않게
대상 환경
개발·스테이징·운영 중 어디였는지 — 에이전트의 '믿음'이 아니라 시스템이 판정한 값
읽은 외부 콘텐츠
세션이 참조한 URL·문서·이슈. 프롬프트 인젝션 경로를 추적할 때 필요
사람 승인 기록
누가, 언제, 어떤 미리보기를 보고 승인했나. 책임 소재 논의의 근거
에이전트 간 메시지
여러 에이전트가 협업할 때 서로 넘긴 지시와 자료
보관 위치
에이전트 계정으로 쓰기만 되고 수정·삭제는 안 되는 저장소추가 전용(append-only)
5AI 기본법과 겹쳐 보기
안전성·신뢰성·투명성을 운영 통제로 옮기면
「인공지능 발전과 신뢰 기반 조성 등에 관한 기본법」(AI 기본법)은 2026년 1월 22일 시행됐고, 개정된 일부 내용은 7월 21일부터 적용됐다. 법은 생성형·고영향 AI의 투명성 확보와, 고영향 AI 사업자의 위험관리·이용자 보호·설명·문서화 같은 안전성·신뢰성 조치를 요구한다.
짚어 둘 점이 있다. 사내에서 코딩 에이전트를 쓰는 모든 기업이 이 법의 직접 의무 대상은 아니다. 다만 에이전트를 제품에 넣어 고객에게 제공하거나, 고영향 영역에서 쓰는 순간 이야기가 달라진다. 아래는 법의 세 원칙을 에이전트 운영 통제로 옮겨 본 실무 준비용 대응표이며, 법률 자문이 아니다. 제목을 누르면 펼쳐진다.
1안전성 — 되돌릴 수 없는 작업을 구조적으로 막는다+
법이 고영향 AI 사업자에게 요구하는 위험관리 방안을 에이전트에 옮기면, 파급력 큰 작업의 목록을 만들고 각각을 권한으로 막는 일이 된다. 3장의 권한 표, 결제·삭제 같은 작업의 사람 승인, 백업 분리 보관이 여기에 해당한다.
점검 질문: "에이전트가 최악의 판단을 했을 때, 되돌릴 수 없는 결과가 나오는 명령이 하나라도 실행 가능한가?"
2신뢰성 — 같은 조건에서 같은 통제가 작동한다는 기록+
문서 작성과 이용자 보호 조치는 "통제가 있다"가 아니라 "통제가 작동했다"를 보여 줄 수 있어야 한다. 4장의 로그 일곱 가지, 권한 변경 이력, 정기 복구 훈련 기록이 그 근거가 된다.
점검 질문: "지난달 에이전트가 운영 환경에서 실행한 쓰기 작업을 누가 승인했는지 1시간 안에 뽑을 수 있는가?"
3투명성 — 에이전트가 한 일을 사람이 알 수 있게 한다+
법의 투명성 조항은 주로 생성형 AI 산출물 표시와 이용자 고지에 관한 것이다. 에이전트 운영으로 옮기면 에이전트가 만든 커밋·메시지·거래에 표시를 남기고, 에이전트가 고객 응대에 나설 때 AI임을 알리는 일이다.
점검 질문: "우리 저장소의 커밋 중 에이전트가 작성한 것을 구분할 수 있는가?"
4책임 소재 — 계약서에 먼저 적어 둔다+
사고가 나면 에이전트 개발사, 도입 기업, 작업을 승인한 담당자 중 누구 책임인지는 아직 정리되지 않았다. 디지털데일리 보도에 따르면 상당수 벤더 계약은 AI 오류로 인한 손해에 공급사 책임을 폭넓게 면제하는 조항을 두고 있어, 계약서에 명시하지 않으면 책임이 도입 기업 쪽으로 넘어갈 수 있다.
점검 질문: "지금 쓰는 에이전트 도구의 약관에서 데이터 손실 책임 조항을 읽어 본 사람이 있는가?"
6지금 점검할 7가지
회사에서도, 개인 PC에서도 같은 일곱 줄
규모가 달라도 원리는 같다. 개인 PC에서 코딩 에이전트를 쓸 때도 에이전트가 여는 폴더가 곧 권한이고, 설정 파일에 적어 둔 키가 곧 자격증명이다. 체크하면서 내려가 보자.
확인 0 / 7 · 체크 상태는 이 브라우저에만 저장된다.
일곱 줄 중 가장 싸고 효과가 큰 것은 3번이다. 권한 설계는 시간이 걸리지만 백업을 다른 계정으로 옮기는 일은 오늘 할 수 있다. 포켓OS의 9초가 3개월치 손실이 된 이유가 바로 거기 있었다.