Nesta segunda-feira (10/05) sai uma nova release do Horusec, o Horusec 2.0 nossa ferramenta open source de análise estática de código e de identificação de vulnerabilidades de segurança em projetos de desenvolvimento.
Essa é a primeira grande atualização do projeto desde o seu lançamento no ano passado durante o TDC Online. O principal objetivo da nova versão é incluir melhorias nos serviços já existentes dentro do Horusec, assim como melhorias de código e de token presentes na plataforma.
Atualmente, ainda há suporte para quem utiliza a versão 1.0 do projeto, mas a previsão é de que esse acompanhamento seja descontinuado ainda esse ano.
Mas o que irá mudar no Horusec, na prática? Se você já utiliza a v1 do projeto ou pretende começar a usar a v2, veja as principais atualizações da nova release abaixo:
Ainda na versão 1.0
Apesar de antiga, a V1 do Horusec também recebeu algumas melhorias, entre elas:
- Atualização da lista de severidades;
- Atualização na exportação da análise realizada para sonarqube;
- Criação do Admin.
Admin
A principal mudança na atualização do Horusec 1.0. O, sem dúvidas, é o Horusec-Admin. Ele funciona como um “instalador de dependências” com objetivo de simplificar a instalação da aplicação web do Horusec.
Se antes era necessário você ter o conhecimento prévio de ferramentas como Helm, Docker-Compose ou Kubernetes para subir o web application, agora basta rodar um comando para ter uma interface amigável e, automaticamente, a sua aplicação do Horusec.
E a versão 2.0?
Agora, sim, vamos às principais atualizações que o Horusec 2.0 trouxe:
Novos recursos para CLI
O Horusec-CLI recebeu novas funcionalidades e, a partir de agora, a nova versão conta com reestruturação da base de código e suporte para arquivos NGINX.
Você encontra tudo do nosso projeto do CLI no repositório do Horusec no Github. Para atualizar sua CLI, basta fazer o download da última versão disponível (a Horusec-CLI estará atualizada em sua máquina local).
Comando para instalar CLI:
curl -fsSL https://horusec.io/bin/install.sh | bash
Caso você esteja utilizando a instalação padrão recomendada nos pipelines, não será necessário alterar nada, na próxima vez que seu pipeline for disparado ele irá baixar a última versão.
Caso você não tenha interesse em atualizar a CLI em seus pipelines basta alterar.
curl -fsSL https://horusec.io/bin/install.sh | bash
Para:
curl -o /usr/local/bin/horusec https://horusec.io/bin/v1-10-3/linux_x64/horusec
Atualização do plugin para VSCODE
O nosso plugin para VSCode também foi atualizado e, agora, é possível classificar novas vulnerabilidades de acordo com 5 critérios (critical, high, medium, low, info e unknown), além de atualizar links e bibliotecas defasados. Para atualizar a versão, basta acessar o marketplace do próprio vscode, pesquisar por Horusec e clicar no botão “Atualizar”.
Assim como o CLI, o recurso para VSCode está disponível no repositório do projeto no Github.
Novidades também na aplicação Web
Nessa atualização, foram adicionados os seguintes recursos:
- Nova versão do serviço análitico
- Nova versão do serviço account agora com nome atualizado para core
- Novo serviço para gestão de vulnerabilidades (em breve, haverá novas features de controle de vulnerabilidades)
- Atualização do serviço Auth
- Novo serviço para gestão de vulnerabilidades
Além disso, o serviço web passa a fazer parte de um novo repositório (aliás, essa novidade vale para todos os serviços, com exceção da CLI). Você encontra o Web agora no no Horusec – Platform no Github.
Mais acessibilidade e melhor experiência de navegação no Horusec Manager
Para a versão 2.0, uma das principais preocupações do projeto foi a de melhorar a usabilidade do Manager, que é a interface gráfica do Horusec.
Tendo isso em mente, foram realizados vários ajustes como: tamanho da fonte, contraste de cores e recursos para facilitar a navegação por teclado e por leitores de tela, garantindo assim que profissionais com deficiência pudessem utilizar a plataforma totalmente adaptada para eles.
Dashboard mais detalhado: agora é possível visualizar não apenas o total de vulnerabilidades encontrada em cada gráfico, mas também informações como total de severidade e total de tipos encontrados por cada severidade.
Melhoria na navegação entre páginas: você pode visualizar as vulnerabilidades detalhadas e de forma analítica.
O serviço Auth centraliza gestão de usuários
Nessa versão, adaptamos o serviço Auth para você ter mais controle sobre a seção do usuário e poder centralizar melhor as configurações para o sistema, assim como informações de autenticação. Também realizamos melhorias no código e na organização do serviço.
Sai o serviço Account, entra o serviço Core
O antigo serviço Account, responsável pela gestão de workspaces, repositórios, webhook e atualização de acessos dentro do Horusec, agora passa a se chamar Core. Com isso, ele também atualizamos recursos já existentes, como:
- Gerenciamento de permissões;
- Gerenciamento de tokens;
- Gerenciamento de workspace;
- Gerenciamento de repositórios.
Mudanças de rota de dados no Analytic
A nova versão do serviço Analytic do Horusec permite que você tenha duas rotas para retornar os dados. Antes, esse processo acontecia em um único fluxo apenas separando a visualização das métricas por workspace ou por repositório.
Alguns dados de retorno também foram alterados para que seja suportado o retorno da severidade da vulnerabilidade e quais os tipos encontrados que podem ser entre vulnerabilidade, risco aceito, falso positivo e corrigido.
Retirada de alguns serviços da API
O serviço de API do Horusec seguirá funcionando como um receptor das análises realizadas pela Horusec-CLI, porém demais operações como gestão de vulnerabilidades e de tokens foram repassadas para outros serviços (no caso, os serviços Vulnerabilities e Core, respectivamente).
Gestão de Vulnerabilidades como serviço à parte
Agora, a parte de gerenciar vulnerabilidades passa a ter um serviço próprio, o que permitirá que você atualize e filtre as vulnerabilidades encontradas na sua aplicação de forma mais centralizada.
O Webhook também ganha novos recursos
O serviço do Webhook, terá agora o recurso de gerenciar outros webhooks cadastrados na sua aplicação. Lembrando que, desde a versão 1.0, ele também oferecia o recurso de enviar análises do Horusec para um destino HTTP configurável.
O serviço de Message Broker se torna obrigatório
A chegada do Horusec 2.0 oficializa o Message Broker como recurso obrigatório para você utilizar a aplicação web do Horusec. Isso, porém, não impede que você habilite ou desabilite o uso de SMTP(Simple Mail Transfer Protocol) dentro da plataforma.
Na prática, o recurso de SMTP permite que você configure o serviço de mensageria no Horusec e, dessa forma, realize disparos de e-mails, recebimento de convites para workspaces, dentre outros.
Criação de um novo database
O banco de dados utilizado pelo Horusec não mudou, porém foi criado um novo banco o serviço de Analytic com objetivo de realizar um teste da aplicação e, no futuro, possibilitar a migração de cada microsserviço do Horusec para seu próprio banco de dados.
Por fim, mudanças também no serviço Migration
O serviço de migração do Horusec se tornará dinâmico para que você possa receber apenas a pasta do Horusec que contenha todas as migrações e, assim, executá-la a partir de um banco de dados específico.
Na prática, o Migration é o recurso que te ajuda a manter uma estrutura criada no banco de dados de acordo com as necessidades das aplicações do Horusec. Na versão anterior do Horusec, o que se tinha era apenas um banco de dados para gerenciar; com a chegada de mais um novo banco, ele se torna dinâmico e isso permite que você possa executar estes bancos de dados de acordo com as configurações que os usuários passarem para ele.
Essas foram as principais mudanças que o Horusec 2.0 trouxe ao projeto! O que você achou? 🙂