Your RSA-2048 keys break in 2030. Find every one of them before attackers do.
Malicious package

@rafaelsene01/agent-flownpm

Malicious code in @rafaelsene01/agent-flow (npm) Remove it immediately and rotate any exposed credentials.

MAL-2026-6111
Immediate action
Remove the package, then rotate any secrets the build/runtime could reach.
npm uninstall @rafaelsene01/agent-flow

What this malware does

The package's main and bin entry, dist/agent-flow.js, is shipped as a heavily obfuscated bundle produced by javascript-obfuscator (declared as a devDependency in package.json). After deobfuscation, the runtime behavior matches the advertised purpose: a local Express server bound to 127.0.0.1:5522 that talks to api.github.com using the user-provided GH_TOKEN/GITHUB_TOKEN environment variable (or the local gh auth token output), manages git worktrees, and spawns the local claude CLI. No remote code fetch, no eval of remote content, no read of installer secret paths (~/.aws, ~/.ssh, ~/.netrc, ~/.npmrc), and no exfiltration destination beyond api.github.com. The postinstall hook only runs npm install --prefix web when web/package.json exists, which it does not in the published tarball. Obfuscating an MIT-licensed distributed bundle is a code-review-hostility concern rather than a supply-chain attack, but it materially raises the cost of independent verification and warrants human review.

Any computer that has this package installed or running should be considered fully compromised. All secrets and keys stored on that computer should be rotated immediately from a different computer. The package should be removed, but as full control of the computer may have been given to an outside entity, there is no guarantee that removing the package will remove all malicious software resulting from installing it.

Malicious versions

17 flagged
1.0.21.0.31.0.41.0.51.1.01.2.01.2.11.2.21.2.31.3.01.4.01.5.01.5.11.6.01.7.01.8.01.9.0

Indicators of compromise (SHA-256)

a5df09db75f73bdebd523abf5b350fca006eafabadfeef16baccd7043191dc61
062aeffd53decb4f08563240e1f906404ef79037fb7192c8dd72705291a2f47c
14c6edb75432ba69d61f1461299a9e81ffecd24449463fd59d47278ed45b30a0
224b329c9b1516b6bcd547439b6883258076fee922da3f58ba0819cb4a96fbe5
8fd5af7e5d44541ee33dd93b0a7a2fa9bb8e62dfa8ef0a7b5681383853ee1835
982aec4658813846714e7cea6fd3262a93fa1b4bf99c4bd09c90770efe5765f5
b189530bf5841a2de2c5930de44ce725556052f73428e1993b22acc559ab05ef
c998c739f8fe5e7f9a59a51d67d533db61844456d62c7a8098eb79f74c8f86aa
30c1bb3d3f56b7f8d851c21c619cafff326dfc386977816b8577934a7cf8ea82
57fb242bc900da853727f1a8bbd5318d617fc87b14bec46ed3c21b0c174d1f17
f5d3453f40d642994d96667c8d6e1189bf5f1f6f565378ac27136e55efd63654
367e6d2431e90a22429adff161d2544e5534b0c492bf1530c65f2bf11c13b277
3855afe87d31e428546f226e1da9236cd0e4dc45a477afb9f6ba1c707a4b05ec
32f09d13d7e3b1139787a4fd60755359b80f359c91e6e9435b08c4da9a7e77df
557216e188e0e74877e9b5322c1837c208b0e1c73bc8f0c038943d04efe3707c
27bd478b9818997c7e6a336fd86d7bc3e21f5c341b6726f5b79a045b07c9a748
2fd6f156ec82c795da25331e5922573154b7e16c4154c6e14c8f072c947e77e5
bba1c430b05b2aafb918d6216ea6aa3009d38eebe269c154e8f9a00236c02742

Detection & response playbook

Credential / info stealer
  1. Find it

    Scan your lockfiles (package-lock.json, pnpm-lock.yaml, yarn.lock, requirements.txt, poetry.lock, etc.) and build artifacts for @rafaelsene01/agent-flow (17 malicious versions). O3 Security's supply-chain scanner checks every dependency against known-malicious package intelligence at install time and in CI, flagging @rafaelsene01/agent-flow across your stack and pipelines.

  2. If you installed it — respond

    @rafaelsene01/agent-flow is built to steal secrets, so assume every credential the build or runtime could read is compromised. Remove it from your project and lockfile, then rotate ALL exposed secrets — npm/registry tokens, cloud keys, CI/CD secrets, SSH keys, and any .env values — from a known-clean machine. Audit logs for unauthorized use of those credentials.

  3. Did it already run?

    If @rafaelsene01/agent-flow was ever installed, its post-install/runtime payload may have already executed. O3's L7 egress monitoring and runtime eBPF sensors detect the credential exfiltration or command-and-control callback after install and block the malicious outbound channel, so you catch and contain the actual compromise — not just the presence of the package.

  4. How O3 protects you

    O3 blocks @rafaelsene01/agent-flow before install through its supply-chain scanner, and if it has already run, detects and severs the exfiltration or C2 callback at runtime through L7 egress monitoring and eBPF.

Frequently asked questions

No. @rafaelsene01/agent-flow on npm has been identified as a malicious package (versions 1.0.2, 1.0.3, 1.0.4, 1.0.5, 1.1.0, 1.2.0, 1.2.1, 1.2.2, and 9 more flagged). It should be removed immediately — do not install or keep it in your dependency tree.

Campaign

GHSA-rhv6-f4px-2cf4IN-MAL-2026-008432IN-MAL-2026-008508IN-MAL-2026-008506IN-MAL-2026-008507IN-MAL-2026-008505IN-MAL-2026-008471IN-MAL-2026-008571IN-MAL-2026-008862IN-MAL-2026-008863IN-MAL-2026-008861IN-MAL-2026-008969IN-MAL-2026-008967IN-MAL-2026-009420IN-MAL-2026-009417IN-MAL-2026-009507IN-MAL-2026-009505IN-MAL-2026-009501

References

Credits

  • Amazon Inspector · finder

Detect & block this

O3 blocks @rafaelsene01/agent-flow-class packages before install and in CI — and if it already ran, its runtime egress monitoring catches the credential exfiltration and severs the channel.