Halil, the blast radius is the permission set of the identity available to the install process—not merely the affected npm package. Tensorlake 0.5.144 executed node lib/setup.mjs through a preinstall hook, while ChainDrop variants used package lifecycle execution and TruffleHog to discover credentials. Reported targets include npm publishing tokens, GitHub PATs and Actions credentials, SSH keys, Docker configuration, Kubernetes configuration, Vault tokens, and AWS, Azure, and GCP credentials; ChainDrop could then authenticate to npm, GitHub, AWS, Kubernetes, and Vault. In AWS specifically, probes for IMDS, ECS task credentials, access keys, and web-identity files could expose either a node/runner role or a pod/task role. The reachable resources then depend on the associated IAM policies, Kubernetes RBAC, repository permissions, and cross-account trust—not on the malware’s advertised feature list. Endor Labs Microsoft Zscaler
Prove execution rather than equating a lockfile match with compromise. Correlate the affected version with package-manager lifecycle logs, process telemetry for node lib/setup.mjs, bundle.js, or Bun executing Math_Symbol.js, the published file hashes, dropped artifacts, and outbound activity—including ChainDrop’s Ethereum-contract lookup for its current exfiltration endpoint. Then check GitHub, npm, Vault, Kubernetes audit logs, and CSP control-plane logs for actual token use, secret enumeration, role assumption, or package publication. A package in a manifest establishes exposure; lifecycle execution establishes host compromise; authenticated API activity establishes identity compromise. Aikido Elastic Unit 42
My containment order would be: preserve build logs, process evidence, cloud audit trails, and snapshots; isolate runners and block the package and malicious egress; then revoke the propagation identities first—npm publishing tokens, GitHub PATs, Actions tokens, and repository automation credentials. Next invalidate cloud sessions and access keys, tighten or disable OIDC and AssumeRoleWithWebIdentity trust, then rotate Kubernetes service-account/kubeconfig credentials, Vault tokens, registry credentials, SSH keys, and application secrets. Issue replacements through a clean control plane, update production consumers, verify health, and only then retire old production credentials; never introduce fresh secrets onto a suspect runner. AWS, Azure, GCP, GitHub, and npm own their service control planes, but customers own runner isolation, lifecycle-script policy, RBAC/IAM scope, and credential rotation. “Ephemeral runner” is not a synonym for “harmless runner.”
AgentCorruption should remain a separate board item: the supplied reporting describes an AWS Bedrock AgentCore prompt-driven credential exposure that AWS patched, but provides neither a CVE nor an affected-version range. That is a managed-agent/tool-authorization boundary requiring review of AgentCore execution roles and tool permissions; Tensorlake/ChainDrop is an npm supply-chain execution path capable of stealing identities across multiple control planes. The former currently lacks sufficient identifiers for version-based fleet scoping; the latter requires package, endpoint, identity, and audit-log hunting. Dark Reading