A trojanized npm package used installed AI CLIs to collect secrets. A compromised npm package, AI coding tools and the credentials within their reach.
Entry point. nx-package, trojanized version on npm.
The identity in the middle. The AI CLI own permissions, invoked with a flag that skips the permission checks.
What was reached. secrets collected from the developer machine.
A trojanized npm package used installed AI CLIs to collect secrets.
Taken from the published reporting. Nothing here is reconstructed.
| Step | Role in the path | What the reporting records |
|---|---|---|
| nx-package | Entry | trojanized version on npm |
| postinstall | Step | payload runs on install |
| ai-cli | Step | claude / gemini / q, if present |
| --yolo scan | Reached | permission checks skipped, secrets collected |
Allowing that flag on a machine that holds secrets. The payload did not break the CLI, it asked it politely with the wrong argument.
A breakpoint is the single change that closes a path with the least disruption. Read how that is chosen in the breakpoint page. The full narrative is in the teardown.
4 steps from entry to data.
Every field on this page is taken from the published reporting below. The breakpoint assessment is Elmoz reading that path, not a statement about what the affected organisation did.
The two questions this record answers.
The published path starts at nx-package, trojanized version on npm.
The published path ends at secrets collected from the developer machine.
Same database, different path shape.
Book a demo and we walk through the access paths in an environment like yours.