NPM 공급망 공격을 받은 Red Hat – 안전을 유지하는 방법은 다음과 같습니다.

빨간 모자 로고

존 키블/게티 이미지

ZDNET을 팔로우하세요: 우리를 선호 소스로 추가하세요 Google에서.


ZDNET의 주요 시사점

  • Red Hat은 npm 보안 침해의 피해자였습니다.
  • 회사는 영향을 받은 패키지를 제거했습니다.
  • @redhat-cloud-services npm 네임스페이스를 사용하는지 확인하세요.

npm 저장소 네임스페이스(JavaScript 런타임 환경 Node.js 패키지 관리자)는 보안 위반으로 악명 높습니다. 이제 IBM과 함께 오픈 소스 소프트웨어 취약점을 찾아 수정하기 위한 AI 기반 이니셔티브인 Project Lightwell을 발표한 Red Hat은 자체적인 npm 문제를 안고 있습니다.

또한: 오픈 소스 보안은 엉망입니다. IBM과 Red Hat은 50억 달러를 걸고 20,000명의 엔지니어가 문제를 해결할 수 있습니다.

회사의 @redhat-cloud-services 네임스페이스에 있는 수십 개의 JavaScript 패키지가 Red Hat 개발자 및 CI/CD(지속적 통합 및 지속적인 배포) 시스템의 비밀을 표적으로 삼는 자격 증명 도용 악성 코드로 백도어를 설치했습니다. 보안 연구 회사인 Aikido는 네임스페이스가 “자격 증명 훔치는 웜으로 손상되었습니다. 전체적으로 32개 패키지의 96개 버전이 손상되었으며 주당 누적 다운로드 횟수는 116,991회입니다.”라고 보고했습니다.

Red Hat 보안에 따르면 누군가 손상된 GitHub 계정을 사용하여 Red Hat GitHub 조직에서 관리하는 패키지에 악성 코드를 삽입했습니다. 영향을 받는 패키지는 Red Hat 제품 빌드 프로세스 중에 컨테이너 이미지로 컴파일되고 번들로 제공되는 프런트엔드 라이브러리입니다.

정확히 무슨 일이 일어났나요?

npm 사전 설치 후크를 통해 악성 코드가 추가된 것으로 보입니다. 개발자나 빌드 시스템이 영향을 받는 패키지에 대해 “npm install”을 실행할 때마다 악성 코드가 자동으로 실행되었습니다. Microsoft 위협 인텔리전스 팀에 따르면 손상된 각 패키지에는 비대하고 난독화된 index.js 로더를 실행하는 사전 설치 스크립트가 추가되었으며, 이 스크립트는 npm, GitHub, AWS, SSH 및 기타 환경에서 비밀을 정리하도록 설계된 페이로드를 실행하고 실행했습니다.

연구원들은 이 공격을 초기 공급망 사고에서 사용된 npm 전파 웜인 Mini Shai-Hulud 악성 코드를 기반으로 한 더 광범위한 캠페인과 신속하게 연결시켰습니다. Red Hat의 경우 여러 보고서에서는 페이로드를 Miasma라는 새로운 변종으로 언급하고 있습니다. 이 변종은 Mini Shai-Hulud의 자체 확산 동작을 유지하면서 더 많은 난독화 및 다단계 로딩 설계를 추가합니다.

웜은 자격 증명을 훔치는 것 이상의 역할을 합니다. 다른 npm 패키지에 액세스할 수 있는 시스템에서 실행되면 현재 사용자가 게시할 수 있는 모든 패키지를 식별하고 동일한 악성 사전 설치 페이로드를 사용하여 다시 게시합니다. 즉, 각 피해자는 새로운 공격자가 됩니다. 보안 회사는 이러한 “웜 가능” 동작으로 인해 Red Hat 관련 네임스페이스가 그렇게 빨리 오염될 수 있었다고 말합니다. 일부 추정에 따르면 몇 분 만에 30개 이상의 패키지가 백도어에 감염되었습니다.

또한: Red Hat Desktop과 Fedora Hummingbird: 귀하에게 적합한 AI 개발 Linux 경로는 무엇입니까?

Red Hat은 아직 자세한 사후 분석을 발표하지 않았지만 독립적인 분석에 따르면 손상된 GitHub 인프라가 초기 액세스 벡터로 지적되었습니다. Semgrep 및 기타 보안 연구 회사는 악성 Red Hat 범위 패키지가 RedHatInsights/javascript-clients 저장소와 연결된 GitHub Actions OpenID Connect(OIDC) 토큰을 사용하여 푸시되었다고 보고했습니다.

공격자는 사전 설치 후크를 여러 패키지와 버전에 주입했는데, 공개 소스 저장소에 해당 변경 사항이 없는 경우가 많았습니다. 이는 빌드 파이프라인 절충의 전형적인 특징입니다.

실행된 코드는 다음을 검색하고 추출을 시도합니다.

  • GitHub Actions 비밀 및 액세스 토큰
  • GitHub SSH 키 및 개인 액세스 토큰
  • AWS, GCP, Azure 클라우드 자격 증명
  • Kubernetes 구성 및 토큰
  • HashiCorp Vault 토큰 및 기타 비밀 관리자 데이터
  • npm 및 CircleCI 토큰과 환경 변수 또는 구성 파일에 저장된 기타 CI/CD 비밀

또한: Rust는 AI로부터 Linux를 구할 것이라고 Greg Kroah-Hartman이 말했습니다.

보안 공급업체는 영향을 받는 버전을 개발자 워크스테이션, 빌드 에이전트 또는 CI 실행기에 설치한 사람은 해당 환경에서 액세스 가능한 모든 토큰과 자격 증명이 이제 공격자의 손에 있을 수 있다고 가정해야 한다고 경고합니다.

개발자의 경우 여러 회사의 지침이 명시되어 있습니다.

  1. 보안 비밀을 즉시 교체하세요.
  2. 의심스러운 액세스가 있는지 GitHub 및 클라우드 활동을 감사하세요.
  3. 알려진 양호한 기준선에서 잠재적으로 오염된 환경을 재구성합니다.

Red Hat은 “우리는 즉시 조사를 시작하고 npm 레지스트리에서 패키지를 제거했습니다. 패키지는 내부 개발에만 엄격하게 제한되어 있으며 악성 코드는 console.redhat.com 시스템을 통해 고객이 소비할 수 있도록 게시된 적이 없습니다. 조사가 진행되는 동안 고객이나 파트너 환경 또는 Red Hat 프로덕션 시스템에 어떤 영향도 미치는지 확인하지 못했습니다.”라고 말했습니다.

간단히 말해서, 이것은 훨씬 더 나빴을 수도 있습니다.

또한: Canonical의 Mark Shuttleworth는 Ubuntu 26.04가 AI 에이전트 시대를 위한 OS라고 말합니다.

이전에 npm 공급망 공격에 대한 보다 일반적인 지침에서 Red Hat Product Security는 해당 제품이 엄격한 버전 고정 및 내부 미러에 크게 의존하며 이전에 손상된 npm 패키지가 지원되는 Red Hat 소프트웨어에 통합되지 않았다고 밝혔습니다.

그러나 최근 사건을 계기로 보안 연구원들은 조직이 단순히 Red Hat 제품을 사용한다고 해서 안전하다고 가정하지 말 것을 촉구하고 있습니다. 그들은 백도어 패키지를 건드리는 모든 빌드 또는 개발자 워크플로가 잠재적으로 손상된 것으로 간주되어야 한다고 주장합니다.

이제 무엇을 해야 합니까?

Red Hat은 잘못된 코드가 대중에게 공개되지 않았다고 모든 사람에게 확신시키고 있지만 저는 여전히 경계하고 있습니다. Red Hat 클라우드 서비스 도구를 사용하거나 @redhat-cloud-services 패키지를 빌드에 가져온 적이 있는 경우 영향을 받는 버전에 대한 종속성 트리를 스캔하고, 알려진 불량 릴리스를 차단하고, 필요한 경우 다운그레이드하거나 신뢰할 수 있는 빌드로 교체하는 것이 좋습니다.

동시에 해당 패키지가 설치된 모든 환경에서 비밀이 노출되고 GitHub PAT, SSH 키, 클라우드 공급자 API 키 및 CI 토큰과 같은 모든 관련 자격 증명이 교체되었을 수 있다고 가정합니다.

또한: 귀하의 조직은 디지털 주권을 얼마나 갖추고 있나요? 이 Red Hat 도구는 몇 분 안에 알려드립니다.

장기적으로 Red Hat npm 사건은 npm 저장소가 그다지 신뢰할 만하지 않다는 것을 다시 한번 보여줍니다. 이제 대형 Linux 및 클라우드 공급업체도 웜 가능한 npm 악성 코드에 명백히 취약하므로 npm 관리자와 주요 소프트웨어 공급업체 모두 패키지의 출처와 안전에 대해 더 강력한 보장을 제공해야 한다는 압력이 가중되고 있습니다.

즉, Red Hat은 이번 에피소드에서 얼굴에 파이가 있을 수 있지만 Project Lightwell 및 모든 사람의 오픈 소스 보안을 개선할 방법을 찾는 Chainguard의 노력과 같은 유사한 노력이 얼마나 중요한지 강조합니다.

완벽 가이드 보기

완벽 가이드 보기

관련 기사

댓글 남기기