🇰🇷 한글 설명
@beproduct/nestjs-auth 모듈의 npm 게시 토큰이 탈취되어 0.1.2부터 0.1.19 버전까지 18개의 악성 버전이 배포되었습니다. 이 패키지는 설치 시 postinstall 페이로드를 통해 npm 토큰, GitHub PAT, AWS 자격 증명, HashiCorp Vault 토큰 등 환경 내의 민감한 비밀 정보를 탈취를 시도합니다.
💡 쉬운 설명
개발 도구인 npm에 악성 코드가 포함된 가짜 업데이트가 올라와 컴퓨터 내의 중요한 비밀번호와 인증 키들을 훔쳐가는 사고가 발생했습니다. 해당 버전을 설치했다면 모든 비밀번호를 즉시 바꾸고 컴퓨터를 점검해야 합니다.
🇺🇸 원문 (English)
@beproduct/nestjs-auth is a NestJS authentication module for BeProduct IDS (Identity Server) with OpenID Connect support. Between 2026-05-11 20:19 UTC and 22:56 UTC, an attacker used a compromised npm publish token to publish 18 malicious versions of `@beproduct/nestjs-auth` (0.1.2 through 0.1.19). The postinstall payload attempted to harvest npm tokens (from `~/.npmrc`); GitHub personal access tokens, OAuth tokens (`gho_*`), and Actions OIDC tokens; AWS credentials (from environment variables and `~/.aws/credentials`); HashiCorp Vault tokens; and other secrets present in environment variables. Version `0.1.20` is a clean republish from the original `0.1.1` source tree. Anyone who installed any version in the range `>=0.1.2 <=0.1.19` should remove the package and clean the npm cache; install the clean version; rotate every credential present in the install environment, including all npm publish tokens, all GitHub PATs and OAuth tokens, AWS access keys, HashiCorp Vault tokens, and any other secret that was in env vars or config files at install time; scan affected hosts for indicators of compromise and, if any are found, treat the host as compromised and reimage; and check committed repository history for unexpected additions in `.claude/` or `.vscode/` directories. The worm is known to commit `setup.mjs` + hook configs to PR branches via automated agent runtimes.
📍 영향받는 시스템
@beproduct/nestjs-auth versions 0.1.2 through 0.1.19
⚔️ 공격 벡터
탈취된 npm 게시 토큰을 이용한 공급망 공격 (Supply Chain Attack)
🛡️ 대응 방법
해당 패키지 삭제 및 npm 캐시 정리 후 0.1.20 버전을 설치하고, 노출된 모든 자격 증명(AWS, GitHub, npm 등)을 즉시 교체하십시오.
🔧 검증 코드
명령어 결과에 해당 버전 범위가 출력되면 악성 버전이 설치된 것이므로 즉시 조치가 필요합니다.
npm list @beproduct/nestjs-auth 2>/dev/null | grep -E '@beproduct/nestjs-auth@(0\.1\.(2|[3-9]|1[0-9]))'