Obsah

Bumblebee

Vytvořeno: 31.5.2026 | Aktualizováno: 31.05.2026 20:32

Bumblebee je read-only scanner vývojářských endpointů pro sběr metadat o balíčcích, rozšířeních a vývojářských nástrojích uložených na disku. Slouží hlavně k rychlé odpovědi na otázku, jestli se na konkrétním stroji nebo ve vývojových projektech nachází známý kompromitovaný balíček, verze nebo rozšíření.

K čemu je dobrý

Bumblebee řeší úzký problém v oblasti software supply-chain incident response:

Není to obecný detektor malwaru. Bumblebee neříká, že stroj byl kompromitován. Říká, že na disku existuje metadata stopa komponenty, která odpovídá známému rizikovému záznamu.

Typická otázka, na kterou odpovídá:

„Vyšlo advisory na example-pkg@1.2.3. Které vývojářské stroje nebo projekty tuto verzi obsahují?“

Jak zapadá vedle SBOM a EDR

Bumblebee vyplňuje mezeru mezi klasickým SBOM a EDR:

To je praktické hlavně u vývojářských strojů, kde mohou zůstávat staré projekty, cache, lokální virtuální prostředí, rozšíření editorů nebo MCP konfigurace, které nejsou vidět v produkčním SBOM.

Co skenuje

Přesný seznam čtených souborů je popsaný v dokumentaci inventory sources. Podle aktuální dokumentace Bumblebee pokrývá hlavně tyto oblasti:

Co záměrně nedělá

Bumblebee je navržený jako read-only scanner. Podle dokumentace:

To je důležité pro bezpečné použití na vývojářských endpointech: nástroj pouze čte vybraná metadata a generuje strukturovaný výstup.

Základní model použití

Bumblebee potřebuje jeden ze dvou vstupů:

Praktický tok při incidentu:

  1. z bezpečnostního reportu nebo threat-intelligence zdroje vznikne seznam kompromitovaných balíčků a verzí,
  2. seznam se převede do JSON exposure catalogu,
  3. Bumblebee se spustí proti lokálním rootům,
  4. výstupem jsou finding záznamy pro přesné shody.

Instalace

Bumblebee je Go projekt bez externích non-stdlib závislostí. Podle README vyžaduje Go 1.25+.

Instalace poslední vydané verze:

go install github.com/perplexityai/bumblebee/cmd/bumblebee@latest

Instalace konkrétní verze:

go install github.com/perplexityai/bumblebee/cmd/bumblebee@v0.1.1

Po instalaci je vhodné spustit self-test:

bumblebee selftest

Self-test používá vestavěné fixture balíčky a nedělá síťové volání. Pokud selže, lokální instalace nedetekuje to, co má.

Scan profily

Bumblebee má tři profily. Každé spuštění je jednorázové: scanner proběhne a skončí. Periodicitu musí řešit externí runner, například cron, systemd, launchd nebo MDM.

baseline

Profil baseline skenuje běžné globální a uživatelské umístění:

Použití:

bumblebee scan --profile baseline > baseline.ndjson

Hodí se pro pravidelný lehký inventář endpointu.

project

Profil project skenuje vývojové adresáře, například ~/code, ~/src, ~/Developer nebo explicitně předané roots.

Použití:

bumblebee scan --profile project \
  --root "$HOME/code" \
  --root "$HOME/Developer" \
  > project.ndjson

Hodí se pro pravidelný inventář známých workspace adresářů.

deep

Profil deep je určený hlavně pro incidentní nebo kampaňové kontroly. Vyžaduje explicitní –root a umí projít široký adresář, například celý $HOME.

Typické použití při známém incidentu:

bumblebee scan --profile deep \
  --root "$HOME" \
  --exposure-catalog ./catalog.json \
  --findings-only

deep není ideální jako běžný denní scan všeho. Smysl dává hlavně tehdy, když už existuje konkrétní exposure catalog a cílem je rychle ověřit expozici.

Exposure catalog

Exposure catalog je JSON seznam známých rizikových komponent. Formát je jednoduchý a pracuje s přesnou kombinací ekosystému, názvu balíčku a verze.

Minimalistický příklad:

{
  "schema_version": "0.1.0",
  "entries": [
    {
      "id": "advisory-2026-0042",
      "name": "example-pkg 1.2.3 compromised release",
      "ecosystem": "npm",
      "package": "example-pkg",
      "versions": ["1.2.3"],
      "severity": "critical"
    }
  ]
}

Použití katalogu:

bumblebee scan --profile deep \
  --root "$HOME" \
  --exposure-catalog ./catalog.json \
  --findings-only

Pokud advisory popisuje rozsah verzí, je potřeba podle dokumentace počítat s tím, že Bumblebee v katalogu používá přesné shody. Takový rozsah je tedy potřeba buď převést na konkrétní verze, nebo dělat širší korelaci mimo Bumblebee nad inventářem.

Kde brát seznam kompromitovaných komponent

Bumblebee sám neříká, co je kompromitované. K tomu je potřeba threat intelligence nebo ručně připravený katalog.

Repozitář obsahuje složku threat_intel s ukázkovými a udržovanými exposure katalogy pro vybrané supply-chain kampaně. Dokumentace k této složce výslovně doporučuje záznamy před produkčním použitím zkontrolovat proti aktuálním advisories.

Další praktické zdroje mohou být:

Výsledek z těchto zdrojů musí být převedený do formátu exposure catalogu.

Výstup

Bumblebee zapisuje výstup jako NDJSON, tedy jeden JSON záznam na řádek. README a state model dokumentace popisují tři důležité typy záznamů:

U dlouhodobého sběru je důležité pracovat jen s kompletními běhy. Dokumentace doporučuje považovat běh za použitelný pro aktuální stav až po přijetí odpovídajícího scan_summary se stavem complete.

Příklad filtrování inventáře přes jq:

jq 'select(.record_type == "package" and .ecosystem == "npm")' inventory.ndjson

Hledání konkrétního balíčku:

jq 'select(.record_type == "package" and .normalized_name == "example-pkg")' inventory.ndjson

Zobrazení MCP záznamů:

jq 'select(.record_type == "package" and .source_type == "mcp-config")' inventory.ndjson

Doporučené praktické použití

Pro osobní nebo malý vývojářský setup dává smysl začít takto:

bumblebee selftest
 
bumblebee scan --profile baseline > baseline.ndjson
 
bumblebee scan --profile project \
  --root "$HOME/code" \
  > project.ndjson

Při konkrétní supply-chain kampani:

bumblebee scan --profile deep \
  --root "$HOME" \
  --exposure-catalog ./threat_intel/nejaky-katalog.json \
  --findings-only

Pro firemní použití dává větší smysl:

Omezení

Aktuální dokumentace uvádí, že Bumblebee zatím nepokrývá například:

Je také potřeba počítat s tím, že nález je metadata stopa, ne důkaz spuštění nebo kompromitace. Pokud Bumblebee najde rizikový balíček, je to vstup pro další šetření a remediaci.

Shrnutí

Bumblebee je praktický nástroj pro rychlou kontrolu expozice vývojářských strojů vůči známým supply-chain kompromitacím. Největší hodnotu má ve chvíli, kdy existuje konkrétní seznam podezřelých balíčků nebo verzí a je potřeba rychle zjistit, kde se v lokálním vývojářském prostředí nachází.

Zdroje