Perplexity відкриває вихідний код Bumblebee

Сьогодні ми відкриваємо вихідний код одного з внутрішніх інструментів, які ми використовуємо для захисту систем розробників позаду Perplexity, Comet і Computer.

Стрімкий розвиток штучного інтелекту приніс нову складність у сферу безпеки, оскільки вразливості виявляються щодня. 

Останні загрози все частіше націлені на програмні пакети, інструменти розробників та локальні середовища, на які покладаються такі сучасні інженерні команди, як Perplexity. Тому цілісність наших продуктів має починатися значно вище ланцюжка постачання, ніж етап виробництва. 

Сьогодні ми відкриваємо вихідний код одного з внутрішніх інструментів, які ми використовуємо для захисту систем розробників позаду Perplexity, Comet і Computer. 

Знайомтеся з Bumblebee

Bumblebee — це сканер лише для читання, який ми використовуємо для перевірки машин розробників на наявність ризикованих пакетів, розширень та конфігурацій інструментів ШІ під час інцидентів у ланцюжку постачання. 

Bumblebee корисний для всіх команд безпеки. Щоразу, коли повідомляється про нову вразливість, їм потрібно негайно знати, чи була якась із їхніх машин під загрозою. 

Забезпечення більшої безпеки продуктів Perplexity для користувачів починається із захисту систем розробників, за допомогою яких ми їх створюємо. Bumblebee є одним із компонентів нашого ширшого робочого процесу безпеки, де Perplexity Computer допомагає відстежувати нові загрози, люди переглядають оновлення каталогу, а Bumblebee перевіряє, чи з'являються вразливі компоненти на кінцевих точках розробників.

Сьогодні ми відкриваємо вихідний код Bumblebee, щоб будь-яка команда могла створювати рішучі рішення на базі того самого рівня безпеки. 

Від сигналу загрози до сканування кінцевої точки 

Інженерні організації тепер можуть запускати Bumblebee зі своїми власними каталогами та процесом перегляду. Ось як ми використовуємо Bumblebee всередині компанії: 

Сигнал загрози визначається за допомогою публічних розголошень, сторонніх стрічок розвідки або внутрішніх досліджень.

Perplexity Computer створює проєкт оновлення каталогу. Він вносить сигнал у структурований запис (екосистема, назва, версія), а потім відкриває PR на GitHub із посиланнями на джерела. 

Він переходить на етап перевірки людиною, після чого PR об'єднується (мерджиться).

Bumblebee працює на кінцевих точках з оновленим каталогом.

Результати перевірки передаються команді безпеки.

Bumblebee підтримує три профілі сканування, які вказують йому, де і наскільки широко шукати: 

Базовий профіль: Регулярне сканування стандартних місць на ноутбуці. Команди планують його за допомогою власного MDM або інструментів керування парком пристроїв.  

Профіль проєкту: Цільове сканування конкретних репозиторіїв або робочих просторів.

Глибокий профіль: Охоплення реагування на активні інциденти.

Кожне виявлення можна відстежити: воно показує, який запис каталогу спричинив подання, коли його було додано, а також будь-які докази. 

Безпека починається з локального середовища розробника 

Сканери SBOM та вразливостей обробляють репозиторії та артефакти збірки. Продукти інвентаризації кінцевих точок охоплюють встановлені додатки. Bumblebee працює на ноутбуці розробника. Він показує, чи встановлено на цьому комп'ютері певний пакет, версія, розширення чи конфігурація MCP, коли з'являється попередження про ланцюжок постачання.

Що перевіряє Bumblebee

Існуючі інструменти з відкритим кодом зазвичай охоплюють одну або дві з цих поверхонь. Bumblebee охоплює всі чотири:

Менеджери пакетів мов: npm, pnpm, Yarn, Bun, PyPI, Go modules, RubyGems, Composer

Конфігурації агентів ШІ: MCP 

Розширення редактора: Сімейство VS Code (VS Code, Cursor, Windsurf, VSCodium)

Розширення для браузера: Сімейство Chromium (Chrome, Comet, Edge, Brave, Arc) та Firefox

Безпечна оцінка ризиків 

Bumblebee доступний лише для читання. Він читає файли метаданих безпосередньо і ніколи не дозволяє запускати потенційно скомпрометовані інструменти, що запобігає перетворенню сканування на ризик. Робота Bumblebee лише для читання допомагає уникнути проблем із виконанням коду під час встановлення.

Пакети npm можуть містити скрипти після встановлення, які запускаються автоматично в момент, коли npm install торкається їх. Саме так поширювалися більшість останніх черв'яків у ланцюжку постачання. Сканер, який викликає npm для перевірки на вразливість, вже спровокував атаку, яку він шукав. Bumblebee запобігає цьому, уникаючи наступного: 

Виконання коду: ніколи не запускає скрипти встановлення або хуки життєвого циклу.

Виклик менеджера пакетів: ніколи не запускає npm, pnpm, bun або pip.

Читання вихідних файлів: ніколи не читає вихідні файли додатків; він читає метадані, такі як файли блокування, маніфести та метадані встановлених пакетів.

Моніторинг процесів або мережі: Bumblebee не є EDR.

Bumblebee тепер доступний як проєкт Go з відкритим кодом для кінцевих точок розробників на macOS та Linux. Команди безпеки можуть завантажити його, запустити проти власного каталогу поганих версій і передати результати в будь-який робочий процес реагування, який вони вже використовують.