
연구자 원문 분석에 따르면 Miasma 웜 캠페인은 지난 6월 5일 Microsoft의 Azure 관련 GitHub 조직으로 확산됐다. StepSecurity는 악성 커밋이 Azure/durabletask 저장소에 푸시된 뒤 GitHub가 Microsoft 관련 저장소 73곳을 비활성화했다고 밝혔다.
이번 공격은 기존 공급망 공격과 다른 지점을 겨냥했다. 패키지 설치 훅이나 배포 파이프라인이 아니라, 개발자가 저장소를 Claude Code, Gemini CLI, Cursor, VS Code 같은 도구에서 여는 순간 설정 파일이 자격증명 탈취 페이로드 실행을 유도하는 방식이다.
StepSecurity 분석에 따르면 문제의 커밋은 실제 소스코드 변경 없이 .claude, .gemini, .cursor, .vscode 설정과 4.6MB 규모의 난독화된 JavaScript 페이로드를 추가했다. 커밋 메시지에는 일반 코드 변경처럼 보이는 문구와 [skip ci] 표시가 포함됐고, 타임스탬프도 과거 시점으로 설정돼 있었다.
GitHub의 자동 차단은 6월 5일 16시 00분 50초부터 16시 02분 35초까지 UTC 기준 105초 동안 진행된 것으로 분석됐다. 비활성화된 저장소에는 Azure Functions 런타임, 언어별 워커, Durable Task SDK, OpenAI·MCP 관련 확장과 샘플 저장소 등이 포함됐다.
피해 범위는 저장소 차단에 그치지 않았다. StepSecurity는 Azure/functions-action 저장소가 비활성화되면서 해당 GitHub Action을 참조하던 CI/CD 워크플로가 즉시 실패했다고 설명했다. 이는 @v1 같은 가변 태그에 의존하는 배포 워크플로가 저장소 차단 상황에서 단일 장애 지점이 될 수 있음을 보여준다.
Microsoft 공식 보안 블로그는 앞서 Red Hat npm 범위에서 확인된 Miasma 캠페인을 분석하며, 공격자가 GitHub Actions OIDC와 SLSA 출처 증명 체계를 악용해 정상적인 신뢰 신호를 가진 악성 패키지를 배포했다고 설명했다. 이번 Microsoft 저장소 사건은 같은 계열의 위협이 패키지 레지스트리를 넘어 개발자 작업 환경과 AI 코딩 에이전트 설정까지 확장되는 흐름으로 읽힌다.
개발 조직에는 저장소를 열기 전 .claude, .gemini, .cursor, .vscode/tasks.json 같은 자동 실행 설정을 검토하는 절차가 필요해졌다. 보안 권고도 패키지 설치 명령을 조심하는 수준을 넘어, AI 코딩 도구가 프로젝트 설정을 어떻게 읽고 명령으로 전환하는지까지 포함해야 한다.
출처: StepSecurity 원문 분석 https://www.stepsecurity.io/blog/miasma-worm-hits-microsoft-again-azure-functions-action-and-72-other-repositories-disabled-after-supply-chain-attack-targeting-ai-coding-agents
Microsoft Security Blog https://www.microsoft.com/en-us/security/blog/2026/06/02/preinstall-persistence-inside-red-hat-npm-miasma-credential-stealing-campaign/









