Bumblebee: O Scanner de Código Aberto para Máquinas de Desenvolvimento Bagunçadas
BBetter Stack
Computing/SoftwareManagementInternet Technology
Transcript
00:00:00Sabe o que é irritante nos ataques à cadeia de suprimentos? Quando todo mundo entra em pânico,
00:00:04a pergunta não é: a produção está segura? É: alguém instalou isso localmente?
00:00:09Este é o Bumblebee. É uma nova ferramenta open source da Perplexity que escaneia sua máquina de
00:00:15desenvolvimento em busca de pacotes, extensões e configurações de MCP sem executar seus gerenciadores de pacotes
00:00:21ou executar o código do projeto. Então, em vez de procurar manualmente, você obtém um inventário local em segundos.
00:00:26Vou executá-lo ao vivo. Depois falaremos sobre onde ele realmente funciona e onde não funciona.
00:00:36Bem, o modelo antigo era simples. Escanear o repositório, escanear o container, escanear a produção.
00:00:41Mas não é assim que muitos de nós trabalhamos hoje em dia. Atualmente, um laptop pode ter gerenciadores de pacotes,
00:00:46extensões de navegador, extensões de editor, ferramentas de codificação de IA, agentes locais, tudo isso convivendo junto.
00:00:53Isso é muita confiança depositada em uma única máquina. A Perplexity construiu o Bumblebee internamente para este
00:00:58exato motivo, e depois tornou-o open source há poucos dias. O Bumblebee é um scanner de binário único e somente leitura
00:01:05que inventaria pacotes, extensões de editor, extensões de navegador e configurações de ferramentas de IA a partir de metadados
00:01:11locais. Sem npm ls, sem pip show, sem executar código de projeto aleatório, apenas metadados. Vamos tentar executá-lo.
00:01:19Se você gosta de ferramentas de codificação que aceleram seu fluxo de trabalho, certifique-se de se inscrever. Temos vídeos saindo o
00:01:24tempo todo. Tudo bem. Primeiro, precisamos instalar isso com go install do GitHub.
00:01:29Isso nos dá um binário Go único, sem daemon, sem serviço. Agora vamos executar o teste de autodiagnóstico. Tudo o que preciso
00:01:37fazer para isso é rodar o bumblebee self-test. E espero que recebamos o retorno do teste. Ok. Bom. O scanner consegue
00:01:46detectar corretamente seus dados de teste conhecidos. É isso que este teste fez. Agora vamos executar uma varredura de linha de base.
00:01:52Tudo o que faremos é executar o bumblebee scan profile. Vamos dizer baseline e vamos colocar
00:01:57nosso arquivo nd.json. Esta é a varredura que usamos para o inventário regular de endpoints de desenvolvedores. Ele verifica caminhos
00:02:05comuns, globais e de pacotes em nível de usuário, extensões de editor, extensões de navegador e configurações de MCP
00:02:10suportadas. Agora vamos ver a saída. Vou rodar o head aqui. E essa é a grande coisa que o Bumblebee
00:02:17está fazendo agora. Cada linha é um registro estruturado. Nós recebemos de volta. Então você obtém o nome do pacote do ecossistema,
00:02:25a versão, o arquivo de origem, o nível de confiança, os metadados e você obtém onde o Bumblebee o encontrou. Então agora,
00:02:31em vez de perguntarmos: eu talvez tenha isso instalado em algum lugar do sistema? Podemos realmente ver
00:02:36agora bem aqui. E como se trata de análise de metadados somente leitura, o Bumblebee não está chamando o npm. Não está
00:02:43importando nenhum pacote Python e não está compilando seu projeto Go. Tudo o que ele está fazendo é apenas lendo
00:02:50arquivos. E é por isso que isso é útil durante um incidente. Se você tiver o Go instalado, este é o
00:02:55momento em que eu talvez pausaria o vídeo, talvez tentasse na sua própria máquina. É super fácil de configurar.
00:03:00Ok, legal. Mas por que isso não é apenas mais um scanner de segurança? Porque já temos esses. Agora,
00:03:06à primeira vista, você pode pensar algumas coisas. É mais uma ferramenta de SCA, mas na verdade não é o que
00:03:12isso é. As ferramentas de SCA são voltadas principalmente para as dependências da sua aplicação. Ferramentas de SBOM são sobre o que você enviou.
00:03:19EDR é sobre o que você executou. O Bumblebee é sobre o estado local do desenvolvedor. Então, imagine que um aviso de pacote
00:03:26comprometido é divulgado. Você precisa saber quais laptops podem estar expostos. A atitude óbvia
00:03:32é pedir a todos que rodem comandos de gerenciador de pacotes, mas essa é exatamente a atitude errada aqui. Se estamos
00:03:38procurando por algo malicioso, você não quer que seu comando execute acidentalmente o comportamento
00:03:42malicioso. Então, o Bumblebee é direto. Ler metadados, emitir inventário, combinar exposições conhecidas,
00:03:49e então sair. Está feito. Ele tem três perfis de varredura. O primeiro é a linha de base. Esta é a sua
00:03:55varredura recorrente leve. Ele observa pacotes globais, cadeias de ferramentas em nível de usuário, extensões,
00:04:02e configurações de MCP. Basicamente, o que normalmente existe nesta máquina de desenvolvedor. Essa é a pergunta que
00:04:09ele está nos respondendo. Ele está respondendo. Então ele vai para o projeto. Isso é para diretórios de espaço de trabalho
00:04:14conhecidos como code, source ou work. Use isso quando você se preocupa com arquivos travados em
00:04:20pastas de desenvolvimento reais. E então podemos até fazê-lo ir mais fundo. Este é o modo de resposta a incidentes.
00:04:26Você aponta para caminhos explícitos, até mesmo algo amplo como home, geralmente com um catálogo de exposições e um
00:04:32limite de duração. Então, seu fluxo de trabalho normal pode ser bumblebee scan profile baseline. Ok. Quando algo ruim
00:04:38acontece, você muda para uma varredura mais profunda, bumblebee scan profile, você pode ir mais fundo com este comando
00:04:44bem aqui. Esse é realmente o processo para tudo isso: baseline quando as coisas estão calmas, varredura profunda quando há fumaça.
00:04:51E a cobertura é o que torna isso realmente interessante. O Bumblebee pode verificar através de npm, pnpm, yarn, bun,
00:04:58módulos Go, o que você quiser. Além disso, ele pode observar configurações JSON de MCP suportadas. Esse é um recurso importante porque
00:05:06hoje em dia, as configurações de MCP estão se tornando os novos arquivos ENV. Nós os temos em todo o nosso sistema. O Bumblebee também
00:05:13emite NDJSON. Agora, algumas pessoas vão odiar isso. Mas outra forma de ver é,
00:05:18significa que você pode enviá-lo via pipe para o JQ, salvá-lo em um arquivo, coletá-lo através de MDM, ingeri-lo em um SIEM,
00:05:25ou entregá-lo a outro fluxo de trabalho agente. Ele só está tentando ser uma infraestrutura entediante e scriptável. E para este
00:05:32tipo de problema, entediante é provavelmente melhor de qualquer maneira. Agora, ele é rápido. É muito rápido. É um binário Go
00:05:38único com zero dependências de biblioteca não padrão. Esse é um ponto de partida muito amigável para o desenvolvedor. Isso
00:05:45significa que ele é seguro por design. A abordagem somente leitura não é um detalhe pequeno. Durante um incidente na cadeia de suprimentos,
00:05:51apenas executar o gerenciador de pacotes e ver o que acontece não é sempre o melhor plano. Se o pacote que você está
00:05:58analisando tiver scripts de estilo de vida maliciosos ou comportamento de plugin estranho, você não quer que seu scanner seja
00:06:03a coisa que o dispara acidentalmente. Agora, isso também preenche uma lacuna real. A maioria das equipes tem alguma visibilidade
00:06:10em CI, alguma visibilidade em contêineres de produção e alguma visibilidade de endpoint. Mas a máquina de desenvolvimento pode
00:06:17ficar bagunçada. Ela tem projetos inacabados, clones antigos, pacotes globais, ambientes virtuais de teste,
00:06:23ferramentas de IA, todas as coisas que nunca aparecem no seu inventário oficial limpo. O Bumblebee lhe dá uma
00:06:30forma prática de ver esse estado local. E então, finalmente, a cobertura de configuração de IA chegou na hora certa. Agentes locais,
00:06:36servidores MPC e fluxos de trabalho de chamada de ferramentas estão se movendo rápido. Mas tenha isso em mente agora também, enquanto você
00:06:43vai usar o Bumblebee. Isto é novo. Tipo, estou falando super, super novo, já que acabou de ser lançado. Então
00:06:49espere mudanças. Ele está focado em Mac OS e Linux agora. O fluxo do catálogo de exposições é legal, mas também
00:06:54significa que o Bumblebee se torna muito mais útil quando você tem bons dados de consultoria. E não é EDR, certo?
00:07:02Ele responde a uma pergunta mais restrita. Quais pacotes, extensões e configurações de ferramentas de desenvolvedor estão presentes nesta
00:07:09máquina. E algum deles corresponde a algo que já sabemos que é ruim. Esse é o ponto. Isso não está substituindo
00:07:14sua pilha de segurança. Está preenchendo a parte que sua pilha de segurança provavelmente não vê claramente. Então
00:07:19você deveria realmente usar o Bumblebee? Minha resposta é sim, especialmente se o seu trabalho diário
00:07:24envolve npm, Go, VS Code, cursor, Claude, servidores, esse tipo de coisa. Execute uma varredura de linha de base uma vez por semana,
00:07:32certo? É um único comando. Bumblebee scan profile, e ele vai fazer o que eu mostrei aqui.
00:07:37Agora você tem um snapshot do que está na sua máquina. Salve o NDJSON em algum lugar central.
00:07:43Então, quando um incidente ocorre, você pode pesquisar em tudo, em vez de perguntar a todos no Slack,
00:07:49ei, alguém tem isso? O Bumblebee diz a você quais máquinas de desenvolvedor estão atualmente expostas através de
00:07:55metadados de pacotes locais, manifestos de extensão e configurações de ferramentas de IA suportadas. Isso é extremamente útil na primeira
00:08:02hora em que algo dá errado, porque ninguém quer debater. Eles querem saber quem está exposto, onde
00:08:08está, e quão rápido você pode provar isso? E para isso, o Bumblebee é muito convincente. É uma ferramenta open source
00:08:14bastante forte que acabamos de receber. Se você gosta de ferramentas e dicas de codificação como esta, certifique-se de se inscrever no
00:08:18canal da BetterStack.
00:08:20Nos vemos em outro vídeo.
Community Posts
No posts yet. Be the first to write about this video!
Write about this video