Các đối tượng tấn công ngày càng nhắm mục tiêu vào các gói phần mềm, tiện ích mở rộng của trình soạn thảo và cấu hình công cụ AI trên máy tính của nhà phát triển, thay vì chỉ các hệ thống sản xuất. Perplexity đã công bố mã nguồn mở một công cụ nội bộ mà họ sử dụng để giải quyết vấn đề này.
Perplexity đã phát hành Bumblebee trên GitHub. Công cụ này là một trình thu thập thông tin chỉ đọc dành cho các thiết bị đầu cuối của nhà phát triển chạy macOS và Linux. Nó được viết hoàn toàn bằng Go và không có bất kỳ phụ thuộc nào ngoài thư viện chuẩn. Perplexity đã sử dụng công cụ này nội bộ để bảo vệ các hệ thống của nhà phát triển đằng sau sản phẩm tìm kiếm Comet browser và tác nhân Computer của họ.
Vấn đề mà Bumblebee giải quyết
Nếu bạn là một kỹ sư phần mềm
Các đối tượng tấn công ngày càng nhắm mục tiêu vào các gói phần mềm, tiện ích mở rộng trình soạn thảo và cấu hình công cụ AI trên máy tính của nhà phát triển, thay vì chỉ các hệ thống sản xuất. Perplexity đã công bố mã nguồn mở một công cụ nội bộ mà họ sử dụng để giải quyết vấn đề này.
Perplexity đã phát hành Bumblebee trên GitHub. Công cụ này là một trình thu thập thông tin chỉ đọc dành cho các điểm cuối của nhà phát triển sử dụng macOS và Linux. Nó được viết hoàn toàn bằng Go và không có bất kỳ phụ thuộc nào ngoài thư viện chuẩn (non-stdlib). Perplexity đã sử dụng công cụ này nội bộ để bảo vệ các hệ thống của nhà phát triển đằng sau sản phẩm tìm kiếm, trình duyệt Comet và tác nhân Computer của họ.
Vấn đề mà Bumblebee giải quyết
Nếu bạn là kỹ sư phần mềm hoặc nhà khoa học dữ liệu, bạn có thể đã cài đặt hàng chục gói phần mềm cục bộ. Bạn có các tiện ích mở rộng trình soạn thảo, tiện ích bổ sung trình duyệt và có thể cả cấu hình MCP (Model Context Protocol) trên máy tính của mình. Khi một lỗ hổng mới xuất hiện, nhóm bảo mật của bạn phải đối mặt với một câu hỏi cấp bách: những máy tính của nhà phát triển nào đang bị phơi nhiễm ngay lúc này?
Các công cụ hiện có không thể trả lời đầy đủ câu hỏi này. SBOM (Software Bills of Materials) và các công cụ quét lỗ hổng bao gồm các tạo phẩm xây dựng và kho lưu trữ. Các sản phẩm EDR (Endpoint Detection and Response) theo dõi các tiến trình đã chạy hoặc đã chạm vào mạng. Cả hai đều không kiểm tra trạng thái cục bộ của nhà phát triển – các tệp khóa (lockfile), siêu dữ liệu gói, tệp kê khai tiện ích mở rộng và cấu hình công cụ AI nằm rải rác trên hệ thống tệp của máy tính xách tay.
Bumblebee lấp đầy khoảng trống đó. Khi một cảnh báo nêu tên một gói, tiện ích mở rộng hoặc phiên bản, nó sẽ trả lời máy nào hiển thị sự trùng khớp trong siêu dữ liệu trên đĩa của chúng ngay lúc này. Phạm vi hệ sinh thái cũng được cân nhắc kỹ lưỡng: các hệ sinh thái được bao phủ tương ứng với các chiến dịch chuỗi cung ứng đang hoạt động gần đây, bao gồm loạt Mini Shai-Hulud, đã tấn công các gói npm, PyPI, RubyGems, Go modules và Composer trên các công ty bao gồm TanStack, SAP và Zapier.
Cách Bumblebee hoạt động
Bumblebee là một trình quét một lần. Mỗi lần gọi sẽ thực hiện một lần quét duy nhất và thoát. Tần suất là trách nhiệm của người vận hành – cron, launchd, systemd hoặc công cụ quản lý đội ngũ MDM. Nó xuất ra các bản ghi có cấu trúc dưới dạng NDJSON (JSON phân tách bằng ký tự xuống dòng), mỗi bản ghi một dòng, với các chẩn đoán được gửi đến stderr.
Công cụ này hỗ trợ ba cấu hình quét. Cấu hình cơ sở quét các thư mục gốc gói chung và người dùng phổ biến, chuỗi công cụ ngôn ngữ, tiện ích mở rộng trình soạn thảo, tiện ích mở rộng trình duyệt và cấu hình MCP. Cấu hình dự án nhắm mục tiêu vào các thư mục phát triển được cấu hình như ~/code hoặc ~/src. Cấu hình sâu quét các thư mục gốc do người vận hành cung cấp, thường là một thư mục chính trống trong một sự cố đang hoạt động.
Nội bộ, Perplexity sử dụng Bumblebee trong một quy trình gồm năm bước. Một tín hiệu mối đe dọa đến từ các tiết lộ công khai hoặc nguồn cấp dữ liệu tình báo của bên thứ ba. Perplexity Computer sau đó soạn thảo một bản cập nhật danh mục, nhập tín hiệu dưới dạng một mục có cấu trúc với hệ sinh thái, tên gói và phiên bản – và mở một PR GitHub với các liên kết nguồn. Một nhà phát triển con người xem xét và hợp nhất PR. Bumblebee sau đó chạy trên các điểm cuối với danh mục được cập nhật, và các phát hiện được chia sẻ với nhóm bảo mật.
Nguồn hình ảnh: https://www.perplexity.ai/hub/blog/perplexity-is-open-sourcing-bumblebee
Những gì Bumblebee quét
Bumblebee bao gồm bốn lĩnh vực mà các công cụ hiện có thường xử lý riêng biệt.
Đối với các trình quản lý gói ngôn ngữ, nó đọc từ npm, pnpm, Yarn, Bun, PyPI, Go modules, RubyGems và Composer. Nó đọc trực tiếp các tệp khóa (lockfile) và siêu dữ liệu gói đã cài đặt – các nguồn như package-lock.json, pnpm-lock.yaml, go.sum và *.dist-info/METADATA. Lưu ý rằng bun.lockb, định dạng tệp khóa nhị phân của Bun, không được phân tích cú pháp trong v0.1; chỉ định dạng văn bản bun.lock được hỗ trợ.
Đối với cấu hình tác nhân AI, Bumblebee đọc các tệp cấu hình máy chủ MCP JSON: mcp.json, .mcp.json, claude_desktop_config.json, mcp_config.json, mcp_settings.json, cline_mcp_settings.json và ~/.gemini/settings.json cho Gemini CLI. Các cấu hình MCP không phải JSON như Codex config.toml và Continue YAML không được phân tích cú pháp trong phiên bản 0.1. Công cụ này phân tích cú pháp các tệp này để kiểm kê máy chủ nhưng không phát ra các giá trị môi trường hoặc tên khóa môi trường được tìm thấy trong các khối env.
Đối với các tiện ích mở rộng trình chỉnh sửa, công cụ này đọc các tệp kê khai từ VS Code, Cursor, Windsurf và VSCodium. Đối với các tiện ích mở rộng trình duyệt, công cụ này bao gồm các trình duyệt thuộc họ Chromium — Chrome, Comet, Edge, Brave và Arc — cùng với Firefox.
Lý do chỉ đọc
Các gói npm có thể chứa các tập lệnh postinstall tự động thực thi khi cài đặt npm. Một trình quét gọi npm để kiểm tra lỗ hổng đã kích hoạt cuộc tấn công mà nó đang tìm kiếm. Bumblebee hoàn toàn tránh điều này bằng cách không bao giờ chạy các tập lệnh cài đặt hoặc các hook vòng đời, không bao giờ gọi npm, pnpm, bun hoặc pip, không bao giờ đọc các tệp nguồn ứng dụng và không thực hiện giám sát tiến trình hoặc mạng. Đây không phải là một EDR.
Đầu ra và Danh mục lỗ hổng
Mỗi bản ghi gói bao gồm tên máy chủ, hệ điều hành, kiến trúc, hệ sinh thái, tên gói, phiên bản, tệp nguồn và trường độ tin cậy. Độ tin cậy cao khi danh tính và phiên bản chính xác đến từ siêu dữ liệu chính tắc, trung bình khi danh tính đáng tin cậy nhưng phiên bản hoặc nguồn không đầy đủ, và thấp khi chỉ tìm thấy đường dẫn cấu hình hoặc tham chiếu đặc tả.
Các nhóm bảo mật cung cấp danh mục lỗ hổng của riêng họ — các tệp JSON đơn giản chỉ định hệ sinh thái, tên gói và các phiên bản bị ảnh hưởng. Khi Bumblebee tìm thấy một kết quả phù hợp, nó sẽ phát ra một bản ghi phát hiện bao gồm mức độ nghiêm trọng, ID danh mục và bằng chứng. Mỗi phát hiện có thể được truy nguyên hoàn toàn về mục danh mục nào đã kích hoạt nó. Kho lưu trữ cũng bao gồm một thư mục threat_intel/ với các danh mục lỗ hổng được duy trì được xây dựng từ các báo cáo chiến dịch chuỗi cung ứng công khai.
Bắt đầu
Bumblebee yêu cầu Go 1.25 trở lên. Cài đặt bằng cách:
Sao chép mã đã sao chépSử dụng trình duyệt khác
go install github.com/perplexityai/bumblebee/cmd/bumblebee@latest
Sau khi cài đặt, bumblebee selftest xác minh rằng tệp nhị phân hoạt động chính xác với các thiết bị cố định được nhúng. Công cụ này được cấp phép theo Giấy phép Apache 2.0. Bản phát hành hiện tại là v0.1.1.
Những điểm chính
Bumblebee là trình quét điểm cuối nhà phát triển chỉ đọc, mã nguồn mở của Perplexity để kiểm tra lỗ hổng chuỗi cung ứng.
Nó bao gồm npm, pnpm, Yarn, Bun, PyPI, Go modules, RubyGems, Composer, cấu hình MCP, tiện ích mở rộng trình chỉnh sửa và tiện ích mở rộng trình duyệt.
Ba cấu hình quét — baseli
Nguồn tin: MarkTechPost — Tác giả: Asif Razzaq. Bản dịch tiếng Việt do AI thực hiện, có thể có sai sót.