기술 설명
2026년 6월 5일, Miasma 공급망 웜(위협 클러스터 TeamPCP에 귀속)이 npm 패키지 중독에서 직접 GitHub 저장소 침투로 전환했다. 이전에 손상된 기여자 자격증명을 사용하여 공격자는 Azure/durabletask에 커밋을 푸시했는데, 이는 4개의 개발자 도구에 걸쳐 4.6 MB 자격증명 수집 페이로드를 터뜨리도록 설계된 5개의 구성 파일을 추가했다. 페이로드는 다음을 실행한다: (1) Claude Code의 .claude/settings.json SessionStart 훅을 통해, (2) Gemini CLI의 .gemini/settings.json을 통해, (3) Cursor AI에 '프로젝트 초기화'를 지시하는 .cursor/rules/setup.mdc 프롬프트 인젝션을 통해, (4) VS Code의 .vscode/tasks.json folderOpen 작업을 통해. GitHub의 자동화된 적용 조치가 105초 내에 Azure, Azure-Samples, Microsoft, 및 MicrosoftDocs 조직 전체의 73개 저장소를 비활성화했다.
공격 경로
공격자는 기여자의 GitHub 자격증명(5월 19일 PyPI 공격에서 사용된 동일한 계정)을 손상시키고, 신뢰받는 저장소에 AI 코딩 에이전트 구성 파일을 추가하는 커밋을 푸시한다. 개발자가 저장소를 클론하고 AI 코딩 도구에서 열면, SessionStart 훅 또는 프롬프트 인젝션이 수집기 페이로드의 자동 실행을 트리거한다 — 저장소를 여는 것 이상의 사용자 상호작용은 필요하지 않다. 공격이 공급망 악성코드를 '패키지 설치 시 실행'에서 '폴더 열기 시 실행'으로 전환하여, 모든 기존 패키지 관리자 중심 방어를 우회한다.
영향받는 시스템
Claude Code(clauder/settings.json의 SessionStart 훅을 통해), Gemini CLI(.gemini/settings.json을 통해), Cursor(.cursor/rules/*.mdc 프롬프트 인젝션을 통해), VS Code(.vscode/tasks.json의 folderOpen 작업을 통해). 페이로드는 AWS, Azure, GCP, Kubernetes, npm, GitHub PAT, HashiCorp Vault, 및 90+ 개발자 도구 구성의 자격증명을 수집한다. 6월 5일 16:00 UTC와 GitHub의 자동화된 제거 16:02:35 UTC 사이에 영향을 받은 저장소를 AI 코딩 에이전트에서 열었던 개발자는 모든 환경 자격증명을 손상된 것으로 간주해야 한다.
완화 방안
즉시 조치: 영향을 받은 저장소를 AI 코딩 에이전트에서 열었던 모든 워크스테이션의 모든 클라우드 및 개발자 자격증명을 순환시킨다. 클론된 저장소의 .claude/settings.json, .gemini/settings.json, .cursor/rules/, 및 .vscode/tasks.json 파일에서 예상치 못한 SessionStart 훅 또는 자동 실행 작업이 있는지 AI 에이전트에서 열기 전에 감사한다. 예방 조치: Claude Code, Cursor, 및 Gemini CLI를 구성하여 SessionStart 또는 프로젝트 설정 훅을 실행하기 전에 명시적 사용자 확인을 요구하도록 한다. Git 커밋 서명 정책을 구현하고 기여자 계정의 서명되지 않은 커밋을 모니터링한다. AI 코딩 에이전트 구성 파일을 코드 검토에서 권한 있는 공격 면으로 취급한다.