• 보이지 않는 악성 코드가 151개 GitHub 저장소 및 VS Code 공격 — Glassworm 공격, 블록체인 이용해 토큰, 자격 증명, 비밀 정보 탈취

    공격자들은 주입 공격과 함께 설득력 있는 커버 커밋(cover commits)을 생성하기 위해 LLM을 사용하는 것으로 보입니다.

    article image

    아이키도 시큐리티(Aikido Security) 연구원들은 금요일(Friday), 유리웜(Glassworm) 위협 행위자에게 침해된 최소 151개의 GitHub 리포지토리를 발견했다고 보고했습니다. 이 위협 행위자는 인간의 눈에 보이지 않는 유니코드 문자에 악성 페이로드를 숨기는 방식을 사용합니다. 아이키도 시큐리티 블로그에 따르면, 해당 리포지토리는 3월 3일부터 3월 9일 사이에 침해되었으며, 이 캠페인은 이후 npm과 VS Code 마켓플레이스까지 확산되었습니다.

    DLSS를 이용한 CPU 스케일링

    이 기술은 유니코드 Private Use Area 문자인 0xFE00부터 0xFE0F와 0xE0100부터 0xE01EF 범위를 악용합니다. 이 문자는 거의 모든 코드 에디터와 터미널에서 제로폭 공백(zero-width whitespace)으로 렌더링되어, 풀 리퀘스트를 검토하는 개발자에게는 단순히 빈 공간처럼 보입니다. 한편, 작은 디코더가 이 숨겨진 바이트들을 추출하여 eval() 함수로 전달함으로써 완전한 악성 페이로드를 실행합니다.

    과거 유리웜 사건들에서 이 페이로드는 솔라나 블록체인(Solana blockchain)을 명령 및 제어(C2) 채널로 활용하여 2단계 스크립트를 가져와 실행함으로써 토큰, 자격 증명(credentials), 비밀 정보(secrets)를 탈취하는 것이 가능했습니다.

    article image

    노트패드++ 업데이트 서버 표적 공격으로 탈취

    지속적인 악성 코드 웜인 캐니스터웜(CanisterWorm)은 특정한 이유 없이 시간대를 이용해 이란의 장치들을 식별하고 삭제하는 행위를 보였습니다.

    아이키도는 확인된 151개 리포지토리가 전체 규모의 일부일 가능성이 높다고 분석합니다. 그 이유는 연구가 공개되기 전에 이미 많은 리포지토리들이 삭제되었기 때문입니다. 주목할 만한 표적에는 Wasmer, Reworm, 그리고 OpenCode 및 SST를 개발한 조직 anomalyco의 리포지토리들이 포함됩니다. 동일한 디코더 패턴은 또한 3월 12일에 업로드된 최소 두 개의 npm 패키지와 하나의 VS Code 확장 프로그램에서도 발견되었습니다.

    안타깝게도, 이번 가장 최근의 유리웜 캠페인은 악성 주입의 정교함 덕분에 이전 사례보다 방어가 더 어렵습니다. 단순하게 의심스러운 커밋 형태로 나타나지 않고, "각 표적 프로젝트와 스타일적으로 일치하는" 버전 번호 올림(version bumps)이나 작은 리팩토링 형태로 위장하고 있기 때문입니다. 아이키도는 공격자들이 이러한 위장(cover)을 생성하기 위해 대규모 언어 모델(large language models)을 이용했을 것이라고 추정합니다. 그렇지 않다면 151개의 개별적인 코드 변경 사항을 여러 코드베이스에 걸쳐 수동으로 만드는 것은 현실적으로 불가능하기 때문입니다.

    유리웜은 아이키도가 악성 npm 패키지에서 눈에 보이지 않는 유니코드 기술을 처음 발견한 2025년 3월부터 활성화되어 있었습니다. 10월까지는 같은 행위자가 Open VSX 확장 프로그램 레지스트리와 GitHub 리포지토리로 활동 범위를 넓혔습니다. 코딩된(코딩된) 정보에 따르면, 이들은 도난당한 자격 증명에 접근하는 방식으로 움직였습니다. 이들은 사전에 설정된 방식으로 움직이는 경향을 보였습니다.

    article image

    추가로, 전문가는 이들의 활동을 추적한 결과, 이들이 비인가 접근을 위해 시스템에 침투했다고 밝혔습니다. 그들은 코딩된 정보를 통해 시스템에 침투했으며, 이는 전형적인 공격 패턴입니다.

    결론적으로, 개발자는 개발자에게 다음과 같은 권고를 내렸습니다. 1) 네트워크를 격리시키고 2) 모든 시스템에 대한 패치 수준을 확인해야 합니다. 또한, 개발자는 시스템의 보안을 강화하고 모든 사용자에게 강력한 암호를 사용하도록 권장했습니다.

    [추가 문장 통합 및 다듬기]

    유출된 자격 증명에 접근하는 방식으로, 그들은 시스템에 침투했고, 이는 전형적인 공격 패턴이라고 분석되었습니다. 따라서 개발자는 시스템을 격리하고 모든 시스템의 패치 수준을 확인해야 하며, 모든 사용자에게 강력한 암호를 사용하도록 시스템 보안을 강화할 것을 권고했습니다.

    [출처:] https://www.tomshardware.com/tech-industry/cyber-security/malicious-packages-using-invisible-unicode-found-in-151-github-repos-and-vs-code