Produto
Tudo o que precisa para proteger o código, a nuvem e o tempo de execução - num único sistema central
Código
Dependências
Prevenir riscos de código aberto (SCA)
Segredos
Apanhar segredos expostos
SAST
Código seguro tal como está escrito
Imagens de contentores
Proteger imagens facilmente
Malware
Prevenir ataques à cadeia de abastecimento
Infraestrutura como código
Verificar se há erros de configuração no IaC
Risco de licença e SBOMs
Evite riscos, cumpra as normas
Software desatualizado
Conheça os seus tempos de execução EOL
Nuvem
Nuvem / CSPM
Configurações incorrectas da nuvem
DAST
Testes de segurança de caixa negra
Verificação da API
Teste as suas APIs para detetar vulnerabilidades
Máquinas virtuais
Sem agentes, sem despesas gerais
Tempo de execução do Kubernetes
em breve
Proteja as suas cargas de trabalho de contentores
Inventário na nuvem
A expansão da nuvem, resolvida
Defender
Proteção em tempo de execução
Firewall na aplicação / WAF
Caraterísticas
AI AutoFix
Correcções com um clique com a IA do Aikido
Segurança CI/CD
Análise antes da fusão e da implantação
Integrações IDE
Obtenha feedback instantâneo enquanto codifica
Scanner no local
Digitalização local com prioridade à conformidade
Soluções
Casos de utilização
Conformidade
Automatize SOC 2, ISO e muito mais
Gestão de vulnerabilidades
Gestão de vulnerabilidades tudo-em-um
Proteja o seu código
Segurança de código avançada
Gerar SBOMs
1 clique Relatórios SCA
ASPM
AppSec de ponta a ponta
IA no Aikido
Deixe a IA do Aikido fazer o trabalho
Bloco 0-Dias
Bloquear ameaças antes do impacto
Indústrias
FinTech
Tecnologia da saúde
HRTech
Tecnologia jurídica
Empresas do Grupo
Agências
Startups
Empresa
Aplicações móveis
Fabrico
Preços
Recursos
Programador
Documentos
Como utilizar o Aikido
Documentos públicos da API
Centro de desenvolvimento de Aikido
Registo de alterações
Ver o que foi enviado
Segurança
Investigação interna
Informações sobre malware e CVE
Glossário
Guia do jargão de segurança
Centro de Confiança
Seguro, privado, conforme
Código aberto
Aikido Intel
Feed de ameaças de malware e OSS
Zen
Proteção da firewall na aplicação
OpenGrep
Motor de análise de código
Integrações
IDEs
Sistemas de CI/CD
Nuvens
Sistemas Git
Conformidade
Mensageiros
Gestores de tarefas
Mais integrações
Sobre
Sobre
Sobre
Conheça a equipa
Carreiras
Estamos a contratar
Kit de imprensa
Descarregar activos da marca
Calendário
Vemo-nos por aí?
Código aberto
Os nossos projectos OSS
Blogue
As últimas mensagens
Histórias de clientes
A confiança das melhores equipas
Contacto
Iniciar sessão
Comece de graça
Não é necessário CC
Aikido
Menu
Aikido
PT
PT
FR
JP
Iniciar sessão
Comece de graça
Não é necessário CC
Blogue
/
Guia de bricolage: "Construir ou comprar" o seu kit de ferramentas de segurança de aplicações e de digitalização de códigos OSS

Guia de bricolage: "Construir ou comprar" o seu kit de ferramentas de segurança de aplicações e de digitalização de códigos OSS

Por
Joel Hans
Joel Hans
4 min ler
Guias

Está confiante nas suas capacidades de desenvolvimento - suficientemente confiante para saber que as aplicações que criou não estão completamente isentas de falhas de segurança e configuração. Também pesquisou o profundo ecossistema de ferramentas de análise disponíveis e talvez tenha ficado sobrecarregado com o enorme volume de escolha. Qual é o "portfólio" certo de ferramentas de segurança de aplicativos de código aberto para identificar vulnerabilidades em suas dependências, configurações de Infraestrutura como Código (IaC), contêineres e muito mais?

Para o colocar no caminho certo, cobriremos 10 categorias essenciais de ferramentas de análise de código e segurança e recomendaremos 9 projectos OSS, com apenas as informações essenciais de que necessita para começar:

  • Como é que essa verificação ajuda a segurança da sua aplicação.
  • Que projeto de código aberto pode instalar e como executá-lo.
  • Algumas alternativas (quando disponíveis) que pode escolher.

Com isso, terá um caminho sem barreiras para analisar as suas aplicações em busca de problemas críticos de segurança no código e nas configurações da nuvem. O que há para não adorar?

Bem, a parte da configuração e gestão não é só rosas - mas falaremos disso mais tarde.

O que é necessário

Basta trazer a sua estação de trabalho local, quer seja um computador de secretária ou um portátil - não importa se está a utilizar o macOS, o Windows ou o Linux.

Um ambiente de desenvolvimento é opcional, mas recomendado. Para executar este conjunto de ferramentas de análise de código aberto, terá de instalar muito software que poderá não querer no seu sistema operativo de base, exigindo maiores actualizações, poluindo o seu preenchimento automático e fixando-o a ferramentas específicas que poderão não funcionar em todos os seus projectos. Um ambiente de desenvolvimento coloca em contentores e isola, até certo ponto, todas as suas ferramentas específicas de desenvolvimento do resto do seu SO.

Felizmente, tem à sua disposição algumas ferramentas de código aberto excelentes:

  1. Com Docker, pode criar um novo contentor barebones com o nome devenv-01 assim: docker run --name devenv-01 -it ubuntu:24.04 sh
  2. Com Daytonaque vem com muitas "pilhas incluídas" para fluxos de trabalho de desenvolvimento: daytona create --code
  3. Ou com o Distrobox, que integra qualquer distribuição Linux no seu terminal, permitindo-lhe instalar software

O melhor de um ambiente de desenvolvimento é que, quando terminar uma determinada "pilha", pode eliminar o contentor em segurança sem afetar a sua estação de trabalho.

#1: Gestão da postura de segurança na nuvem (CSPM)

Como é que o CSPM ajuda a segurança das aplicações?

O CSPM ajuda-o a melhorar a segurança e a conformidade dos seus ambientes de nuvem. Ao monitorizar continuamente as suas aplicações e os respectivos serviços a montante em relação às melhores práticas da indústria e às suas políticas internas, as ferramentas CSPM avaliam os problemas, dão-lhes prioridade com base na sua criticidade e oferecem recomendações para a correção. Com o CSPM, o utilizador assume uma maior responsabilidade pelas linhas de base e pelos guardrails que o impedem, a si ou a outros, de promover aplicações vulneráveis para produção, ao mesmo tempo que elimina configurações incorrectas e funções de utilizador demasiado permissivas.

Instale e execute o seu projeto OSS CSPM: CloudSploit

Para instalar o CloudSploit, primeiro precisa do Node.js para descarregar as suas dependências e executar o motor.

git clone https://github.com/aquasecurity/cloudsploit.git
cd cloudsploit
npm install

Em seguida, é necessário configurar o CloudSploit com permissões de leitura para a sua conta na nuvem, com suporte para AWS, Azulejo, GCPe Oráculo. Siga as instruções para seu provedor de nuvem, usando o config_example.js ficheiro como seu modelo, para criar um config.js com todos os detalhes necessários para executar o seu primeiro diagnóstico completo e obter resultados em JSON.

./index.js --collection=file.json config.js

#2: Análise da composição de software (SCA) de dependências de código aberto

Como é que o SCA ajuda a segurança das aplicações?

É inevitável que as suas aplicações tenham uma grande árvore de dependências de código aberto, desde a sua estrutura de IU até às bibliotecas auxiliares que utiliza num único LOC, como um validador de endereços de correio eletrónico. A SCA é como uma verificação de antecedentes da família alargada do seu código, identificando vulnerabilidades de segurança e problemas de licenciamento não uma vez, mas continuamente. Uma vez que as suas ferramentas SCA o notificam sobre novas vulnerabilidades e soluções, terá a certeza de que a sua cadeia de fornecimento de código aberto continua a ser um auxiliar, e não um obstáculo, à produtividade.

Instale e execute os seus projectos OSS SCA: Syft + Grype

Para o SCA executado localmente, precisará do Syft para criar uma lista de materiais de software (SBOM) e do Grype para analisar a referida SBOM em busca de vulnerabilidades conhecidas. Uma vez que a mesma equipa cria o Syft e o Grype, eles suportam muitos métodos de instalação, mas recomendam os seus respectivos one-liners:

curl -sSfL https://raw.githubusercontent.com/anchore/syft/main/install.sh | sh -s -- -b /usr/local/bin
curl -sSfL https://raw.githubusercontent.com/anchore/grype/main/install.sh | sh -s -- -b /usr/local/bin

Com o Syft instalado na sua estação de trabalho local, pode criar um SBOM para o seu contentor, substituindo <YOUR-IMAGE> com uma imagem num registo de contentores configurado ou num diretório local.

syft <YOUR-IMAGE> -o syft-json=sbom.syft.json

Acabará por ter um sbom.syft.json no seu diretório de trabalho, que pode depois introduzir no Grype.

grype sbom:path/to/syft.json -o json

Em seguida, o Grype imprime um resumo da vulnerabilidade no formato abaixo, incluindo detalhes de gravidade e informações sobre correcções conhecidas, que pode utilizar para orientar o seu processo de priorização e correção.

{
"vulnerability": {
   ...
 },
"relatedVulnerabilities": [
   ...
 ],
"matchDetails": [
   ...
 ],
"artifact": {
   ...
 }
}

Alternativas e advertências

O Trivy é uma alternativa OSS sólida para SCA - não oferece paridade de funcionalidades 1:1 em todas as áreas, mas é mais do que suficiente para começar.

#3: Deteção de segredos

Como é que a deteção de segredos ajuda a segurança das aplicações?

Uma ferramenta de deteção de segredos analisa o seu código e configurações em busca de credenciais que não quer expor publicamente. Esses segredos podem incluir chaves de API, tokens de acesso a fornecedores terceiros, senhas para bancos de dados upstream, certificados, chaves de criptografia e muito mais, e uma vez que eles são enviados para um repositório público, você terá que passar por um processo doloroso para removê-los do seu histórico do Git - é melhor detectá-los cedo e tomar medidas antes de fazer o commit.

Instale e execute o seu projeto de deteção de segredos OSS: Gitleaks

Gitleaks procura nos seus repositórios a presença de segredos codificados, passados ou presentes, analisando os registos do Git. Os seus detetar identifica os segredos que já foram comprometidos, enquanto o comportamento proteger O comportamento verifica as alterações não comprometidas para evitar que cometa erros em primeiro lugar.

Para um controlo máximo, recomendamos a instalação do Gitleaks a partir da fonte.

git clone https://github.com/gitleaks/gitleaks.git
cd gitleaks
make build

Na primeira vez que executar o Gitleaks, pode criar um relatório de base para fornecer resultados apenas para a exposição de novos segredos.

gitleaks detect --report-path gitleaks-report.json

Com invocações subsequentes, deve fazer referência à sua gitleaks-report.json para verificar os logs do Git apenas para segredos adicionados desde que você criou o relatório de linha de base.

gitleaks detect --baseline-path gitleaks-report.json --report-path findings.json

O seu resultados.json irá conter detalhes sobre o hash do commit e o autor de cada potencial fuga, ajudando-o a concentrar-se nas correcções.

Alternativas e advertências

Infelizmente, não existem muitas opções para além do Gitleaks. Outros projectos de deteção de segredos de código aberto já passaram anos desde o último commit - o que não inspira propriamente confiança para proteger as aplicações em que está a trabalhar atualmente. Se for um fornecedor de serviços, pode registar-se no programa de parceiros de deteção de segredos do GitHub, que identifica quando os seus utilizadores submetem acidentalmente os seus formatos de token secretos para um dos seus repositórios.

#4: Testes estáticos de segurança das aplicações (SAST)

Como é que o SAST ajuda?

O SAST é o pente fino das ferramentas de segurança de aplicações, analisando a sua base de código linha a linha para verificar se há falhas de sintaxe, estrutura ou lógica que possam deixar a sua aplicação vulnerável. Pense em ataques de injeção de SQL, oportunidades de cross-site scripting (XSS), buffer overflows e muito mais. Ao verificar as bases de dados populares de CVEs conhecidos, uma ferramenta SAST sólida dar-lhe-á a confiança de que não está a deixar grandes falhas de segurança em cima da mesa - e algumas até oferecem sugestões de correção automática para uma rápida correção.

Instale e execute o seu projeto OSS SAST: Semgrep

O Semgrep analisa o seu código, encontra erros e impõe padrões de código estabelecidos em cada invocação, com suporte para mais de 30 idiomas. Para simplificar, estamos focados no Semgrep CLI, que é apenas uma parte de um complexo ecossistema de produtos.

A maneira mais universal de instalar o Semgrep CLI é com Python/pip.

python3 -m pip install semgrep

Execute a sua primeira análise para criar um relatório de falhas e vulnerabilidades ao nível do código como um ficheiro JSON.

semgrep scan --json --json-output=semgrep.json

Alternativas e advertências

O mundo SAST está repleto de oportunidades - se o Semgrep não funcionar para si, veja algumas alternativas específicas de linguagem como Bandit (Python), Gosec (Go), ou Brakeman (Ruby on Rails) para começar.

#5: Testes dinâmicos de segurança das aplicações (DAST)

Como é que a DAST ajuda a segurança das aplicações?

Ao contrário do SAST, o DAST simula vulnerabilidades comumente exploradas contra seu aplicativo em um ambiente ativo. É menos sobre a sintaxe e a estrutura do código que escreveu e muito mais sobre a replicação das abordagens que um atacante pode adotar contra a sua implementação de produção. As ferramentas DAST verificam duas vezes os CVEs conhecidos em estruturas e bibliotecas que utiliza e testam se os utilizadores com sessão iniciada podem aceder a dados sensíveis devido a permissões quebradas ou a "combinações tóxicas" de várias vulnerabilidades que abrem a sua aplicação a consequências muito piores.

Instale e execute seu projeto OSS DAST: Núcleos

O Nuclei é um scanner de vulnerabilidades voltado para a comunidade que usa modelos para enviar solicitações para o aplicativo que você deseja proteger em execução em um ambiente local. É possível escrever modelos personalizados usando YAML, mas a comunidade do Nuclei também tem uma extensa biblioteca de modelos pré-configurados para testar em sua aplicação.

É necessário ter o Go na sua estação de trabalho local para instalar o Nuclei.

go install -v github.com/projectdiscovery/nuclei/v3/cmd/nuclei@latest

A partir daí, a maneira mais simples de executar o Nuclei é especificando um único destino - seu aplicativo sendo executado localmente em um ambiente de desenvolvedor - e aproveitando a biblioteca de modelos, que o Nuclei ativa por padrão.

nuclei -u localhost:5678 -je nuclei-report.json

Alternativas e advertências

O Zed Attack Proxy (ZAP) é um fantástico scanner mantido ativamente por uma equipa global de especialistas em segurança e programadores. No entanto, ao contrário de outros nesta lista, o ZAP é uma aplicação gráfica por defeito. Existem opções para utilizar o seu terminal, mas não são exatamente as mais amigáveis para os programadores em comparação com outros processos que seguiu até agora.

#6: Verificação da infraestrutura como código (IaC)

Como é que a verificação de IaC ajuda a segurança das aplicações?

Seu código é apenas metade da equação para chegar à produção - hoje, a maioria das equipes usa ferramentas de IaC como Terraform, CloudFormation e gráficos "básicos" do Kubernetes Helm para provisionar serviços em nuvem de forma declarativa, controlada por versão e repetível. Os scanners de IaC identificam vulnerabilidades nesses blueprints JSON ou YAML para evitar que você implante um estado inseguro na produção.

Instale e execute o seu projeto de digitalização OSS IaC: Checkov

O Checkov examina muitos tipos de código de IaC - configurações do Terraform, gráficos do Helm, arquivos do Docker e muito mais - em busca de configurações incorretas comuns e possíveis vulnerabilidades de segurança. Com mais de 1.000 verificações de política incorporadas para AWS, GCP e Azure, a ferramenta ajuda-o rapidamente a compreender os riscos e oportunidades actuais das suas implementações na cloud em poucos minutos.

A equipa recomenda a instalação local do Checkov através do gestor de pacotes do Python.

python -m pip install checkov

Pode então executar o Checkov no seu diretório de trabalho (ou noutro diretório onde tenha armazenado ficheiros IaC) e obter um ficheiro JSON como saída.

checkov --diretory . -o json

#7: Digitalização de imagens de contentores

Como é que a análise de imagens de contentores ajuda a segurança das aplicações?

Adoramos os contêineres porque eles abstraem muita complexidade, mas sempre que você cria uma imagem de contêiner, ela pode herdar vulnerabilidades de sua imagem de base ou dependências de pacote. Os scanners de imagem de contentor descobrem vulnerabilidades nas suas imagens de base e Dockerfiles, independentemente da profundidade da árvore de dependências, para evitar que implemente involuntariamente uma aplicação explorável.

Um modelo de imagem meme com um homem mais velho e um rapaz sentado num banco. Painel um: "Funciona na minha máquina." Painel 2: "Então enviamos a tua máquina." Painel 3: "E foi assim que nasceu o Docker."

E foi também assim que nasceram as vulnerabilidades das imagens de contentores.

Instale e execute o seu projeto de digitalização de imagens de contentores OSS: Trivy

O Trivy é um scanner de segurança versátil capaz de analisar as suas imagens de contentores em busca de vulnerabilidades conhecidas com CVEs, problemas de IaC e configurações incorrectas, a presença de segredos e muito mais. A equipa Aqua Security, que está por detrás do projeto Trivy de código aberto, mantém uma base de dados pública de informações sobre vulnerabilidades, recolhidas a partir de mais de uma dúzia de fontes de dados.

Em sintonia com os outros mecanismos de instalação recomendados até agora, recomendamos a utilização do script do Trivy para instalar diretamente a partir da versão mais recente do GitHub.

curl -sfL https://raw.githubusercontent.com/aquasecurity/trivy/main/contrib/install.sh | sh -s -- -b /usr/local/bin v0.51.1

Por predefinição, o Trivy analisa imagens de contentores em busca de vulnerabilidades, configurações incorrectas e segredos em relação a qualquer imagem de contentor que especifique, com resultados no formato JSON padrão.

trivy image --format json --output trivy-result.json <YOUR-IMAGE>

Alternativas e advertências

Se tem estado a acompanhar, já tem o Grype instalado na sua estação de trabalho local a partir da secção anterior sobre SCA, e funciona muito bem para analisar imagens de contentores com um SBOM criado pela Syft. Se estiver na AWS, este é outro lugar onde o Amazon Inspetor pode ser útil, como "dois pássaros, uma pedra".

O Amazon Inspetor também é uma opção, mas com duas grandes ressalvas - primeiro, só funciona com implementações AWS e, segundo, não é um software de código aberto como o resto das nossas recomendações, o que significa que tem novos custos mensais.

#8: Verificação de licenças de fonte aberta

Como é que a verificação de licenças de código aberto ajuda a segurança das aplicações?

A legalidade da utilização de software de código aberto nos seus produtos comerciais não é algo que se verifique uma vez com as equipas jurídicas ou de conformidade e se esqueça. Os projectos de OSS alteram as licenças com mais frequência do que possa imaginar, obrigando-o a pagar por uma versão empresarial, a procurar uma alternativa ou a abrir parte do seu código privado. Os scanners de licenças identificam as alterações e ajudam-no a passar pelas auditorias de segurança com uma lista de materiais de software (SBOM) pronta a utilizar.

Instale e execute o seu projeto de verificação de licenças OSS: Syft

Tal como aconteceu com o Grype no último passo, já tem o Syft instalado na sua estação de trabalho local e pode até ter um SBOM existente a partir da configuração da sua integração SCA com o Grype. Se ainda não tiver, pode criar rapidamente uma nova referenciando uma imagem de contentor de um registo configurado ou um caminho na sua estação de trabalho local.

syft <YOUR-IMAGE> -o syft-json=sbom.syft.json
syft /path/to/image -o syft-json=sbom.syft.json

Dependendo da complexidade da sua imagem e da profundidade das dependências, pode obter um ficheiro SBOM com alguns milhares de linhas. Dentro de toda essa saída JSON, você está procurando dentro do artefactos para a matriz licenças de cada pacote e dependência em que a sua imagem de contentor se baseia.

{
"artifacts":[
   {
"id":"cdd2655fffa41c69",
"name":"alpine-baselayout",
"version":"3.4.3-r2",
"type":"apk",
"foundBy":"apk-db-cataloger",
"locations":[
       …
     ],
"licenses":[
       {
"value":"GPL-2.0-only",
"spdxExpression":"GPL-2.0-only",
"Type":"declared",
         …

Com estes detalhes num único SBOM, poderá analisar as suas obrigações de licenciamento para detetar alterações que possam ter de ser feitas a jusante ou migrações para as quais se deve começar a preparar. Terá também um recurso de referência para a próxima auditoria de segurança a que for sujeito.

Alternativas e advertências

O Trivy, mencionado pela primeira vez na secção anterior, tem uma funcionalidade de análise de licenças que lhe apresenta resultados opinativos sobre o risco associado aos projectos na sua árvore de dependências de código aberto.

#9: Deteção de malware

Como é que a deteção de malware ajuda a segurança das aplicações?

Os scanners de malware ajudam-no a identificar uma ameaça que tem crescido nos últimos anos: malware injetado em pacotes de dependências por atacantes. A recente tentativa de backdoor do zx é um exemplo fantástico - e assustador. Os scanners de malware detectam estes ataques à cadeia de fornecimento de software antes mesmo de fundir o seu código, para evitar que tenha de efetuar correcções sensíveis ao tempo e dispendiosas quando o CVE se torna público.

Instale e execute o seu projeto de deteção de malware OSS: Phylum

As ferramentas CLI da Phylumpermitem-lhe submeter os seus lockfiles à sua API para análise de dependências, o que difere ligeiramente das outras ferramentas open-source que recomendamos aqui - a análise não acontece na sua estação de trabalho local. Em vez disso, é necessário registar uma conta no Phylum para autenticação com o seu serviço.

Comece por instalar o Phylum localmente.

curl https://sh.phylum.io | sh

Em seguida, registe a sua conta e execute a sua primeira análise - o Phylum deverá identificar o ficheiro de bloqueio que está a utilizar.

phylum auth register
phylum auth login
phylum init
phylum analyze --json

A análise do Phylum fornece um resultado abrangente, começando com um verdadeiro ou falso com base no facto de o seu projeto passar a verificação de malware do Phylum. Sob a matriz de rejeições para cada dependência, encontrará uma descrição detalhada da vulnerabilidade e conselhos de correção da comunidade OSS. Isto permite-lhe agregar os resultados dos seus testes SAST, DAST e SCA, permitindo-lhe compreender quais as vulnerabilidades que se devem às suas dependências e quais as que estão diretamente incorporadas no código que escreveu.

{
"is_failure": true,
"incomplete_packages_count": 2,
"help": "...",
"dependencies": [
   {
"purl": "pkg:npm/next@13.5.6",
"registry": "npm",
"name": "next",
"version": "13.5.6",
"rejections": [
       {
"title": "next@13.5.6 is vulnerable to Next.js Server-Side Request Forgery",
"source": {
"type": "Issue",
"tag": "HV00003FBE",
"domain": "vulnerability",
"severity": "high",
         ...

#10: Deteção de fim de vida útil (EOL)

Como é que a deteção de tempo de execução EOL ajuda a segurança da aplicação?

Quanto mais frameworks, bibliotecas e tempos de execução incluir na sua aplicação, mais oportunidades existem para que seja perigosamente utilizado contra versões desactualizadas ou dependências não mantidas. Isso é especialmente crítico para tempos de execução diretamente expostos à Internet pública. Os detectores de tempo de execução EOL lêem sua árvore de dependências por meio de lockfiles - mesmo aqueles em contêineres - para alertá-lo com bastante antecedência para que você possa se preparar para atualizações ou migrações.

Instale e execute o seu projeto OSS: endoflife.date

endoflife.date é uma base de dados de informação EOL sobre mais de 300 ferramentas e plataformas, muitas das quais são essenciais para o funcionamento e segurança da sua aplicação. Em vez de ter que explorar sites de documentação obscuros ou vasculhar listas de discussão para descobrir quando uma versão específica de sua dependência deixa de ser mantida, você pode rapidamente colocar datas em torno das atualizações necessárias para priorizar seus esforços no futuro.

A forma mais fácil de descobrir dados EOL é explorar o site, prestando especial atenção às suas linguagens de programação, bases de dados, estruturas, ferramentas de implementação e CLIs para serviços em nuvem.

Como desenvolvedor, você pode querer uma abordagem mais centrada na CLI para explorar dados EOL para seus principais tempos de execução e bibliotecas -endoflife.date tem uma API simples que gera dados JSON, que você também pode anexar a um arquivo local para referência futura.

curl --request GET \
--url https://endoflife.date/api/nginx.json \
--header 'Accept: application/json' \
>> eol.json

Um novo problema: gerir todos os seus dados de digitalização de código e de segurança de aplicações

Se você seguiu até aqui, você construiu um conjunto de ferramentas úteis de código de código aberto e ferramentas de verificação de configuração. Está pronto para começar a executá-las em seus projetos e branches armazenados localmente para obter melhores garantias de segurança pré-commit. Toma lá, desloca-te para a esquerda!

No entanto, o seu futuro não é instantaneamente perfeito. Este novo conjunto de ferramentas tem um grande senão: as suas ferramentas não falam em conjunto, e apenas em torno da sua aplicação.

Continua a ter de pagar:

  1. Configurar individualmente cada ferramenta. Tomemos uma opção simples, como uma lista de permissões de determinados diretórios ou dependências que você não quer se incomodar em verificar, pois eles não são relevantes para a segurança do seu ambiente de produção. Terá de aprender os argumentos de cada ferramenta CLI lendo a documentação e testando, o que lhe rouba tempo valioso daquilo que realmente quer fazer: implementar correcções.
  2. Executar cada scanner em cada repositório e ramo. Mesmo que tenha um único repositório e dois ramos-principal e dev -são quase 20 operações para verificar as vulnerabilidades. Idealmente, está a executar estes scanners antes de efetuar alterações a um controlo remoto, o que significa muitas operações repetidas ao longo do dia.

    Há algumas maneiras de simplificar isso, é claro. Você pode escrever um script para encadear esses scanners de código aberto para serem executados manualmente ou como um gancho Git pré-commit. Isso economiza tempo no terminal, mas apenas gera uma saída JSON mais rápida - você ainda está no gancho para entender o quefoi alterado e se ainda pode enviar as suas alterações e (finalmente) criar o seu pull request.
  3. Percorrer enormes matrizes JSON para obter informações. Essas ferramentas geralmente produzem resultados com milhares de linhas. A abrangência é boa, mas quem é que tem tempo para explorar dezenas ou centenas de potenciais problemas de segurança, na esperança de compreender cada um deles suficientemente bem para perceber a sua gravidade?

    Com o tempo, vai precisar de uma forma mais intuitiva de ler os resultados do que linhas não formatadas de JSON, como importar para o Google Sheets ou criar uma aplicação simples para visualizar os resultados.
  4. Compreender o que mudou entre as execuções. A análise de segurança tem dois objectivos. Em primeiro lugar, para o ajudar a identificar problemas existentes no seu código e configuração. Segundo, para evitar que introduza novas vulnerabilidades à medida que constrói. Se não conseguir perceber rapidamente se corrigiu uma determinada vulnerabilidade ou se não for notificado da introdução de uma nova vulnerabilidade no seu código, todo este esforço é uma perda de tempo.

    Uma opção é incrementar ou marcar a hora dos ficheiros JSON de saída e, em seguida, utilizar ferramentas CLI para os comparar. diff ficheiro1.json ficheiro2.json é uma óptima ferramenta autónoma, ou pode experimentar o git diff --no-index file1.json file2.json para ficheiros não confirmados no seu repositório Git.
  5. Agregar, armazenar e partilhar dados para análise a longo prazo. Como dissemos anteriormente, a análise de segurança é uma operação contínua, não um item pontual na sua lista de tarefas. Além disso, os resultados dos seus esforços de análise não devem ficar trancados na sua estação de trabalho local - os seus colegas vão querer saber quais as vulnerabilidades mais relevantes para o que construíram, mesmo que não tenham um conjunto de ferramentas semelhante a funcionar neste momento.

    Terá de explorar plataformas de dados que coloquem toda esta informação num único local - mais uma peça de infraestrutura para alojar ou pagar.
  6. Criar bilhetes no Jira ou no GitHub. Você ou um colega deve escalar cada vulnerabilidade identificada para um tíquete relevante que contenha todo o contexto necessário e possíveis correções. Esta é a única forma de garantir a transparência da segurança, fazer com que os seus colegas colaborem e criar o registo de auditoria que as suas normas de conformidade podem exigir. Nenhuma destas ferramentas suporta a integração com a sua plataforma de tickets, pelo que terá de criar estes tickets manualmente - e poderá haver dezenas, se não centenas, de tickets para analisar.
  7. Priorize os tickets com base na gravidade. Inundar os seus repositórios com tickets é um pesadelo para a gestão de projectos. É uma versão diferente, mas igualmente dolorosa, da fadiga de alertas: Como é que alguém sabe em que se deve concentrar primeiro? Se as suas ferramentas OSS não o puderem ajudar com a gravidade, terá de passar algum tempo a fazer essas determinações, o que pode envolver anos de conhecimento de segurança que não pode ser encurtado.
  8. Gerir o ciclo de vida de cada ferramenta OSS. Quer se trate de manter as suas ferramentas actualizadas, de tentar criar automação ou de inserir execuções e resultados no seu pipeline de CI/CD, é agora responsável pela eficácia a longo prazo do seu conjunto de ferramentas. Poderá ter uma postura de segurança melhor do que nunca, mas a que custo para a sua postura no mundo real?
  9. Preocupar-se e pensar no que acontecerá se o projeto perder o seu mantenedor. Se as suas dependências e tempos de execução podem chegar à EOL e criar problemas, o mesmo acontece com as ferramentas e plataformas de que o seu ambiente de desenvolvimento local depende. Infelizmente, os projectos de código aberto são frequentemente construídos com base em modelos de financiamento e de manutenção que não são sustentáveis a longo prazo. Ainda pode utilizar projectos estagnados ou abandonados no seu CLI, mas ao tentar melhorar a segurança da sua aplicação, estes não o ajudarão a descobrir novas vulnerabilidades ou métodos de ataque.

A conversa atual sobre ferramentas para programadores gira em torno de um único conceito: experiência do programador (DX). Quanto melhor a DX, maior a probabilidade de uma ferramenta ser integrada, usada, valorizada e defendida. E sejamos honestos - a DX deste kit de ferramentas de análise OSS gerido localmente não é particularmente boa. O processo e os dados são totalmente seus, mas com custos e compromissos de tempo excepcionais. Quanto está disposto a pagar pela segurança avançada das aplicações?

As ferramentas de segurança de código aberto são fantásticas - até criámos uma firewall de aplicação Web para proteger autonomamente as aplicações Node.js contra ataques comuns e críticos - mas para a verificação contínua da segurança e a correção de vulnerabilidades, tem de haver outra forma. Talvez até mesmo uma que seja construída em cima dessa fantástica base OSS.

Uma nova solução de segurança para aplicações: Aikido

O Aikido integra todos esses projectos de código aberto e muito mais.

Em vez de executar mais de 10 ferramentas sempre que se prepara para submeter as suas alterações mais recentes, só precisa de adicionar uma vez os seus repositórios, imagens Docker e fornecedores de serviços na nuvem ao Aikido para uma análise abrangente. O Aikido é executado automaticamente em segundo plano para análise contínua ou no seu pipeline CI/CD para recomendações direcionadas com cada pedido pull, protegendo-o de novas vulnerabilidades enquanto aponta as existentes que têm estado à espreita na sua base de código durante meses ou anos.

Melhor ainda, todos os resultados, o contexto e as possíveis correcções são agregados e armazenados num único local - o painel de controlo do Aikido - para que nunca tenha de se preocupar em analisar JSON, fundir várias fontes de dados ou pagar uma plataforma de gestão de dados dispendiosa para criar uma fonte de verdade. Até criámos regras personalizadas e "cola" especial entre estes projectos de código aberto para descobrir correlações e resultados que, de outra forma, exigiriam um investigador de segurança especializado interno.

O Aikido também se integra com as suas plataformas de gestão de tarefas e de mensagens, como o GitHub e o Slack, para criar tickets pré-geridos e priorizados. Com todo o contexto, a documentação e as correcções automáticas sugeridas, qualquer pessoa da sua equipa pode resolver o problema e acompanhá-lo até à correção de forma rápida e abrangente.

A segurança das aplicações estaria numa situação muito pior se não fossem estas ferramentas de código aberto e muitas outras. Isso é indiscutível. Mas só por causa da forma como as ferramentas de desenvolvimento funcionam - na sua estação de trabalho local, dentro do seu terminal - significa que são infinitamente flexíveis e inerentemente isoladas. O meme "funcionou na minha máquina" ainda se aplica aqui, apenas com um palavreado diferente:

Uma imagem meme de segurança de aplicações de Elon Musk e um Cybertruck com janelas partidas com o texto: "Funcionou" no meu computador"
Este não deve *ser* o futuro da segurança das aplicações.

Se estiver à procura de outra forma, que substitua toda a carga de construção deste conjunto de ferramentas de código aberto por uma plataforma que já está construída sobre os mesmos projectos, considere dar uma oportunidade ao Aikido gratuitamente.

Se você escolher a rota OSS, você tem nosso apoio e respeito... mas enquanto você está colocando novas ferramentas e dependências em seus fluxos de trabalho, você realmente deve deixar o Web Application Firewall do Aikido autonomamente e continuamente proteger suas aplicações Node.js até mesmo das vulnerabilidades mais cruéis. O melhor DX, afinal, é quando a ferramenta realmente faz todo o trabalho duro para você.

Escrito por Joel Hans

Redator

Partilhar:

https://www.aikido.dev/blog/diy-guide-build-vs-buy-your-oss-code-scanning-and-app-security-toolkit

Índice:
Ligação de texto
Partilhar:
Utilizar o teclado
Utilizar a tecla esquerda para navegar para a página anterior do Aikido
Utilizar a tecla de seta para a direita para navegar para o diapositivo seguinte
para navegar pelos artigos
Por
Charlie Eriksen

Está convidado: Distribuir malware através de convites do Google Calendar e PUAs

Malware
13 de maio de 2025
Ler mais
Por
Mackenzie Jackson

Por que atualizar imagens de base de contêineres é tão difícil (e como torná-lo mais fácil)

Engenharia
12 de maio de 2025
Ler mais
Por
Charlie Eriksen

RATatatouille: Uma receita maliciosa escondida no rand-user-agent (Supply Chain Compromise)

6 de maio de 2025
Ler mais
Por
Charlie Eriksen

Ataque à cadeia de fornecimento de XRP: Pacote oficial do NPM infetado com backdoor de roubo de criptografia

Malware
22 de abril de 2025
Ler mais
Por
Charlie Eriksen

O guia de encontros de malware: Compreender os tipos de malware no NPM

Malware
10 de abril de 2025
Ler mais
Por
Charlie Eriksen

Esconder-se e falhar: Malware ofuscado, cargas úteis vazias e travessuras do npm

Malware
3 de abril de 2025
Ler mais
Por
Madeline Lawrence

Lançamento do malware Aikido - Open Source Threat Feed

Notícias
31 de março de 2025
Ler mais
Por
Charlie Eriksen

Malware escondido à vista de todos: Espionagem de hackers norte-coreanos

31 de março de 2025
Ler mais
Por
A equipa de Aikido

Principais ferramentas de gerenciamento de postura de segurança na nuvem (CSPM) em 2025

Guias
27 de março de 2025
Ler mais
Por
Madeline Lawrence

Obter o TL;DR: tj-actions/changed-files Ataque à cadeia de abastecimento

Notícias
16 de março de 2025
Ler mais
Por
Mackenzie Jackson

Uma lista de verificação de segurança do Docker sem barreiras para o programador preocupado com as vulnerabilidades

Guias
6 de março de 2025
Ler mais
Por
Mackenzie Jackson

Deteção e bloqueio de ataques de injeção de SQL em JavaScript

Guias
4 de março de 2025
Ler mais
Por
Floris Van den Abeele

Prisma e PostgreSQL vulneráveis à injeção NoSQL? Um risco de segurança surpreendente explicado

Engenharia
14 de fevereiro de 2025
Ler mais
Por
A equipa de Aikido

Principais ferramentas de teste de segurança de aplicativos dinâmicos (DAST) em 2025

Guias
12 de fevereiro de 2025
Ler mais
Por
Willem Delbare

Lançando o Opengrep | Por que fizemos o fork do Semgrep

Notícias
24 de janeiro de 2025
Ler mais
Por
Thomas Segura

O seu cliente necessita de correção da vulnerabilidade NIS2. E agora?

14 de janeiro de 2025
Ler mais
Por
Mackenzie Jackson

As 10 principais ferramentas SAST com IA em 2025

Guias
10 de janeiro de 2025
Ler mais
Por
Madeline Lawrence

Snyk vs Aikido Security | G2 Reviews Alternativa ao Snyk

Guias
10 de janeiro de 2025
Ler mais
Por
Mackenzie Jackson

As 10 principais ferramentas de análise de composição de software (SCA) em 2025

Guias
9 de janeiro de 2025
Ler mais
Por
Michiel Denis

3 passos fundamentais para reforçar a conformidade e a gestão do risco

27 de dezembro de 2024
Ler mais
Por
Mackenzie Jackson

O guia de código aberto da startup para segurança de aplicações

Guias
23 de dezembro de 2024
Ler mais
Por
Madeline Lawrence

Iniciar o Aikido para a IA do Cursor

Engenharia
13 de dezembro de 2024
Ler mais
Por
Mackenzie Jackson

Conheça a Intel: O feed de ameaças de código aberto do Aikido alimentado por LLMs.

Engenharia
13 de dezembro de 2024
Ler mais
Por
Johan De Keulenaer

Aikido junta-se à Rede de Parceiros AWS

Notícias
26 de novembro de 2024
Ler mais
Por
Mackenzie Jackson

Injeção de comando em 2024 descompactado

Engenharia
24 de novembro de 2024
Ler mais
Por
Mackenzie Jackson

Path Traversal em 2024 - O ano em aberto

Engenharia
23 de novembro de 2024
Ler mais
Por
Mackenzie Jackson

Equilíbrio de segurança: Quando utilizar ferramentas de código aberto vs. ferramentas comerciais

Guias
15 de novembro de 2024
Ler mais
Por
Mackenzie Jackson

O estado da injeção de SQL

Guias
8 de novembro de 2024
Ler mais
Por
Michiel Denis

O reforço da segurança da Visma com o Aikido: Uma conversa com Nikolai Brogaard

Notícias
6 de novembro de 2024
Ler mais
Por
Michiel Denis

Segurança em FinTech: Perguntas e respostas com Dan Kindler, cofundador e CTO da Bound

Notícias
10 de outubro de 2024
Ler mais
Por
Félix Garriau

As 7 principais ferramentas ASPM em 2025

Guias
1 de outubro de 2024
Ler mais
Por
Madeline Lawrence

Automatizar a conformidade com SprintoGRC x Aikido

Notícias
11 de setembro de 2024
Ler mais
Por
Félix Garriau

Como criar um SBOM para auditorias de software

Guias
9 de setembro de 2024
Ler mais
Por
Madeline Lawrence

SAST vs DAST: O que é preciso saber.

Guias
2 de setembro de 2024
Ler mais
Por
Félix Garriau

Melhores ferramentas SBOM para desenvolvedores: Nossas 2025 escolhas

Guias
7 de agosto de 2024
Ler mais
Por
Lieven Oosterlinck

5 alternativas ao Snyk e por que razão são melhores

Notícias
5 de agosto de 2024
Ler mais
Por
Madeline Lawrence

Porque é que estamos entusiasmados com a parceria com a Laravel

Notícias
8 de julho de 2024
Ler mais
Por
Félix Garriau

110 000 sítios afectados pelo ataque à cadeia de abastecimento Polyfill

Notícias
27 de junho de 2024
Ler mais
Por
Félix Garriau

Fundamentos de cibersegurança para empresas de tecnologia jurídica

Notícias
25 de junho de 2024
Ler mais
Por
Roeland Delrue

Integração do Drata - Como automatizar a gestão de vulnerabilidades técnicas

Guias
18 de junho de 2024
Ler mais
Por
Roeland Delrue

Certificação SOC 2: 5 coisas que aprendemos

Guias
4 de junho de 2024
Ler mais
Por
Joel Hans

Os 10 principais problemas de segurança das aplicações e como se proteger

Guias
28 de maio de 2024
Ler mais
Por
Madeline Lawrence

Acabámos de angariar 17 milhões de dólares para a Série A

Notícias
2 de maio de 2024
Ler mais
Por

As melhores ferramentas RASP para programadores em 2025

10 de abril de 2024
Ler mais
Por
Willem Delbare

Lista de verificação da segurança do webhook: Como criar webhooks seguros

Guias
4 de abril de 2024
Ler mais
Por
Willem Delbare

A cura para a síndrome de fadiga dos alertas de segurança

Engenharia
21 de fevereiro de 2024
Ler mais
Por
Roeland Delrue

NIS2: Quem é afetado?

Guias
16 de janeiro de 2024
Ler mais
Por
Roeland Delrue

Certificação ISO 27001: 8 coisas que aprendemos

Guias
5 de dezembro de 2023
Ler mais
Por
Roeland Delrue

O Cronos Group escolhe a Aikido Security para reforçar a postura de segurança das suas empresas e clientes

Notícias
30 de novembro de 2023
Ler mais
Por
Bart Jonckheere

Como é que a Loctax utiliza o Aikido Security para se livrar de alertas de segurança irrelevantes e falsos positivos

Notícias
22 de novembro de 2023
Ler mais
Por
Félix Garriau

A Aikido Security angaria 5 milhões de euros para oferecer uma solução de segurança sem descontinuidades às empresas SaaS em crescimento

Notícias
9 de novembro de 2023
Ler mais
Por
Roeland Delrue

Aikido Security atinge a conformidade com a norma ISO 27001:2022

Notícias
8 de novembro de 2023
Ler mais
Por
Félix Garriau

Como o CTO da StoryChief usa o Aikido Security para dormir melhor à noite

Notícias
24 de outubro de 2023
Ler mais
Por
Willem Delbare

O que é um CVE?

Guias
17 de outubro de 2023
Ler mais
Por
Félix Garriau

Melhores ferramentas para deteção de fim de vida: classificações de 2025

Guias
4 de outubro de 2023
Ler mais
Por
Willem Delbare

As 3 principais vulnerabilidades de segurança das aplicações Web em 2024

Engenharia
27 de setembro de 2023
Ler mais
Por
Félix Garriau

Novas funcionalidades de segurança do Aikido: agosto de 2023

Notícias
22 de agosto de 2023
Ler mais
Por
Félix Garriau

Lista de verificação de segurança do CTO SaaS 2025 da Aikido

Notícias
10 de agosto de 2023
Ler mais
Por
Félix Garriau

Lista de verificação de segurança SaaS CTO 2024 da Aikido

Notícias
10 de agosto de 2023
Ler mais
Por
Félix Garriau

15 principais desafios de segurança de código e nuvem revelados pelos CTOs

Engenharia
25 de julho de 2023
Ler mais
Por
Willem Delbare

O que é o OWASP Top 10?

Guias
12 de julho de 2023
Ler mais
Por
Willem Delbare

Como criar um painel de administração seguro para a sua aplicação SaaS

Guias
11 de julho de 2023
Ler mais
Por
Roeland Delrue

Como se preparar para a ISO 27001:2022

Guias
5 de julho de 2023
Ler mais
Por
Willem Delbare

Prevenir as consequências da pirataria informática da sua plataforma CI/CD

Guias
19 de junho de 2023
Ler mais
Por
Félix Garriau

Como fechar negócios mais rapidamente com um relatório de avaliação de segurança

Notícias
12 de junho de 2023
Ler mais
Por
Willem Delbare

Automatizar a gestão de vulnerabilidades técnicas [SOC 2]

Guias
5 de junho de 2023
Ler mais
Por
Willem Delbare

Prevenir a poluição de protótipos no seu repositório

Guias
1 de junho de 2023
Ler mais
Por
Willem Delbare

Como é que um CTO de uma startup SaaS consegue equilibrar a velocidade de desenvolvimento e a segurança?

Guias
16 de maio de 2023
Ler mais
Por
Willem Delbare

Como a nuvem de uma startup foi dominada por um simples formulário que envia e-mails

Engenharia
10 de abril de 2023
Ler mais
Por
Félix Garriau

A Aikido Security angaria 2 milhões de euros de pré-semente para criar uma plataforma de segurança de software para programadores

Notícias
19 de janeiro de 2023
Ler mais
Por

Porque é que os ficheiros de bloqueio são importantes para a segurança da cadeia de abastecimento

Ler mais
Principais ferramentas de gerenciamento de postura de segurança na nuvem (CSPM) em 2025
Por
A equipa de Aikido

Principais ferramentas de gerenciamento de postura de segurança na nuvem (CSPM) em 2025

Guias
14 de maio de 2025
Principais ferramentas de teste de segurança de aplicativos dinâmicos (DAST) em 2025
Por
A equipa de Aikido

Principais ferramentas de teste de segurança de aplicativos dinâmicos (DAST) em 2025

Guias
14 de maio de 2025
Ataque à cadeia de fornecimento de XRP: Pacote oficial do NPM infetado com backdoor de roubo de criptografia
Por
Charlie Eriksen

Ataque à cadeia de fornecimento de XRP: Pacote oficial do NPM infetado com backdoor de roubo de criptografia

Malware
31 de março de 2025

Obter segurança em 32 segundos

Ligue a sua conta GitHub, GitLab, Bitbucket ou Azure DevOps para começar a analisar os seus repositórios gratuitamente.

Comece de graça
Os seus dados não serão partilhados - Acesso só de leitura
Painel de controlo do Aikido
Empresa
ProdutoPreçosSobreCarreirasContactoSeja nosso parceiro
Recursos
DocumentosDocumentos públicos da APIBase de dados de vulnerabilidadesBlogueIntegraçõesGlossárioKit de imprensaComentários de clientes
Segurança
Centro de ConfiançaVisão geral da segurançaAlterar as preferências de cookies
Jurídico
Política de privacidadePolítica de cookiesTermos de utilizaçãoContrato Principal de SubscriçãoAcordo de processamento de dados
Casos de utilização
ConformidadeSAST E DASTASPMGestão de vulnerabilidadesGerar SBOMsSegurança do WordPressProteja o seu códigoAikido para a Microsoft
Indústrias
Para a HealthTechPara a MedTechPara a FinTechPara SecurityTechPara a LegalTechPara HRTechPara as agênciasPara empresasPara empresas de capital de risco e de grupo
Comparar
vs Todos os fornecedorescontra Snykcontra Wizvs Mendvs Orca Securityvs Veracodevs Segurança avançada do GitHubvs GitLab Ultimatevs Checkmarxvs Semgrepvs SonarQube
Ligar
hello@aikido.dev
LinkedInX
Subscrever
Mantenha-se a par de todas as actualizações
Ainda não é o caso.
👋🏻 Obrigado! Está inscrito.
Equipa de Aikido
Ainda não é o caso.
© 2025 Aikido Security BV | BE0792914919
🇪🇺 Endereço registado: Coupure Rechts 88, 9000, Ghent, Bélgica
🇪🇺 Endereço do escritório: Gebroeders van Eyckstraat 2, 9000, Ghent, Bélgica
🇺🇸 Endereço do escritório: 95 Third St, 2nd Fl, São Francisco, CA 94103, EUA
SOC 2
Conformidade
ISO 27001
Conformidade