컴퓨터 보안 CrowdStrike, Shai-Hulud 및 CISA 2015 만료 임박: 미국이 소프트웨어 공급망...

CrowdStrike, Shai-Hulud 및 CISA 2015 만료 임박: 미국이 소프트웨어 공급망 공격을 간과할 수 없는 이유

깨지기 쉬운 사슬과 깨지기 쉬운 법률

2025년 보안 관련 헤드라인은 랜섬웨어, AI 기반 사이버 위협, 그리고 지정학적 해킹 캠페인이 주도해 왔습니다. 하지만 더 조용하고 교활한 추세는 오픈소스 세계의 공급망, 특히 npm JavaScript 생태계에서 나타나고 있습니다.

"샤이-훌루드(Shai-Hulud)" 라는 이름으로 진행된 최근 공격으로 CrowdStrike 네임스페이스 에 게시된 패키지를 포함하여 수십 개의 npm 패키지가 손상되었습니다. 이 사실만으로도 경각심을 불러일으킬 만합니다. 공격자가 세계에서 가장 잘 알려진 사이버 보안 공급업체 중 하나와 관련된 패키지를 감염시킬 수 있다면 소프트웨어 생태계에 대한 신뢰가 위태로워질 수 있습니다.

이러한 상황은 중요한 정책적 배경, 즉 2015년 사이버보안 정보공유법(CISA 2015) 이 9월 말 만료를 앞두고 있는 상황에서 전개되고 있습니다. CISA 2015는 민간 부문과 연방 기관 간의 자발적이고 책임 보호되는 침해지표(IOC) 공유의 상당 부분을 뒷받침합니다. 만약 CISA가 만료된다면, 미국은 샤이-훌루드식 공격에 한 손을 묶인 채 맞서야 할 것입니다.

샤이-훌루드 캠페인: 공급망 공격의 해부학

1. 초기 타협

공격자는 합법적인 패키지(일부는 개별 관리자 소유, 다른 일부는 조직 네임스페이스 소유)에 연결된 npm 계정에 침투했습니다. package.json 파일을 수정하고 bundle.js 라는 악성 파일을 삽입하여, 신뢰할 수 있는 프로젝트에 트로이 목마를 심었습니다.

2. 페이로드: Bundle.js 임플란트

이 임플란트는 교묘한 "스크립트 키디" 악성코드가 아닙니다. 일련의 정확하고 자동화된 작업을 실행합니다.

  • 토큰 수집 : NPM_TOKEN , GITHUB_TOKEN , AWS_ACCESS_KEY_ID , AWS_SECRET_ACCESS_KEY 와 같은 비밀을 호스트 환경에서 검색합니다.
  • 도구 배포 : TruffleHog를 다운로드하고 실행합니다. TruffleHog는 일반적으로 저장소에서 유출된 기밀 정보를 검색하는 데 사용되는 오픈소스 유틸리티입니다. 여기서는 로컬 시스템을 공격적으로 공격하는 용도로 재활용됩니다.
  • 검증 : 가벼운 API 요청을 수행하여 수집된 토큰의 유효성을 검사하여 어떤 자격 증명이 활성화되어 있는지 확인합니다.
  • CI/CD를 통한 지속성 : .github/workflows 디렉터리를 생성하거나 수정하여 악성 GitHub Actions 워크플로 ( shai-hulud.yaml 또는 shai-hulud-workflow.yml 로 명명됨)를 삽입합니다. 이러한 워크플로는 향후 CI/CD 실행 중에 기밀 정보를 다시 유출할 수 있습니다.
  • 유출 : 도난당한 자격 증명과 결과를 종종 일회용 인프라를 통해 제어되는 하드코딩된 웹훅 엔드포인트로 전송합니다.
  • 3. 전파

    npm 패키지는 서로 밀접하게 연결되어 있기 때문에 단 하나의 침해만으로도 연쇄적인 공격이 발생할 수 있습니다. 악성 버전은 npm 레지스트리에 업로드되어 종속성을 업데이트하거나 설치한 개발자에게 자동으로 배포되었습니다. 즉, 수천 개의 다운스트림 프로젝트에서 의도치 않게 감염된 코드가 유포되었을 가능성이 있습니다.

    9월 초에 발생한 tinycolor 사건은 이러한 위험을 잘 보여줍니다. 해당 라이브러리( @ctrl/tinycolor )는 매주 수백만 건씩 다운로드됩니다. Shai-Hulud 페이로드로 인해 해당 라이브러리가 감염되었을 때, 40개 이상의 다운스트림 패키지가 감염되었습니다.

    4. CrowdStrike 네임스페이스 침해

    가장 놀라운 발견은 @crowdstrike npm 네임스페이스 로 게시된 패키지도 손상되었다는 것입니다. Socket.dev는 수십 개의 감염된 버전을 발견했으며, 그중 일부는 2025년 9월 14일에서 16일 사이에 급속도로 배포되었습니다.

    CrowdStrike의 내부 인프라가 침해되었다는 증거는 없지만 평판과 시스템에 미치는 영향은 심각합니다.

    • 개발자들은 @crowdstrike 와 같은 공급업체 네임스페이스가 엄격할 것으로 기대합니다.
    • 오염된 네임스페이스는 공급업체뿐만 아니라 npm 자체에 대한 신뢰도 훼손합니다.
    • 적대자들은 그러한 타협의 상징적, 실질적 힘을 분명히 알고 있었습니다.

    기술 지표 및 관측 가능 항목

    이를 더욱 뒷받침하기 위해 Shai-Hulud 패키지 분석을 통해 다음과 같은 기술적 지표가 나타났습니다.

    • 악성 파일 : bundle.js , index.js (bundle을 호출하도록 수정됨), .github/workflows/ 에 삽입된 워크플로 파일.
    • 워크플로 페이로드 : 일반적으로 비밀을 컬링하고 공격자 웹훅에 POST하는 단계가 포함되어 있습니다.
    • 해시 재사용 : 여러 패키지에 걸쳐 bundle.js 파일의 동일한 SHA-256 해시를 통해 캠페인 조정을 확인합니다.
    • 침투 엔드포인트 : 일반 플랫폼(예: Discord, Slack 수신 웹훅 또는 임시 클라우드 서비스)에서 호스팅되는 웹훅입니다.
    • 게시 패턴 : 수십 개의 패키지 버전을 몇 분 안에 일괄적으로 게시하며, 수동 게시보다는 자동화 툴을 사용합니다.
    • 이러한 지표는 단순한 법의학적 잡학 지식이 아닙니다. 적의 자동화와 규율을 강조합니다. 이 캠페인은 실험이 아닌 규모 확장 을 위해 설계되었습니다.

      공급망 공격이 왜 그렇게 위험한가

      공급망 공격은 외부 경계를 우회합니다. 방화벽을 뚫는 대신, 조직이 매일 사용하는 신뢰할 수 있는 소프트웨어 업데이트와 라이브러리에 침투합니다.

      • 도달 범위 : tinycolor 와 같은 단일 npm 패키지나 @crowdstrike 와 같은 조직 네임스페이스가 손상되면 잠재적으로 수천 개의 다운스트림 시스템이 노출될 수 있습니다.
      • 신뢰 납치 : 개발자는 본질적으로 패키지 관리자를 신뢰합니다. 감염된 업데이트는 자동으로 설치됩니다.
      • 은밀성과 지속성 : 공격자는 악성 GitHub Actions 워크플로를 내장함으로써 원래 악성 버전이 제거된 후에도 반복적으로 유출되도록 보장합니다.

      이것이 Shai-Hulud와 같은 공격이 전략적으로 중요한 이유입니다. 이 공격은 패키지 관리자, CI/CD 파이프라인, 오픈 소스 종속성 등 현대 소프트웨어 개발 메커니즘 자체를 공격 표면으로 바꾸기 때문입니다.

      CISA 2015 만료로 인해 위험이 커지는 이유

      CISA 2015의 역할

      2015년 사이버보안 정보공유법은 민간 기관이 국토안보부(DHS)(이후 CISA)와 법적 책임 없이 위협 지표를 공유할 수 있는 체계를 마련했습니다. 이 법의 목표는 다음과 같습니다.

      • 여러 부문에서 IOC의 신속한 공유를 장려합니다 .
      • 선의로 지표를 공개하는 회사에 대한 책임 보호를 제공합니다 .
      • 기계가 읽을 수 있는 교환을 위해 기술 형식(STIX/TAXII)을 표준화합니다 .

      만료의 위험

      9월 말에 법이 만료되면:

      1. 공유 감소 : Shai-Hulud로 인해 피해를 입은 유지 관리자, 레지스트리 및 공급업체는 소송이나 규제 당국의 반발을 두려워하여 세부 정보를 공유하기를 꺼릴 수 있습니다.
      2. 분열된 대응 : 연방 정부의 협력 없이는 진행 중인 공격에 대한 정보가 개별 공급업체나 연구원들 간에만 국한될 것입니다.
      3. 더딘 완화 : 공급망 공격에는 시간이 매우 중요합니다. CISA 프레임워크가 없다면, 공격 발견과 커뮤니티 방어 사이의 시차가 위험할 정도로 길어질 수 있습니다.
      4. 신뢰의 침식 : CrowdStrike 네임스페이스 침해로 이미 흔들린 오픈소스 커뮤니티는 강력하고 조율된 연방-민간 대응이 없다면 중앙 레지스트리를 신뢰하는 데 더욱 소극적일 수 있습니다.

      정책 및 산업 권장 사항

      1. 즉각적인 입법 조치

      의회는 9월 말까지 CISA 2015를 갱신하거나 연장 해야 합니다. 그렇지 않을 경우, 적대국들에게 미국이 고조되는 사이버 위험에 직면하여 스스로를 제한하고 있다는 신호를 보내는 셈입니다.

      2. 레지스트리 강화

      npm, PyPI, RubyGems 및 기타 레지스트리에는 보다 강력한 보호 장치가 필요합니다.

      • 게시자에게는 다중 인증 요소가 필수입니다.
      • 비정상적인 출판 폭발에 대한 자동 이상 감지 .
      • 게시된 패키지에 대한 코드 서명 .
      • CI/CD 시스템에 패키지 출처 검사가 내장되어 있습니다.

      3. 공급업체 네임스페이스 보호

      CrowdStrike와 같은 공급업체는 다음을 고려해야 합니다.

      • 기업을 변조된 버전으로부터 보호하기 위한 공개 패키지의 개인 미러입니다 .
      • 네임스페이스 하이재킹에 대한 지속적인 모니터링.
      • 각 릴리스에 대한 "알려진 좋은" 해시가 공개적으로 공개되었습니다.

      4. 민간 부문 감사

      조직은 다음을 수행해야 합니다.

      • 고정된 버전에 종속성을 고정합니다.
      • 승인되지 않은 수정 사항에 대해 CI/CD 워크플로를 감사합니다.
      • 노출된 경우 자격 증명(npm 토큰, GitHub 토큰, 클라우드 키)을 즉시 회전합니다.

      5. 연방-민간 협력

      CISA가 일시적으로 만료되더라도 임시 구조로 공백을 메워야 합니다.

      • CISA, Socket.dev, GitHub, npm 간의 공동 자문.
      • 악성 해시 및 엔드포인트의 실시간 피드.
      • 오픈소스 유지 관리자(종종 무급 자원봉사자)를 위한 재정 및 기술 지원.

      결론: 약점의 충돌

      샤이-훌루드 캠페인은 공급망 공격이 더 이상 "극단적 공격"이 아니라, 공격자의 표준 전술이 되어가고 있음을 보여줍니다. CrowdStrike 네임스페이스 를 통해 배포된 패키지의 침해는 생태계에 대한 신뢰가 얼마나 취약해졌는지를 여실히 보여줍니다.

      그리고 이러한 위협이 커짐에 따라 미국은 CISA 2015의 만료를 허용할 수도 있습니다. 이는 정보 공유와 신속한 대응을 가능하게 하는 법적 틀을 무너뜨릴 것입니다.

      교훈은 엄중합니다. 입법적 쇄신과 산업 개혁 없이는 미국은 지금까지 가장 위험한 소프트웨어 공급망 침해 시대로 접어들 위험이 있습니다. 즉, 적대 세력이 기술적 취약성과 정책 공백을 모두 악용하는 시대입니다.

      간단히 말해서, 취약한 코드 + 취약한 법률 = 국가적 위험입니다.

      로드 중...