GitHub, 미아스마 웜 공격 후 마이크로소프트 저장소 73개 삭제
출처: DevOps.com
소프트웨어 공급망이 지난 주에 또 한 번 타격을 받았습니다. 6월 5일, GitHub는 Miasma 웜이 네 개 조직(Azure, Azure‑Samples, Microsoft, MicrosoftDocs) 전반에 걸친 프로젝트에 침투한 뒤, Microsoft가 소유한 73개의 저장소를 비활성화했습니다.
GitHub의 자동화 시스템은 감염을 감지한 지 105초 만에 차단 조치를 취했으며, 이는 빠른 대응이었지만 이미 피해는 발생한 상태였습니다. 이번 공격은 이전에 탈취된 기여자 계정을 이용해 Azure/durabletask 저장소에 악성 커밋이 푸시되면서 시작되었습니다. 해당 커밋은 개발자가 IDE나 AI 코딩 도구에서 저장소를 열면 자격 증명을 수집하는 페이로드를 실행하는 구성 파일을 심었습니다.
이 마지막 세부 사항에 주목할 필요가 있습니다. 영향을 받은 도구로는 Claude Code, Gemini CLI, Cursor, VS Code 등이 있으며, 이 도구들은 수백만 개발자가 매일 사용합니다. 신뢰할 수 있는 환경에서 저장소를 열기만 해도 페이로드가 트리거되었습니다.
역사를 가진 웜
Miasma는 2026년 5월 중순에 TeamPCP라는 그룹이 공개한 Mini Shai‑Hulud 웜의 변종입니다. 원래 Shai‑Hulud는 2025년 9월에 npm 생태계에서 관찰된 최초의 자체 복제 악성코드로 등장했습니다. 이후 npm과 PyPI 전역으로 변이하면서, 과거에 Red Hat 패키지 32개와 TanStack, Mistral AI, UiPath의 패키지를 손상시켰습니다.
이번 공격은 Microsoft를 무작위로 노린 것이 아니었습니다. 동일한 탈취된 기여자 계정이 5월 PyPI 공격과 6월 GitHub 사건 모두에 사용됐으며, 페이로드도 매우 유사합니다. 누군가 목표를 정하고 두 번째 라운드로 돌아온 것입니다.
비활성화된 저장소 중에는 azure‑search‑openai‑demo, durabletask 라이브러리와 그 .NET, Go, Java, JavaScript, MSSQL 구현체, functions‑container‑action, llm‑fine‑tuning, windows‑driver‑docs 등이 포함됩니다. 이들은 사소한 사이드 프로젝트가 아니라, 개발 팀이 의존하는 인프라입니다.
실제 문제: 개발자 환경이 이제 공격 표면이 되다
전통적인 공급망 공격은 패키지를 목표로 합니다—무언가가 설치되고 악성 코드가 실행됩니다. Miasma는 접근 방식이 다릅니다. 직접적인 파급 범위는 클라우드 인프라 자체가 아니라 그 주변의 소프트웨어 팩토리, 즉 GitHub Actions 워크플로, Azure Functions 도구, Durable Task 라이브러리, 그리고 개발자 머신이었습니다.
전통적인 패키지 설치 훅에 의존하는 대신, Miasma는 개발자의 로컬 환경을 노립니다. 현대 IDE와 AI 코딩 어시스턴트에 내장된 합법적인 자동 실행, 훅, 규칙 엔진을 악용해 페이로드를 실행합니다.
이는 의미 있는 전환입니다. The Futurum Group의 소프트웨어 라이프사이클 엔지니어링 및 AI‑네이티브 소프트웨어 엔지니어링 담당 부사장 겸 실무 책임자 Mitch Ashley는 이를 이렇게 설명합니다: “소프트웨어의 신뢰 경계가 설치된 패키지에서 코드가 도구 안에서 열리는 행위로 이동했습니다. Miasma는 IDE와 AI 코딩 에이전트를 생산적으로 만드는 자동 실행 및 훅 엔진을 무기로 삼아, 개발자 환경을 실행 표면으로 전환합니다.”
Ashley는 진단에 머무르지 않습니다. “신뢰할 수 있는 저장소를 여는 행위가 더 이상 안전한 읽기 전용 작업이 아닙니다. 엔지니어링 팀은 이제 코딩 도구가 자동으로 실행할 수 있는 내용과, 하나의 계정이 탈취될 경우 보유한 자격 증명이 얼마나 퍼질 수 있는지를 관리해야 합니다.”
앞으로의 과제
공격자는 클라우드 플랫폼 및 개발자 도구에 대한 자격 증명을 수집한 뒤 이를 이용해 추가 저장소로 전파했습니다. 이러한 자체 복제 행동이 Miasma를 일반적인 침해와 구별시키는 핵심입니다. 발견을 기다리지 않고 스스로 움직입니다.
보안 및 DevOps 팀에게 이번 사건은 오래전부터 사실이었지만 이제는 무시하기 어려운 점을 다시 한번 강조합니다: 여러분의 소프트웨어를 작성하는 사람들 자체가 목표가 된다는 점입니다. 손상된 개발자 계정이나 탈취된 개인 액세스 토큰은 운영 코드의 취약점만큼이나 큰 피해를 입힐 수 있습니다.
Microsoft와 GitHub는 개발자 신뢰 경제의 중심에 있습니다. Miasma 공격은 전통적인 침입 형태보다 전염성에 가까운 공격에조차 이 중심이 노출될 수 있음을 일깨워 줍니다.
이번 차단은 빠르게 이루어졌습니다—105초는 실로 인상적입니다. 하지만 그 73개 저장소에 의존하던 팀에 미치는 하류 영향은 아직 평가 중입니다. 그리고 더 큰 질문은 GitHub가 얼마나 빨리 대응하느냐가 아니라, 조직이 신뢰된 소스를 무조건 안전하게 여기지 않는 개발 파이프라인을 어떻게 구축하느냐입니다.
이 작업은 가시성 확보에서 시작됩니다. 팀은 자신의 의존성 체인에 무엇이 들어 있는지, 누가 저장소에 접근할 수 있는지, 코드가 IDE에서 열릴 때 어떤 일이 발생하는지를 알아야 합니다. Miasma 공격은 소프트웨어 개발에 대한 위협 모델이 확장되었음을 보여주었습니다. 보안 팀도 그에 맞춰 확장해야 합니다.