
SAP NPM 공급망 공격. 레거시 감지 및 응답 도구는 문을 활짝 열어 둡니다
AccuKnox Proactive Runtime은 Zero Trust Security를 제공합니다. 2026년 4월 29일 Aikido Security의 연구원들은 4개의 SAP npm 패키지 — @cap-js/sqlite, @cap-js/postgres, @cap-js/db-service 및 mbt — npm install을 실행한 모든 시스템에서 npm 토큰, GitHub 자격 증명, SSH 키, AWS/Azure/GCP 비밀 및 Kubernetes 구성을 수집하는 페이로드로 중독되었습니다. 아니요 […]
읽기 시간: 7 분
요약
- “Mini Shai-Hulud” 공격은 악의적인 사전 설치 스크립트 실행 중에 proc 파일 시스템의 환경 변수를 통한 자격 증명 수집을 통해 개발자 자격 증명, 클라우드 비밀 및 CI/CD 토큰을 훔치기 위해 4개의 SAP npm 패키지를 손상시켰습니다.
- 전체 자격 증명 수집 및 유출 체인은 몇 초 만에 실행됩니다. — 감지 및 응답 도구가 개입하기에는 너무 빠릅니다.
- 커널 수준의 인라인 런타임 시행은 자격 증명 파일 액세스, 승인되지 않은 프로세스 실행 및 데이터 유출이 완료되기 전에 차단합니다.
- 프로세스 화이트리스트는 공격자가 삭제한 스크립트와 다운로드한 런타임(Bun 등)이 애초에 실행되지 않도록 보장합니다.
- 선제적 런타임 제어 없이 워크로드를 실행하는 조직은 신뢰할 수 있는 설치 워크플로를 무기화하는 공급망 위협에 대해 맹목적으로 행동하고 있습니다.
AccuKnox Proactive Runtime은 제로 트러스트 보안을 제공합니다
2026년 4월 29일, 아이키도 시큐리티 연구원 4개의 SAP npm 패키지를 발견했습니다 — @cap-js/sqlite, @cap-js/postgres, @cap-js/db-서비스, 그리고 엠비티
위협 그룹에 의해 “Mini Shai-Hulud”라고 불립니다 팀PCP, 공격은 npm의 사전 설치 Bun JavaScript 런타임을 다운로드하고 난독화된 11MB 자격 증명 도용기를 실행하는 후크입니다. 도난당한 데이터는 암호화되어 피해자 계정 — 아래에 생성된 GitHub 저장소로 유출되었습니다. 그런 다음 도난당한 npm 토큰은 더 많은 패키지를 독살하는 데 사용되어 손상된 모든 개발자를 다음 공격 벡터로 만들었습니다.
대부분의 보안 툴링은 모든 일이 일어나는 것을 지켜 보았을 것입니다.

“감지 및 응답”의 문제점
대부분의 엔드포인트 및 워크로드 보안 도구는 동일한 플레이북을 따릅니다: 의심스러운 동작을 관찰하고, 경고를 생성하고, 응답을 트리거합니다. 과정을 죽여라. 파일을 격리합니다. SOC를 페이지합니다.
이 공격에 맞서 그 플레이북은 무너진다. 그 이유는 다음과 같습니다.
자격 증명 도용자는 잘 알려진 경로에서 읽습니다(~/.ssh/, ~/.aws/자격 증명, ~/.npmrc) /proc/self/environ을 통해 proc 파일 시스템의 환경 변수를 통해 자격 증명 수집을 수행하고/run/secrets/kubernetes.io/serviceaccount/에서 Kubernetes 서비스 계정 토큰을 대상으로 합니다. — 데이터를 암호화하고 원격 저장소로 푸시합니다. 전체 체인은 몇 초 만에 완료됩니다. 탐지 기반 도구가 이상 현상에 플래그를 지정하고 응답을 생성할 때쯤에는 자격 증명이 이미 사라졌습니다. 공격자는 당신의 npm 토큰을 가지고 있습니다. 벌레는 당신의 이름으로 독이 든 패키지를 게시하고 있습니다.
여과 후 탐지는 사후 부검이지 방어가 아닙니다.
실제로 중요한 세 가지 집행 사항
이 공격을 중지하려면 작동하는 컨트롤이 필요합니다 ~ 전에 실행 완료 — 이후가 아닙니다. 즉, 작업이 결과를 반환하기 전에 시스템 호출이 가로채지고 정책 결정이 인라인으로 이루어지는 커널 수준에서의 시행을 의미합니다. 방법은 다음과 같습니다 AccuKnox의 런타임 보안, 에 의해 구동 쿠베아르모르 eBPF 및 Linux 보안 모듈을 통해 시행되며 킬 체인의 각 단계를 다룹니다.

1. 자격 증명 수집: 파일 액세스 시 차단됨
페이로드의 첫 번째 목표는 자격 증명 파일을 읽고 proc 파일 시스템의 환경 변수를 통해 자격 증명 수집을 수행하는 것입니다. SSH 키. 클라우드 공급자 구성. 쿠버네티스 서비스 계정 토큰. npm 및 GitHub 인증 토큰은 디스크에 저장되거나 환경 변수에 노출됩니다.
AccuKnox가 시행합니다 파일 액세스 정책 LSM 후크를 사용하여 커널 수준에서. 정책은 다음과 같은 민감한 경로를 읽을 권한이 있는 프로세스를 정확하게 정의합니다:/etc/shadow, /run/secrets/kubernetes.io/serviceaccount/, ~/.ssh/, 및 자격 증명 구성 파일. AccuKnox는 또한 환경 변수를 통한 자격 증명 수집이 발생하는/proc/self/environ 및 유사한 proc 파일 시스템 경로에 대한 무단 액세스를 차단합니다. 승인되지 않은 프로세스—난독화된 JavaScript 페이로드를 실행하는 새로 다운로드한 Bun 런타임 포함—는 하드 거부를 받습니다 SYS_OPEN 시스템 호출。 읽기는 결코 완료되지 않습니다. 자격 증명은 현재 위치에 유지됩니다.
이는 단순한 로그 항목이 아닙니다. 파일 내용이 공격자의 코드에 도달하기 전에 발생하는 강제 조치입니다.
2. 승인되지 않은 프로세스 실행: Spawn에서 차단됨
공격의 전달 메커니즘은 Bun 런타임을 다운로드하고 이를 사용하여 실행합니다 실행.js。 기본 허용 환경에서는 알 수 없는 바이너리의 실행을 막을 수 있는 것이 없기 때문에 이 방법이 효과적입니다.
AccuKnox의 프로세스 화이트리스트 정책 모델을 뒤집습니다. 강제 워크로드에서는 명시적으로 승인된 프로세스—애플리케이션 서버, 알려진 종속성, 특정 시스템 유틸리티—만 실행할 수 있습니다. 다른 모든 것은 에서 거부됩니다 SYS_EXECVE 시스템 호출。
다운로드한 Bun 바이너리? 막힌。 더 setup.mjs 로더가 그것을 생성하려고 합니까? 막힌。 단일 자격 증명 파일이 터치되기 전에 승인되지 않은 첫 번째 프로세스 생성 시 공격자의 전체 실행 체인이 죽습니다.
3. 선제적 완화: 초가 중요한 이유
인라인 완화와 탐지 및 대응의 구별은 유출이 몇 초 안에 발생할 때 학문적이지 않습니다.
AccuKnox는 커널 계층에서 정책을 시행합니다
공격 후 수정(프로세스가 이미 실행된 후 프로세스를 종료)은 공격자에게 로깅을 비활성화하거나 데이터를 암호화하거나 비밀을 유출할 수 있는 창을 제공합니다. 인라인 완화는 해당 창을 완전히 닫습니다.

이것이 CI/CD 파이프라인 및 공급망 보안에 미치는 영향
- SAP npm 공격은 자격 증명 밀도가 가장 높고 감독이 가장 얇은 CI/CD 환경을 특별히 표적으로 삼았습니다. 빌드 러너는 npm 토큰, 클라우드 공급자 자격 증명, GitHub Actions 비밀 및 Kubernetes 구성 —을 모두 메모리 또는 디스크에 보유하고 있으며 모두 해당 환경에서 실행되는 모든 프로세스에서 액세스할 수 있습니다.
- CI/CD 러너가 Kubernetes에서 작동하는 경우 AccuKnox 정책은 동일한 제로 트러스트 자세를 적용할 수 있습니다: 화이트리스트 빌드 프로세스만, 자격 증명 파일 액세스는 승인된 툴링으로 제한되며, 승인되지 않은 엔드포인트로의 유출을 방지하는 네트워크 정책.
- 주자가 VM이거나 베어 메탈인 경우 KubeArmor는 Kubernetes가 아닌 환경을 지원합니다 동일한 eBPF 및 LSM 시행 모델을 사용합니다.
- 원칙은 일정하게 유지됩니다: 기본 거부 실행, 최소 권한 파일 액세스 및 커널 속도로 작동하는 시행.
결론
신뢰할 수 있는 패키지 관리자를 무기화하는 공급망 공격은 사라지지 않을 것입니다. 더 이 캠페인을 뒷받침하는 TeamPCP 그룹 타격을 입었다 Bitwarden, Checkmarx 및 현재 SAP
탐지 도구는 무슨 일이 일어났는지 알려줄 것입니다. 런타임 시행으로 인해 이러한 일이 발생하지 않습니다. 자격 증명 유출이 몇 초 만에 완료되면 해당 구별이 전체 야구 경기가 됩니다. 데모 예약 런타임 시행이 실제로 적용되는 것을 보고 싶다면.
FAQ
SAP npm 공급망 공격 (“Mini Shai-Hulud”) 이란 무엇입니까?
2026년 4월에 발견된 공급망 공격으로, SAP 관련 npm 패키지 4개가 개발자 자격 증명, 클라우드 비밀, CI/CD 토큰을 훔치는 악성 사전 설치 스크립트로 손상되었습니다. 이 공격은 Bun JavaScript 런타임을 사용하여 난독화된 자격 증명 도용기를 실행하고 도난당한 npm 토큰을 사용하여 추가 패키지를 손상시켜 자체 전파했습니다.
왜 기존 보안 도구는 이 공격을 막을 수 없는가?
자격 증명 수집 및 유출 체인은 루틴 중 몇 초 만에 실행됩니다 npm 설치。 탐지 및 대응 도구는 실행 후 의심스러운 활동을 식별하지만, 그 시점에는 이미 자격 증명이 유출되었습니다. 공격자의 작전 기간은 탐지-대응 주기보다 짧습니다.
런타임 시행은 엔드포인트 감지와 어떻게 다릅니까?
런타임 시행(인라인 완화)은 커널 수준에서 시스템 호출을 가로채고 작업이 완료되기 전에 정책 결정을 적용합니다. 정책이 자격 증명 파일 액세스를 차단하면 파일 읽기가 발생하지 않습니다. 엔드포인트 감지는 동작을 관찰하고 기록하며, 사후에 응답을 트리거합니다.
이번 공격에서 어떤 자격 증명이 표적이 되었나요?
맬웨어는 proc 파일 시스템의 환경 변수를 통해 파일 액세스 및 자격 증명 수집을 통해 npm 인증 토큰, GitHub 개인 액세스 토큰, SSH 개인 키, AWS/Azure/GCP 클라우드 자격 증명 및 Kubernetes 구성(kubeconfig)을 수확했습니다. 또한 프로세스 메모리와/proc/self/environ에 노출된 GitHub Actions 비밀과 CI/CD 파이프라인 환경 변수를 추출했습니다.
AccuKnox가 CI/CD 파이프라인을 특별히 보호할 수 있나요?
예。 AccuKnox의 KubeArmor 엔진은 Kubernetes 기반 CI/CD 러너, VM 및 베어메탈 빌드 서버에 런타임 정책을 적용합니다. 정책은 실행할 수 있는 프로세스, 액세스할 수 있는 파일, 허용되는 네트워크 연결을 제한합니다. — 자격 증명 밀도가 가장 높은 환경을 구축하기 위해 제로 신뢰 원칙을 적용합니다.
라이브 투어를 받으세요
맞춤형 보안 평가를 받을 준비가 되셨나요?
“AccuKnox 선택은 오픈소스 KubeArmor가 eBPF 및 LSM 기술을 새롭게 사용하여 런타임 보안을 제공함으로써 이루어졌습니다.”

골란 벤-오니
최고 정보 책임자
“Prudent에서는 애플리케이션 및 클라우드 보안 분야에서 포괄적인 엔드투엔드 방법론을 옹호합니다. AccuKnox는 심층 평가에서 모든 분야에서 탁월한 성과를 보였습니다.”

마노즈 컨
CIO
“Tible은 모든 이해관계자에게 포괄적인 보안, 규정 준수 및 거버넌스를 제공하기 위해 최선을 다하고 있습니다.”

메린 붐
전무이사




