Read-only by design: the scanner that refuses to become the attack surface

The most consequential design choice in Bumblebee is what it refuses to do. Conventional package introspection tools resolve dependencies by calling the package manager itself — and that act, on a developer endpoint, is exactly how the 2025-2026 npm wave compromised so many machines. Postinstall scripts and lifecycle hooks in chalk, debug, axios, and the @tanstack/* packages executed the moment a developer (or, ironically, a scanner) invoked npm, pnpm, bun, or pip. Bumblebee avoids this entirely by never running install scripts or lifecycle hooks, never invoking npm, pnpm, bun, or pip [3].
Instead, Bumblebee reads metadata files directly off disk — lockfiles, package manifests, MCP JSON configs, editor-extension manifests. The scanner is a single static Go binary with zero non-stdlib dependencies [1], which means the scanner itself carries no transitive supply chain that could be compromised the way chalk's 2.6B-weekly-download dependents were [8]. That recursion-breaker — a security tool whose own dependency tree can't be the next vector — is the load-bearing idea here.
