Bumblebee Rules
The bumblebee category surfaces known-compromised packages, extensions, and MCP servers found on disk. It wraps bumblebee, Perplexity's read-only inventory collector, and matches its NDJSON output against an exposure catalog bundled with obacht (vendored from bumblebee's upstream threat_intel/ directory).
All rules in this category are skipped automatically when:
- The
bumblebeebinary is not onPATH— install withgo install github.com/perplexityai/bumblebee/cmd/bumblebee@latestor viamise. - The embedded exposure catalog cannot be materialised to a temp directory.
When bumblebee runs, the baseline profile is used: global package roots, language toolchains, editor and browser extensions, MCP host configs. Project/deep profiles are not invoked from obacht.
BUM001: Compromised npm package present on disk
Severity: critical
An npm package on disk matches an entry in the bundled exposure catalog of known-compromised releases (e.g. shai-hulud worm, typosquats, credential stealers). The match is exact on (ecosystem, name, version). Presence on disk is not proof of execution, but indicates exposure that responders should triage.
Remediation: Remove or downgrade the affected package; rotate any secrets exposed by the package's lifecycle scripts; see the catalog entry's reporting for scope.
BUM002: Compromised PyPI package present on disk
Severity: critical
A PyPI package on disk matches an entry in the bundled exposure catalog of known-malicious releases. Presence indicates exposure even if the package was not imported.
Remediation: pip uninstall <name>; rotate any secrets the package could have read; review post-install hooks in *.dist-info/INSTALLER.
BUM003: Compromised Go module present on disk
Severity: critical
A Go module recorded in go.sum or go.mod matches an entry in the bundled exposure catalog. Module presence does not imply execution (modules run only if compiled in), but warrants investigation of dependent binaries.
Remediation: Pin to a clean version, run go mod tidy, rebuild and redeploy affected binaries.
BUM004: Compromised RubyGem present on disk
Severity: critical
An installed RubyGem matches an entry in the bundled exposure catalog. Gems can run install-time hooks; treat presence as potential compromise pending review.
Remediation: gem uninstall <name> -v <version>; rotate developer credentials; audit ~/.gem for unexpected artifacts.
BUM005: Compromised Composer package present on disk
Severity: critical
A Composer (Packagist) package recorded in composer.lock or vendor/composer/installed.json matches an entry in the bundled exposure catalog.
Remediation: Remove the affected package version, regenerate composer.lock, redeploy affected applications.
BUM006: Compromised MCP server configured
Severity: critical
An MCP server referenced in a host config (Claude Desktop, Cline, Gemini CLI, etc.) matches an entry in the bundled exposure catalog. MCP servers run with the host process' privileges and have broad tool access.
Remediation: Remove the server entry from the relevant mcp.json / claude_desktop_config.json / equivalent; restart the host application; rotate credentials the server could read.
BUM007: Compromised editor extension installed
Severity: critical
A VS Code / Cursor / Windsurf / VSCodium extension on disk matches an entry in the bundled exposure catalog (e.g. the nx-console campaign). Editor extensions run with the developer's local privileges.
Remediation: Uninstall the extension from the editor; remove any cached extension directory; rotate developer credentials; review the editor's extension audit log.
BUM008: Compromised browser extension installed
Severity: critical
A Chromium-family or Firefox extension manifest on disk matches an entry in the bundled exposure catalog. Browser extensions typically have access to all visited pages and stored credentials.
Remediation: Uninstall the extension from each browser profile; force a password rotation for high-value accounts the affected browser was signed into.
Updating the bundled catalog
Catalogs live in rules/catalogs/bumblebee/. To refresh:
- Pick a new upstream tag at https://github.com/perplexityai/bumblebee/releases.
- Update
rules/catalogs/bumblebee/VENDOR.mdwith the new tag. - Replace each
*.jsonfrom the matchingthreat_intel/directory of that tag. - Run
make check.
