
bearer v2.1.1
Ferramenta de varredura de segurança de código (SAST) para descobrir, filtrar e priorizar riscos de segurança e privacidade.
Digitalize seu código-fonte contra os principais riscos de segurança e privacidade.
O Bearer é uma ferramenta de teste de segurança estática de aplicações (SAST) projetada para digitalizar seu código-fonte e analisar fluxos de dados para identificar, filtrar e priorizar riscos de segurança e privacidade.
O Bearer oferece uma solução gratuita e aberta, Bearer CLI, e uma solução comercial, Bearer Pro, disponível através da Cycode.
Suporte a Idiomas
Bearer CLI (Open Source): Go • Java • JavaScript • TypeScript • PHP • Python • Ruby
Bearer Pro by Cycode: Todos os idiomas do Bearer CLI mais:
- Análise Avançada entre Arquivos: Java • Python • C# (alfa)
- Idiomas Adicionais: C# • Kotlin • Elixir • VB.Net
Saiba mais sobre o suporte a idiomas
Análise de código estática amigável para desenvolvedores para segurança e privacidade
https://user-images.githubusercontent.com/1649672/230438696-9bb0fd35-2aa9-4273-9970-733189d01ff1.mp4
O Bearer CLI digitaliza seu código-fonte para:
-
Riscos e vulnerabilidades de segurança usando regras integradas cobrindo o OWASP Top 10 e CWE Top 25, como:
- A01: Controle de acesso (ex.: Path Traversal, Open Redirect, Exposição de Informações Sensíveis).
- A02: Falhas Criptográficas (ex.: Algoritmo Fraco, Comunicação Insegura).
- A03: Injeção (ex.: Injeção SQL, Validação de Entrada, XSS, XPath).
- A04: Design (ex.: Falta de Criptografia de Dados Sensíveis, Cookies Persistentes Contendo Informações Sensíveis).
- A05: Configuração Incorreta de Segurança (ex.: Armazenamento em Texto Claro de Informações Sensíveis em um Cookie ou JWT).
- A07: Falhas de Identificação e Autenticação (ex.: Uso de Senha Hard-coded, Validação Incorreta de Certificado).
- A08: Falhas de Integridade de Dados (ex.: Desserialização de Dados Não Confiáveis).
- A09: Falhas de Registro e Monitoramento de Segurança (ex.: Inserção de Informações Sensíveis em Arquivo de Log).
- A10: Server-Side Request Forgery (SSRF).
Nota: todas as regras e seus padrões de código estão acessíveis através da documentação.
-
Riscos de privacidade com a capacidade de detectar fluxo de dados sensíveis como o uso de PII, PHI em sua aplicação, e componentes processando dados sensíveis (ex.: bancos de dados como pgSQL, APIs de terceiros como OpenAI, Sentry, etc.). Isso ajuda a gerar um relatório de privacidade relevante para:
- Avaliação de Impacto na Privacidade (PIA).
- Avaliação de Impacto na Proteção de Dados (DPIA).
- Registro de Atividades de Tratamento (RoPA) como entrada para relatórios de conformidade com o GDPR.
🚀 Introdução
Descubra seus riscos e vulnerabilidades de segurança mais críticos em apenas alguns minutos. Neste guia, você instalará o Bearer CLI, executará uma varredura de segurança em um projeto local e visualizará os resultados. Vamos começar!
Instalar o Bearer CLI
A maneira mais rápida de instalar o Bearer CLI é com o script de instalação. Ele selecionará automaticamente a melhor build para sua arquitetura. Por padrão, instala em ./bin e na versão de lançamento mais recente:
curl -sfL https://raw.githubusercontent.com/Bearer/bearer/main/contrib/install.sh | sh
Outras opções de instalação
Homebrew
Usando o tap oficial do Bearer CLI no Homebrew:
brew install bearer/tap/bearer
Atualize uma instalação existente com o seguinte comando:
brew update && brew upgrade bearer/tap/bearer
Debian/Ubuntu
sudo apt-get update && sudo apt-get install ca-certificates -y && sudo update-ca-certificates
sudo apt-get install apt-transport-https
echo -e "Types: deb\nURIs: https://apt.fury.io/bearer/\nSuites: /\nTrusted: yes" | sudo tee /etc/apt/sources.list.d/fury.sources
sudo apt-get update
sudo apt-get install bearer
Atualize uma instalação existente com o seguinte comando:
sudo apt-get update
sudo apt-get install bearer
RHEL/CentOS
Adicione a configuração do repositório:
$ sudo vim /etc/yum.repos.d/fury.repo
[fury]
name=Repositório Privado Gemfury
baseurl=https://yum.fury.io/bearer/
enabled=1
gpgcheck=0
Em seguida, instale com yum:
sudo yum -y update
sudo yum -y install bearer
Atualize uma instalação existente com o seguinte comando:
sudo yum -y update bearer
Docker
O Bearer CLI também está disponível como imagem Docker no Docker Hub e no ghcr.io.
Com o docker instalado, você pode executar o seguinte comando substituindo os caminhos de exemplo pelos apropriados.
docker run --rm -v /path/to/repo:/tmp/scan bearer/bearer:latest-amd64 scan /tmp/scan
Além disso, você pode usar o docker compose. Adicione o seguinte ao seu arquivo docker-compose.yml e substitua os volumes pelos caminhos apropriados para o seu projeto:
version: "3"
services:
bearer:
platform: linux/amd64
image: bearer/bearer:latest-amd64
volumes:
- /path/to/repo:/tmp/scan
Em seguida, execute o comando docker compose run para executar o Bearer CLI com quaisquer flags especificadas:
docker compose run bearer scan /tmp/scan --debug
As configurações Docker acima sempre usarão o lançamento mais recente.
Binário
Baixe o arquivo compactado para seu sistema operacional/arquitetura aqui.
Descompacte o arquivo e coloque o binário em algum lugar no seu $PATH (em sistemas UNIX-y, /usr/local/bin ou similar). Certifique-se de que ele tenha permissão para executar.
Para atualizar o Bearer CLI ao usar o binário, baixe o lançamento mais recente e sobrescreva seu local de instalação existente.
Digitalize seu projeto
A maneira mais fácil de testar o Bearer CLI é com o projeto de exemplo OWASP Juice Shop. Ele simula uma aplicação JavaScript realista com falhas de segurança comuns. Clone ou baixe-o para um local conveniente para começar.
git clone https://github.com/juice-shop/juice-shop.git
Agora, execute o comando de varredura com bearer scan no diretório do projeto:
bearer scan juice-shop
Uma barra de progresso exibirá o status da varredura.
Após a conclusão da varredura, o Bearer CLI exibirá, por padrão, um relatório de segurança com detalhes de quaisquer achados de regras, bem como onde no código as infrações ocorreram e por quê.
Por padrão, o comando scan usa o scanner SAST; outros tipos de scanner estão disponíveis.
Analise o relatório
O relatório de segurança é uma visão facilmente digerível dos problemas de segurança detectados pelo Bearer CLI. Um relatório é composto por:
- A lista de regras executadas no seu código.
- Cada achado detectado, contendo o local do arquivo e as linhas que acionaram o achado da regra.
- Uma seção de estatísticas com um resumo das verificações de regras, achados e avisos.
A aplicação de exemplo OWASP Juice Shop acionará achados de regras e gerará um relatório completo. Aqui está uma seção da saída:
...
HIGH: Dados sensíveis armazenados em armazenamento local HTML detectado. [CWE-312]
https://docs.bearer.com/reference/rules/javascript_lang_session
Para pular esta regra, use a flag --skip-rule=javascript_lang_session
Arquivo: juice-shop/frontend/src/app/login/login.component.ts:102
102 localStorage.setItem('email', this.user.email)
=====================================
59 verificações, 40 achados
CRITICAL: 0
HIGH: 16 (CWE-22, CWE-312, CWE-798, CWE-89)
MEDIUM: 24 (CWE-327, CWE-548, CWE-79)
LOW: 0
WARNING: 0
Além do relatório de segurança, você também pode executar um relatório de privacidade.
Pronto para o próximo passo? Opções adicionais para usar e configurar o comando scan podem ser encontradas em configurando o comando scan.
Para mais guias e dicas de uso, veja a documentação.
❓ Perguntas Frequentes
O que torna o Bearer CLI diferente de outras ferramentas SAST?
Ferramentas SAST são conhecidas por enterrar equipes de segurança e desenvolvedores sob centenas de problemas com pouco contexto e nenhum senso de prioridade, muitas vezes exigindo que analistas de segurança classifiquem problemas manualmente.
O ativo mais vulnerável hoje são os dados sensíveis, então começamos por aí e priorizamos achados avaliando fluxos de dados sensíveis para destacar o que é mais crítico e o que não é. Essa capacidade única nos permite fornecer a você também um scanner de privacidade.
Acreditamos que, ao vincular problemas de segurança a um claro impacto nos negócios e risco de violação ou vazamento de dados, podemos construir software melhor e mais robusto, sem custo extra.
Além disso, por ser gratuito e aberto, extensível por design e construído com uma excelente experiência do desenvolvedor em mente, apostamos que você verá a diferença por si mesmo.
O que é o scanner de privacidade?
Além de detectar falhas de segurança em seu código, o Bearer CLI permite automatizar o processo de coleta de evidências necessário para gerar um relatório de privacidade para sua equipe de conformidade.
Quando você executa o Bearer CLI em seu código, ele descobre e classifica dados identificando padrões no código-fonte. Especificamente, ele procura tipos de dados e os compara. Mais importante, ele nunca visualiza os valores reais — simplesmente não pode — apenas o código em si. Se você quiser saber mais, aqui está a explicação mais longa.
O Bearer CLI é capaz de identificar mais de 120 tipos de dados de categorias de dados sensíveis, como Dados Pessoais (PD), Dados Pessoais Sensíveis, Informações Pessoais Identificáveis (PII) e Informações Pessoais de Saúde (PHI). Você pode visualizar a lista completa na documentação de tipos de dados suportados.
Finalmente, o Bearer CLI também permite detectar componentes que armazenam e processam dados sensíveis, como bancos de dados, APIs internas e APIs de terceiros. Veja a lista de receitas para uma lista completa de componentes.
Idioma Suportado
Saiba mais sobre suporte a idiomas.
Quanto tempo leva para digitalizar meu código? É rápido?
Depende do tamanho das suas aplicações. Pode levar apenas 20 segundos, até alguns minutos para uma base de código extremamente grande.
Como regra geral, o Bearer CLI nunca deve levar mais tempo do que executar seu conjunto de testes.
No caso de integração CI, fornecemos uma solução de varredura diferencial para torná-la ainda mais rápida. Saiba mais.
E quanto aos falsos positivos?
Se você está familiarizado com ferramentas SAST, falsos positivos são sempre uma possibilidade.
Ao usar as técnicas mais modernas de análise de código estática e fornecer uma solução nativa de filtragem e priorização nos problemas mais importantes, acreditamos que melhoramos drasticamente a experiência geral de SAST.
Nos esforçamos para fornecer a melhor experiência possível para nossos usuários. Saiba mais sobre como alcançamos isso.
Quando e onde usar o Bearer CLI?
Recomendamos executar o Bearer CLI em seu CI para verificar automaticamente novos PRs em busca de problemas de segurança, para que sua equipe de desenvolvimento tenha um ciclo de feedback direto para corrigir problemas imediatamente.
Você também pode integrar o Bearer CLI em seu CD, embora recomendamos configurá-lo para falhar apenas em problemas de alta criticidade, pois o impacto para sua organização pode ser importante.
Além disso, executar o Bearer CLI como um trabalho agendado é uma ótima maneira de acompanhar sua postura de segurança e garantir que novos problemas de segurança sejam encontrados mesmo em projetos com baixa atividade.
Certifique-se de ler nosso guia de estratégia de integração para mais informações.
Você suporta análise interprocedural e entre arquivos?
Sim, o Bearer Pro suporta análise interprocedural e entre arquivos, atualmente com capacidades completas para Java e sendo ativamente estendido para outros idiomas principais suportados. Esta análise avançada permite que o Bearer Pro rastreie o fluxo de dados e o fluxo de controle através de limites de função e arquivo dentro de uma base de código inteira. Isso é crucial para identificar com precisão vulnerabilidades complexas que dependem da interação de diferentes componentes de código, reduzindo significativamente falsos positivos em comparação com análises limitadas a funções ou arquivos individuais.
A análise interprocedural e entre arquivos do Bearer Pro para Java demonstrou resultados fortes no OWASP Java Benchmark, alcançando uma pontuação de 76% com uma taxa de falso positivo relatada inferior a 2%.
✋ Entre em contato
Obrigado por usar o Bearer CLI. Ainda tem dúvidas?
- Comece com a documentação.
- Tem uma solicitação de recurso ou encontrou um bug? Abra uma nova issue.
- Encontrou um problema de segurança? Confira nossa Política de Segurança para detalhes de relato.
- Saiba mais em B永生.com
🤝 Contribuindo
Interessado em contribuir? Estamos aqui para isso! Para detalhes sobre como contribuir, configurar seu ambiente de desenvolvimento e nossos processos, revise o guia de contribuição.
🚨 Código de conduta
Espera-se que todos que interagem com este projeto sigam as diretrizes do nosso código de conduta.
🛡️ Segurança
Para relatar uma vulnerabilidade ou suspeita de vulnerabilidade, veja nossa política de segurança. Para quaisquer perguntas, preocupações ou outros assuntos de segurança, sinta-se à vontade para abrir uma issue.
🎓 Licença
O código do Bearer CLI é licenciado sob os termos da Elastic License 2.0 (ELv2), o que significa que você pode usá-lo livremente dentro de sua organização para proteger suas aplicações sem quaisquer requisitos comerciais.
Você não está autorizado a fornecer o Bearer CLI a terceiros como um serviço hospedado ou gerenciado sem a aprovação explícita da Bearer Inc.