Bumblebee

설치된 패키지·확장을 훑어 공급망 침해 노출을 점검하는 스캐너

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

Perplexity 가 공개한 읽기 전용 공급망 점검 도구입니다. 디스크에 설치된 패키지와 에디터 확장, 개발 도구 메타데이터를 훑어 알려진 공급망 침해 사례에 노출됐는지 확인합니다. 읽기만 하고 변경하지 않으며 Go 로 설치합니다.

판단

이럴 때 씁니다

  • 공급망 권고가 특정 패키지나 버전을 지목했을 때 어느 개발 장비가 걸리는지 즉시 확인해야 할 때
  • SBOM 이 답하는 무엇을 배포했는가와 별개로 개발자 로컬의 실제 설치 상태를 봐야 할 때
  • 패키지 매니저를 실행하지 않고 읽기만 하는 안전한 점검이 필요할 때
  • 여러 장비의 결과를 NDJSON 으로 모아 파이프라인에 태우고 싶을 때

이럴 땐 쓰지 마세요

  • 무엇이 실제로 실행됐고 네트워크를 건드렸는지 알아야 할 때. 그건 EDR 의 영역입니다
  • 취약점을 찾아 익스플로잇까지 검증해야 할 때
  • 지원 목록에 없는 생태계나 도구의 메타데이터가 필요할 때
  • 무엇을 찾는지 모르는 상태에서 탐색적으로 훑고 싶을 때. 노출 카탈로그가 있어야 값을 합니다

차별점

  • 표준 라이브러리 외 의존성이 없는 Go 단일 정적 바이너리라 배포와 회수가 간단합니다.
  • 패키지 매니저를 실행하지 않고 잠금 파일과 설치 메타데이터만 읽는 완전 읽기 전용 설계입니다.
  • npm·pnpm·Yarn·Bun·PyPI 등 생태계별 잠금 파일과 확장 매니페스트, MCP 설정까지 한 번에 훑습니다.
  • 결과가 구조화된 NDJSON 이라 여러 장비의 산출물을 그대로 파이프라인에 태울 수 있습니다.

워크플로

  1. 01go install 로 단일 정적 바이너리를 받습니다. 표준 라이브러리 외 의존성이 없습니다.
  2. 02점검 대상 집단과 주기에 맞춰 baseline·project·deep 중 스캔 프로파일을 고릅니다.
  3. 03스캔을 실행하면 로컬 메타데이터가 구조화된 NDJSON 컴포넌트 레코드로 떨어집니다.
  4. 04권고에서 뽑은 노출 카탈로그를 함께 넘기면 정확히 일치하는 항목만 표시됩니다.

주요 명령

명령설명
go install github.com/perplexityai/bumblebee/cmd/bumblebee@latest단일 정적 바이너리를 설치합니다. Go 1.25 이상이 필요합니다.
bumblebee --profile baseline가장 가벼운 프로파일로 넓은 집단을 빠르게 훑습니다.
bumblebee --profile deep가장 깊은 프로파일로 정밀 점검합니다.

함정

설치 전에 확인하세요

  • 읽기 전용입니다. npm ls 나 pip show 같은 패키지 매니저 실행도, 소스 파일 읽기도 하지 않습니다. 그만큼 안전하지만 잠금 파일과 설치 메타데이터에 없는 것은 보이지 않습니다.
  • MCP 호스트 설정의 env 블록에는 자격 증명이 들어 있을 수 있습니다. Bumblebee 는 서버 목록을 얻기 위해 이 설정을 파싱하되 그 값을 레코드에 담지 않지만, 산출물 취급 정책은 별도로 세워야 합니다.
  • 노출 카탈로그 없이 돌리면 재고 목록만 나옵니다. 무엇을 찾는지 아는 상태에서 써야 값이 납니다.
  • 지원 대상은 macOS 와 리눅스 개발 엔드포인트입니다. 다루는 생태계도 문서에 명시된 목록으로 한정됩니다.

검토 메모

공식 문서·릴리스·공개 자료를 바탕으로 정리한 편집 메모입니다.

이 도구는 답하는 질문이 아주 좁습니다. 저는 그 점이 단점이 아니라 설계 의도라고 봅니다. 권고가 특정 패키지와 버전을 지목했을 때 지금 어느 장비가 걸리는지, 오직 그 하나에 답합니다. SBOM 은 무엇을 배포했는지 알려 주고 EDR 은 무엇이 실행됐는지 알려 주지만, 사고 대응에서 정작 급한 것은 개발자 노트북 디스크에 아직 무엇이 남아 있는가일 때가 많습니다. 그 빈칸을 노린 도구입니다.

읽기 전용이라는 점을 가볍게 넘기지 않으시길 권합니다. npm ls 나 pip show 같은 패키지 매니저 실행조차 하지 않고 잠금 파일과 설치 메타데이터만 읽습니다. 이미 침해가 의심되는 장비에 조사 도구를 올릴 때 그 도구가 무엇을 실행하는지는 민감한 문제인데, 여기서는 그 걱정이 없습니다. 대신 잠금 파일에 기록되지 않은 것은 보이지 않는다는 한계도 같이 옵니다.

실무에서 미리 준비하실 것은 노출 카탈로그입니다. 카탈로그 없이 돌리면 그냥 재고 목록이 나올 뿐이라, 무엇을 찾는지 아는 상태에서 써야 값이 납니다. 산출물 취급 기준도 함께 정해 두시길 권합니다. MCP 호스트 설정의 env 블록에는 자격 증명이 들어 있을 수 있고, 도구가 그 값을 레코드에 담지는 않지만 스캔 결과 자체가 조직의 개발 환경 지도라는 사실은 변하지 않습니다.

비교

SBOM 이 무엇을 배포했는지, EDR 이 무엇이 실행됐는지를 답한다면 Bumblebee 는 지금 개발 장비의 디스크에 무엇이 남아 있는지를 답합니다. 같은 시기에 함께 등록한 Strix 와는 방향이 반대입니다. 그쪽은 실행해서 취약점을 증명하고 이쪽은 실행하지 않고 재고만 읽습니다. 권고가 떴을 때 영향 범위를 빠르게 좁히는 용도로 서로 보완합니다.

최근 변경

v0.1.2 기준 baseline·project·deep 세 스캔 프로파일과 npm·pnpm·Yarn·Bun·PyPI 등 생태계별 잠금 파일 및 확장 매니페스트, MCP 설정 수집을 지원합니다.