AI가 운전대를 잡다: 해킹에서 인간이 필요 없어지는 시점
요약
AI가 단순한 보조 도구를 넘어 스스로 판단하고 행동하는 '자율 운영자(autonomous operator)'로 진화하고 있습니다. 특히 LLM 에이전트가 침투 이후의 모든 단계를 자율적으로 수행하며 공격을 주도하는 새로운 위협 양상을 분석합니다.
핵심 포인트
- AI의 역할이 도구에서 자율 운영자, 공격 표면으로 진화 중
- LLM 에이전트가 침투 후 단계를 자율적으로 수행하는 사례 발생
- 인간의 개입 없는 실시간 판단 및 행동 결정이 핵심 위협
- AI 출력물에 대한 신뢰를 악용하는 새로운 공격 표면 등장
— AI가 해킹 도구(tool)를 넘어 스스로 결정하고 행동하는 자율 운영자(autonomous operator)로 진화하고 있습니다. 현장 분석 보고서입니다.
지난 2년 동안 "공격 보안(offensive security)에서의 AI"는 주로 한 가지를 의미했습니다. 바로 '더 빠른 인간'이었습니다. 공격자들은 대규모 언어 모델(Large Language Models, LLM)을 사용하여 피싱 이메일을 작성하고, 악성코드(malware) 초안을 잡거나, 미끼 문구를 번역하고, 탈취한 데이터를 요약했습니다. 모델은 전동 공구와 같았습니다. 하지만 여전히 인간이 그 공구를 쥐고 있었습니다.
2026년 5월 말에 공개된 일련의 사건들은 이러한 가정을 조용히 깨뜨렸습니다. 적어도 한 가지 사례에서는 인간이 운전대를 놓았음에도 불구하고, 공격은 계속해서 주행했습니다.
저는 독립적인 OSINT(Open Source Intelligence) 기반의 CTI(Cyber Threat Intelligence) 아카이브(TLP:GREEN)를 발행하고 있으며, 지난 한 주 동안 4개 언어로 된 5개의 보고서를 발표했습니다. 이 보고서들을 함께 읽어보면 동일한 궤적을 그립니다. AI는 타겟을 겨냥하는 도구에서, 스스로 타겟의 자물쇠를 따는 운영자(operator)로 이동하고 있습니다. 다음은 현장의 관점입니다.
스펙트럼: 도구(tool) → 운영자(operator) → 공격 표면(attack surface)
침입 과정에서 AI의 역할을 스위치(on/off)가 아닌 스펙트럼으로 생각하는 것이 도움이 됩니다.
- 도구로서의 AI (AI as a tool) — 모델이 인간이 실행하는 공격(피싱 문구 작성, 악성코드 스캐폴딩(scaffolding), 크립토재킹(cryptojacking) 자동화)을 가속화합니다. 판단은 여전히 인간이 내립니다.
- 자율 운영자로서의 AI (AI as an autonomous operator) — 모델이 실시간 출력을 해석하고 인간의 개입(human in the loop) 없이 다음 행동을 결정합니다. 판단은 모델이 내립니다.
- 공격 표면으로서의 AI (AI as an attack surface) — 사용자가 AI 출력물에 부여하는 '신뢰' 자체가 악용되는 대상이 됩니다. 모델은 피해자의 사각지대가 됩니다.
2026년 헤드라인의 대부분은 여전히 첫 번째 범주에 머물러 있습니다. 이번 사례들이 주목할 만한 이유는 세 가지 범주 모두를 아우르고 있으며, 두 번째 범주에 해당하는 최초의 신뢰할 수 있는 공개 사례를 포함하고 있기 때문입니다.
1. Marimo: 최초의 AI 에이전트 주도 침입
이것이 핵심입니다. Sysdig의 위협 연구 팀(Threat Research Team)은 대규모 언어 모델 (LLM) 에이전트가 침투 이후의 모든 단계(post-exploitation phase)를 자율적으로 수행한 침입 사례를 기록했으며, 이를 그들이 기록한 최초의 "AI 에이전트 주도" 침입이라고 설명했습니다.
침투 지점은 인터넷에 노출된 Marimo 노트북의 사전 인증된 RCE(CVE-2026-39987, CVSS 9.3, 현재 CISA KEV 목록에 등재됨)였습니다. 이 결함은 당혹스러울 정도로 명확합니다. /terminal/ws WebSocket 엔드포인트가 동일한 계열의 다른 엔드포인트들이 수행하는 인증 검증을 건너뛰기 때문에, 인증되지 않은 단 한 번의 요청만으로 전체 PTY 셸(shell)을 얻을 수 있습니다.
셸을 획득한 이후에 벌어진 일이 핵심입니다. LLM 에이전트는 다음과 같은 4단계 피벗(pivot)을 수행했습니다.
- 호스트에서 두 개의 클라우드 자격 증명(credentials)을 수집합니다.
- Cloudflare Workers의 팬아웃 이그레스 풀(fan-out egress pool)을 통해 이를 재사용(replay)한 다음, AWS Secrets Manager에서 SSH 개인 키를 가져옵니다.
- 하위 배스천(bastion) 호스트로 8개의 병렬 SSH 세션을 엽니다.
- 2분 이내에 내부 PostgreSQL 데이터베이스의 스키마(schema)와 콘텐츠를 모두 덤프(dump)합니다.
초기 접근부터 데이터 유출(exfiltration)에 이르는 전체 체인이 1시간 이내에 완료되었습니다. 에이전트는 각 명령의 출력값에 따라 분기(branch)하고, 컨텍스트(context)를 유지하면서 실패한 경로를 재시도했으며, 필요한 정확한 비밀 정보를 선택했습니다. 이는 인간 수준의 판단력과 기계 수준의 속도가 결합된 형태입니다.
방어자들에게 주는 불편한 시사점은 다음과 같습니다. 패치는 _진입(entry)_을 차단할 뿐, _운영 속도(operating speed)_를 차단하지 못합니다. 2분 미만에 이루어지는 데이터베이스 덤프는 구조적으로 일반적인 인간 SOC(Security Operations Center)의 대응 시간보다 빠릅니다. 대응의 단위가 분(minutes)에서 초(seconds)로 이동하게 됩니다.
2. ChatGPhish: AI의 신뢰가 페이로드(payload)가 될 때
Marimo가 "운영자로서의 AI"라면, Permiso Security가 공개한 ChatGPhish는 "공격 표면(attack surface)으로서의 AI"입니다. 그리고 이는 코드 실행이 전혀 필요하지 않습니다.
그 메커니즘은 렌더러 신뢰 격차(renderer trust gap)를 통한 간접 프롬프트 주입(indirect prompt injection)입니다. 사용자가 ChatGPT에게 웹 페이지를 요약해 달라고 요청할 때, chatgpt.com 렌더러는 해당 신뢰할 수 없는 제3자 페이지에서 넘어온 Markdown 링크와 이미지를 마치 어시스턴트(assistant) 자신의 출력물인 것처럼 신뢰합니다. 렌더러는 이미지를 자동으로 가져오고(auto-fetches), 링크를 신뢰할 수 있는 UI 내부에서 활성화된 클릭 가능한 요소로 렌더링합니다.
이는 세 가지 기본 공격 요소(primitives)를 생성합니다: ChatGPT 자신의 답변처럼 보이는 UI-위장(UI-redress) 피싱 링크, 어시스턴트의 시각적 신뢰를 도용한 가짜 "계정 보안" 경고, 그리고 모든 데스크톱 URL 방어 체계를 우회하는 공격자의 버킷(bucket)에서 렌더링된 QR 코드 피벗(QR-code pivot, 목적지는 사용자가 두 번째 기기에서 스캔한 후에만 확인됨)입니다. 심지어 자동으로 가져온 이미지만으로도 피해자의 IP, User-Agent, 그리고 Referer 정보가 유출됩니다.
메모리 오염(memory corruption)도, 권한 상승(privilege escalation)도 필요하지 않습니다. _모델이 자신의 출력물과 외부 콘텐츠를 구분할 수 없다_는 단 하나의 사실만으로 피싱, 정찰(reconnaissance), 그리고 디바이스 피벗(device pivot)을 가능하게 하기에 충분합니다. 공개 시점을 기준으로 벤더(vendor) 측은 "재현할 수 없다"고 답변했으므로, 이를 현재 진행 중인 위협(live)으로 간주하십시오.
이 교훈은 단일 제품을 넘어 보편적으로 적용됩니다: AI 출력물은 신뢰의 끝이 아니라, 검증의 시작이어야 합니다.
3. JINX-0164: AI 시대의 엔드 투 엔드(end to end) 신뢰 체인
JINX-0164(Wiz가 명명)는 적어도 2025년 중반부터 macOS를 사용하는 암호화폐 관련 조직을 겨냥해 온 금전적 목적의 클러스터(cluster)입니다. 이들의 킬 체인(kill chain)은 개발자가 의존하는 모든 신뢰 관계를 훑는 투어와 같습니다:
- LinkedIn "채용 담당자"가 유대감을 형성한 뒤, 가짜 회의 링크를 보냅니다.
- 피해자는
coreaudiod로 위장한 macOS RAT(Remote Access Trojan)를 설치합니다 (ChromeUpdater로 저장되었으며,launchctl을 통해 지속성을 유지함) — 이는 Python 기반의 정보 탈취 도구(infostealer)인AUDIOFIX와 Go 언어 기반의 백도어(backdoor)인MINIRAT의 조합입니다. - 공격자는 이후 개발자의 노트북을 최종 목적지가 아닌 도약판으로 삼아, **CI/CD 및 코드 배포 인프라 (CI/CD and code-distribution infrastructure)**로 측면 이동(lateral movement)합니다.
- 또한 npm 패키지인
@velora-dex/sdk를 트로이 목마화(trojanized)했습니다 (dist/index.js에 3줄의 코드가 추가되었으며, 임포트(import) 시 MINIRAT를 전달하는 셸 스크립트를 가져옵니다).
이러한 TTPs(전술, 기법, 절차)는 북한 관련 클러스터(BlueNoroff, Contagious Interview, UNC1069)와 겹치지만, Wiz는 인프라의 중복성을 발견하지 못했으며 국가 배후 공격(state attribution)으로 단정 짓지는 않았습니다. 그 모호함 자체가 하나의 신호입니다. 북한의 공격 기술(tradecraft)이 상업화되고 모방됨에 따라, "누가 했는가"보다 "어떤 신뢰 관계가 악용되었는가"가 더 중요해지고 있습니다 — 즉, 채용에 대한 신뢰, 패키지에 대한 신뢰, 개발 인프라에 대한 신뢰입니다.
4. Gogs: 여전히 승리하고 있는 구식 결함
모든 위협이 이국적인 것은 아니며, Gogs는 이를 상기시켜 주는 사례입니다. Rapid7는 셀프 호스팅 Git 서비스의 "병합 전 리베이스(Rebase before merging)" 작업에서 인증되지 않은 상태에서 RCE(원격 코드 실행)로 이어지는 체인(그들의 등급: CVSS 9.4, 아직 CVE 미발급)을 공개했습니다. 악성 브랜치 이름을 통해 git rebase에 --exec 플래그를 주입하여 서버에서 임의의 셸 명령을 실행하는 방식입니다. 인증된 사용자라면 누구나 이를 수행할 수 있습니다. 기본 설치 상태에서는 사용자가 등록하고, 저장소(repo)를 생성하고, 설정 하나를 변경하는 것만으로 단독으로 시스템을 장악할 수 있으며, 다른 모든 사용자의 비공개 저장소에 대한 교차 테넌트(cross-tenant) 접근 권한까지 얻게 됩니다.
이 문제는 2026-03-17에 유지 관리자에게 보고되었으나 여전히 패치되지 않은 상태이며, Linux 및 Windows를 대상으로 이 모든 과정을 자동화하는 공개 Metasploit 모듈이 존재합니다. 약 1,141개의 인스턴스가 인터넷에 직접 노출되어 있습니다.
이는 전형적인 인자 주입 (Argument Injection) 사례입니다. 셸 인자 (Shell argument)에서 사용자 입력을 신뢰한 결과입니다. 이 사례가 이 목록에 포함된 이유는 다음과 같습니다: 자체 호스팅되는 Git은 소스 코드, 배포 키 (Deploy keys), 그리고 CI 토큰 (CI tokens)에 대한 유일한 신뢰 앵커 (Trust anchor)이기 때문입니다. 공급망 우선 공격자 (Supply-chain-first attackers, 위의 JINX 참조)의 시대에, 패치되지 않은 Git 서버는 교두보가 됩니다. 패치가 나올 때까지의 임시 완화 조치로는 app.ini에서 DISABLE_REGISTRATION = true 및 MAX_CREATION_LIMIT = 0을 설정하고, 인터넷 노출을 제거하는 방법이 있습니다.
5. KelpDAO LayerZero 브리지 해킹: 오프체인 단일 장애점 (Single point of failure)
Web3 사례가 전체 그림을 완성합니다. KelpDAO LayerZero 브리지 침해 사고는 크로스체인 (Cross-chain) 보안이 모두가 감사하는 스마트 컨트랙트 (Smart contracts)에서 실패하는 것이 아니라, 이를 조용히 뒷받침하는 **오프체인 검증 인프라 (Off-chain verification infrastructure)**에서 어떻게 실패하는지를 보여주는 연구 사례입니다.
브리지의 무결성이 오프체인 검증기(Relayer, Oracle, Signing service 등)에 의존할 때, 해당 구성 요소는 단일 장애점 (Single point of failure)이 됩니다. 이를 침해하면 온체인 익스플로잇 (On-chain exploit) 없이도 자산 탈취로 직결됩니다. 이는 이 목록의 나머지 사례들과 동일한 구조적 테마를 공유합니다. 가장 위험한 의존성은 분석용 노트북, AI 렌더러, npm 패키지, Git 서버, 또는 오프체인 검증기이든 간에, 아무도 감시하지 않는 신뢰받는 구성 요소입니다.
관통하는 핵심 원리 (The through-line)
다섯 가지 사례를 나란히 놓고 보면 패턴을 놓치기 어렵습니다. 그중 네 가지는 **신뢰 (Trust)**에 관한 것입니다. 즉, 우리가 AI 출력물, 채용 담당자, 패키지, 자체 호스팅 인프라, 그리고 오프체인 검증기에 부여하는 신뢰입니다. 나머지 하나인 Marimo는 새로운 변수를 추가합니다: 바로 **기계 속도의 자율성 (Autonomy at machine speed)**입니다.
이러한 조합이 2026년의 변곡점을 실질적으로 만드는 요소입니다. 우리는 AI가 공격자에게 더 빠른 펜 역할을 하던 세상을 떠나, AI가 공격자 그 자체가 되거나, 공격 표면 (Attack surface)이 되거나, 혹은 동일한 사고 내에서 이 두 가지 역할을 모두 수행하는 세상으로 진입하고 있습니다. 분산된 이그레스 (Distributed egress), 적응성 (Adaptiveness), 그리고 초 단위의 속도는 더 이상 고급 기술 (Advanced tradecraft)이 아니라, 위협의 기본 기능이 되어가고 있습니다.
저의 프레임워크(Framing)는 변하지 않았으며, 이번 배치는 이를 더욱 강화합니다: LLM (Large Language Model)은 스프레드시트이지, 신탁(Oracle)이 아닙니다. LLM은 도구로서 놀라울 정도로 강력하지만, 검증되지 않은 권위로 사용될 때는 재앙적입니다. 그리고 이것이 바로 공격자들이 현재 활동하고 있는 정확한 경계선입니다. 방어의 시작점은 대칭적입니다:
- 노출을 줄이고 자격 증명(Credentials)을 격리하여, _침투의 가치(Value of entry)_를 낮추십시오.
- 행동 기반의 런타임 탐지(Behavioral runtime detection)와 자동 격리(Automatic containment)를 추가하여, _작동 속도(Speed of operation)_가 여러분을 앞지르지 못하게 하십시오.
- 모든 AI 출력값과 모든 신뢰할 수 있는 종속성(Dependency)을 검증의 끝이 아닌, 검증의 시작으로 취급하십시오.
전체 보고서 읽기
이 다섯 가지 사례 각각은 심층적으로 작성되었으며(공격 체인, IOC, 탐지, 완화 조치, 그리고 한국 맥락에서의 평가 포함), TLP:GREEN으로 발행되어 영어, 한국어, 일본어, 중국어로 제공됩니다. 또한 이 아카이브는 DPRK(북한) 클러스터, 공급망 공격(Supply-chain attacks), AI/LLM 보안, Web3 사고 등 더 넓은 2026년 트렌드 라인을 추적합니다.
👉 전체 인덱스 및 보고서: CYBER-THREAT-INTELLIGENCE-REPORT (README, EN)
만약 여러분이 노출된 노트북(Notebooks), 셀프 호스팅 Git, 암호화 개발 파이프라인, 또는 AI 지원 연구 워크플로우를 운영하고 있다면, Marimo, Gogs, JINX-0164, ChatGPhish, 그리고 KelpDAO 분석 보고서부터 시작하는 것이 좋습니다.
독립적인 CTI (Cyber Threat Intelligence) 아카이브 · OSINT 기반 · TLP:GREEN. 피드백 및 수정 사항은 리포지토리의 Issues를 통해 환영합니다.
AI 자동 생성 콘텐츠
본 콘텐츠는 Dev.to AI tag의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기