Outras ferramentas

Nesta seção, você vai encontrar mais informações sobre as ferramentas de código aberto no mercado que são utilizadas pelo Horusec em suas análises.

Ferramentas

Existem ferramentas SAST do mercado com as quais o Horusec trabalha na identificação de vulnerabilidades. Veja em detalhes a seguir:

Bandit

O Bandit é uma ferramenta projetada para encontrar problemas de segurança comuns no código Python. Para entender melhor os critérios que o Bandit aplica, você pode acessar a lista de regras aplicadas nas análises.

Brakeman

O Brakeman é uma ferramenta de análise estática que verifica os aplicativos Ruby on Rails para vulnerabilidades de segurança. Para entender melhor os critérios do Brakemen, acesse a lista de vulnerabilidades que podem ser encontradas pela ferramenta.

EsLint

Eslint é uma ferramenta SAST para identificar e relatar os padrões encontrados no código ECMAScript/JavaScript. Em muitos aspectos, é semelhante a JSLint e JSHint, com algumas exceções:

  • ESLint usa Espree para análise de JavaScript.
  • ESLint usa um AST para avaliar padrões no código.
  • ESLint é completamente plugável; cada regra é um plugin e você pode adicionar mais em tempo de execução.

Para entender melhor os critérios do EsLint, acesse a lista de regras que a ferramenta aplica em suas análises.

Flawfinder

Flawfinder é uma ferramenta open source que escaneia e reporta potenciais falhas de segurança em códigos fonte C/C++ . Além da busca por vulnerabilidades, a ferramenta também pode ser usada como uma introdução a recursos de análise de código fonte estático.

GoSec

O Gosec é uma ferramenta que inspeciona o código fonte em busca de problemas de segurança examinando o Go AST em aplicações utilizando GoLang. Para entender melhor os critérios do Gosec, acesse a lista de regras que a ferramenta aplica em suas análises.

GitLeaks

O GitLeaks é uma ferramenta SAST para detectar segredos codificados como senhas, chaves de API e tokens em todo o histórico dos repositórios git. Para entender melhor os critérios do GitLeaks, acesse a lista de regras que a ferramenta aplica em suas análises.

NpmAudit

O NpmAudit é uma ferramenta de segurança que realiza a auditoria de dependências que utilizam o pacotes do npm em projetos Javascript. Para isso, ele envia uma descrição das dependências configuradas em seu projeto para o registro padrão e solicita um relatório de vulnerabilidades conhecidas.

PHP Code Scan

PHP Code Scan é um set das regras do PHP_CodeSniffer que identifica vulnerabilidades e fraquezas relacionadas à segurança do código PHP.

Safety

O Safety é uma ferramenta que verifica suas dependências instaladas em busca de vulnerabilidades de segurança conhecidas em aplicações Python. Por padrão, ele usa o banco de dados de vulnerabilidades Python aberto Safety DB

Security Code Scan

O Security Code Scan é uma ferramenta de segurança para aplicações que utilizam .NetCore ou .Net .
Atualmente, existem dois modos de uso, ambos aplicados na análise do Horusec:

  1. Para desenvolvedores;
  2. Para auditores.

Para entender melhor os critérios do Security Code Scan, acesse a lista de regras que a ferramenta aplica em suas análises.

Semgrep

Semgrep é uma ferramenta SAST, que se destaca na expressão de padrões de código - sem consultas complicadas - e na detecção de bugs no início do editor, no commit e no tempo de CI. Regras precisas se parecem com o código que você está pesquisando; não mais percorrer árvores de sintaxe abstrata ou lutar com regexes.

Para entender melhor os critérios do Semgrep, acesse a lista de regras que a ferramenta aplica em suas análises.

TFSec

O TFSec é uma ferramenta de segurança que usa análise estática de terraform templates para detectar possíveis problemas de segurança. Veja abaixo a lista de regras que a ferramenta aplica em suas análises para:

YarnAudit

O YarnAudit é uma ferramenta de segurança que realiza a auditoria de dependências que utilizam o pacotes do yarn em projetos Javascript.

Para isso, ele envia uma descrição das dependências configuradas em seu projeto para o registro padrão e solicita um relatório de vulnerabilidades.

ShellCheck

O ShellCheck é uma ferramenta de segurança GPLv3 que oferece advertências e sugestões para scripts de bash/shell/bat. Ela aponta para o usuário:

  • Erros de sintaxe que permitem o shell mostrar mensagens de erro enigmáticas;
  • Problemas de nível semântico que podem causar um comportamento estranho do shell;
  • Ameaças sutis, casos extremos e armadilhas que podem causar falha a um script em andamento.

MixAudit

O MixAudit é uma ferramenta de segurança para a linguagem de programação Elixir que providencia a tarefa mix deps.audit para escanear as dependências de vulnerabilidade de segurança.

MixAudit constrói duas listas quando é executado em um projeto:

  1. Uma lista de avisos de segurança que são obtidas no repositório elixir-security-advisories.
  2. Uma lista de um mix de dependêcias de vários arquivosmix.lock no projeto.

Depois disso, ocorre um loop em cada dependência do projeto para tentar encontrar avisos de segurança que serão aplicados.

Sobelow

O Sobelow é uma ferramenta de segurança estática focada na análise do framework Phoenix da linguagem de programação Elixir. É usada para obter uma visão dos pontos de interesse e para prevenir vulnerabilidades comuns. Quando encontradas são sinalizadas de cores diferente de acordo com a certeza de sua insegurança.

O Sobelow detecta alguns tipos de problemas de segurança, como:

  • Insegurança na configuração;
  • Dependências vulneráveis conhecidas;
  • SQL injection
  • Comando injection;
  • Execução de código;
  • Negação de serviço;
  • Diretório transversal;
  • Serialização insegura.

Bundler Audit

O Bundler Audit é uma ferramenta de segurança para auditoria de dependencias de Ruby a fim de garantir que os aplicativos executem o mesmo código em todas as máquinas. Ele faz isso gerenciando as gemas que o aplicativo depende. Dada uma lista de gemas, ele pode baixar e instalar automaticamente essas gemas, bem como quaisquer outras gemas necessárias pelas gemas listadas. Antes de instalar as gemas, ele verifica as versões de todas as jóias para se certificar de que elas são compatíveis e podem ser carregadas ao mesmo tempo. Depois que as gemas foram instaladas, Bundler pode ajudá-lo a atualizar alguns ou todos eles quando novas versões estiverem disponíveis. Por fim, registra as versões exatas que foram instaladas, para que outras possam instalar exatamente as mesmas gemas.

Owasp Dependency Check

O Owasp Dependency Check é uma ferramenta que detecta vulnerabilidades divulgadas publicamente e que estão contidas nas dependências de um projeto. Ele faz isso determinando se há um identificador para alguma dependência, se encontrado, ele irá gerar um relatório incluindo as CVE associadas.

Essa ferramenta é desabilitada por padrão no Horusec, porque aumenta consideravelmente o tempo de análise. Se você quiser habilitá-la, é só passar a flag -w true ou apenas -w.

DotNet CLI

O comando dotnet list package é uma opção para listar todas as referências de pacotes do NuGet para um projeto ou uma solução. Você pode listar também todas as dependências vulneráveis do seu projeto.

Nancy

Nancy é uma ferramenta para verificar vulnerabilidades em suas dependências Golang.

Trivy

Trivy é um scanner simples e compreensível de vulnerabilidades/configurações incorretas para containers e outros artefatos. Uma vulnerabilidade é uma falha ou fraqueza presente no software ou no sistema operacional. Trivy detecta essas vulnerabilidades nos pacotes do SO (Alpine, RHEL, CentOS, etc.) e pacotes de linguagens específicas (Bundler, Composer, npm, yarn, etc.). Trivy também escaneia arquivos de ‘Infraestrutura como Código’ (IaC): Terraform e Kubernetes, por exemplo, para detectar possíveis problemas de configuração que podem trazer riscos de ataque nos seus deployments.

Checkov

Checkov é uma ferramenta de análise para infraestrutura como código. Escaneia a infraestrutura da nuvem usando Terraform, Terraform plan, Cloudformation, Kubernetes, Dockerfile, Serverless e ARM Templates e detecta configurações incorretas no compliance e na segurança usando o scanner baseada em gráfico. Checkov também influencia a Bridgecrew, uma plataforma que prioriza o desenvolvedor que codifica e otimiza a segurança da nuvem em todo ciclo de desenvolvimento. Bridgecrew identifica, conserta e previne os erros de configuração nos recursos da nuvem e em arquivos na infraestrutura como código.


Última modificação 24.08.2021: Update links in documentation (c4fcc110)