지난주 팀 슬랙에 Cursor 단축키 공유 스레드가 올라왔다면, 이 소식을 같이 올려도 좋을 것 같다. 지니언스 시큐리티 센터가 공개한 위협 인텔리전스 보고서에 따르면, 북한 해킹 조직 김수키(Kimsuky)의 공격 환경에서 Cursor, Ollama, GPT4All 사용 흔적이 발견됐다. 우리 팀 개발 환경 목록과 거의 겹친다.
피싱 문서 제작에서 '공격 자동화 인프라'로
김수키는 그간 외교·안보 전문가를 겨냥한 스피어피싱으로 이름을 알린 조직이다. 악성 LNK 파일이 담긴 ZIP을 이메일에 첨부하고, 수신자가 실행하면 백그라운드에서 PowerShell 스크립트가 동작하는 전형적인 패턴이었다. AI를 쓴다는 건 알려져 있었지만, 주로 딥페이크 이미지나 피싱 미끼 문서 작성 정도에 그쳤다.
이번 분석이 다른 이유는 공격자가 AI를 단순 보조 도구가 아니라 자체 인프라로 구축했다는 점이다. 외부 클라우드 API를 쓰면 데이터가 남는다. 로컬 LLM은 흔적이 적고, 인터넷 연결 없이도 운용된다. 공격자가 Ollama와 GPT4All을 선택한 건 기능 때문이기도 하지만, 탐지 회피 때문이기도 하다. RAG 환경까지 구성했다는 건 탈취한 문서를 체계적으로 분석하고, 필요한 정보를 빠르게 추출하는 워크플로우를 갖췄다는 의미다.
Cursor로 공격 문서를 '편집'했다
AI 코딩 어시스턴트 Cursor의 사용 흔적도 확인됐다. 지니언스에 따르면 Cursor로 공격에 활용된 문서를 편집하고 생성 결과물을 검토한 것으로 보이는 기록이 다수 식별됐다. 공격자 입장에서 Cursor는 코드 생성과 문서 편집을 빠르게 처리하는 도구이고, 우리 팀이 쓰는 이유와 정확히 같다. 도구의 용도는 사용자가 결정하고, 도구는 묻지 않는다.
공격 결과물의 품질도 올라갔다. 기존에는 탈취한 실제 문서를 재활용했지만, 이번에는 가상자산·금융 분야 투자전략 보고서를 AI로 생성해 피싱 미끼로 썼다. 지니언스는 문체와 형식이 실제 업무 문서와 구분하기 어려울 정도라고 밝혔다. AI가 생성한 문서는 오탈자가 적고, 어색한 번역투가 없고, 맥락이 자연스럽다. 수신자 입장에서 의심할 단서가 줄었다는 뜻이다.
같은 날, Claude 설치 안내로 위장한 스틸러도 유포됐다
이와 별개로 보안업체 헌트리스(Huntress)는 Claude Code 설치법을 검색하다 악성코드에 감염된 사례를 공개했다. 공격 구조가 정교하다. 구글 검색 광고를 claude.ai 도메인 내 실제 공유 페이지로 연결한다. 페이지에는 "Apple Support가 공유함"이라는 배지가 붙어 있고, Anthropic의 안전 배너가 이를 그대로 노출한다. 도메인도 진짜, HTTPS 인증서도 진짜다. 의심할 시각적 단서가 없다.
페이지는 터미널에 단일 명령어를 붙여넣도록 안내한다. Base64로 인코딩된 명령어가 실행되면 공격자 서버에서 로더가 내려오고, 6단계 공격 체인이 시작된다. MacSync로 명명된 이 악성코드는 브라우저 쿠키, 키체인 정보, 가상자산 지갑 복구 문구, 텔레그램 세션까지 수집하고, 이후 원격 접근 도구를 심어 명령 실행과 화면 캡처까지 가능하게 만든다. 헌트리스는 ChatGPT와 Grok의 공유 대화를 이용한 유사 사례도 이전에 문서화한 바 있다고 밝혔다.
AI-First 팀이 지금 설계해야 할 것
두 사건을 나란히 보면 같은 구조가 보인다. 공격자도 AI-First 워크플로우를 구축하고 있고, AI 도구의 신뢰 구조 자체를 공격 표면으로 활용한다. 방어 측이 설계해야 할 것은 세 가지다.
첫째, 설치 경로를 공식 채널로 고정하라. Claude Code든, Cursor든, Ollama든 팀 내 허용 도구의 설치 경로를 문서화하고, 검색 광고나 공유 링크를 통한 설치를 명시적으로 금지해야 한다. 신입 온보딩 때 '구글에서 검색해서 설치하지 말 것'을 체크리스트에 넣는 것부터 시작할 수 있다.
둘째, 로컬 LLM 환경의 반입·반출 정책을 정해라. Ollama 같은 로컬 LLM은 데이터가 외부로 나가지 않는다는 점에서 보안 친화적인 선택지처럼 보인다. 맞는 말이다. 동시에 이번 사례가 보여주듯 공격자가 탐지 회피를 위해 같은 이유로 선택하는 도구이기도 하다. 팀이 로컬 LLM을 운용한다면 어떤 데이터를 어떤 모델에 넣을 수 있는지 기준이 있어야 한다.
셋째, '내용'보다 '실행 행위'를 탐지하라. 지니언스의 문종현 센터장이 강조한 지점이 여기다. AI가 생성한 피싱 문서는 내용으로 걸러내기 어렵다. 문체가 자연스럽고, 레이아웃이 정교하고, 오탈자가 없다. 대신 파일을 열었을 때 어떤 프로세스가 실행되는지, 어떤 네트워크 요청이 발생하는지를 잡아야 한다. EDR 기반 위협 헌팅이 필요한 이유가 여기에 있다.
AI 도구를 팀에 도입하는 속도와 보안 인식의 업데이트 속도가 같아야 한다. 공격자도 우리와 같은 도구를 쓰고, 우리보다 먼저 쓰기 시작했을 수도 있다. Cursor로 코드를 짜는 것과 Cursor가 공격 환경에서 발견됐다는 사실은 모순이 아니다. 그 둘을 같이 알고 있는 팀이 더 나은 판단을 한다.