WASViking® Code SecurityvsVeracode

A Veracode escaneia o que você empacota. A WASViking lê o repositório.

A Veracode construiu o seu nome com análise estática de builds empacotados, e muitos programas de AppSec cresceram em volta disso. O Code Security da WASViking começa pelo repositório: conecte o GitHub ou o Bitbucket, ative um repositório, e a plataforma lê o código, verifica dependências e segredos e registra cada fraqueza com a correção exata, na mesma fila do teste da aplicação em execução.

Sem build, sem empacotamento Sem mudança no pipeline Falhas de controle de acesso com rota e parâmetro Correção para o código exato
IDOR in GET /api/invoices/{id}
acme/billing-api · src/routes/invoices.ts:88 · CWE-639
HIGH
86 router.get('/api/invoices/:id', auth, async (req, res) => {
87   const id = req.params.id;
88   const invoice = await Invoice.findById(id);
89   res.json(invoice);
  • Line verified against the file at commit 3f9c2e1
  • Any signed-in customer can read another customer's invoice
  • Fix: scope the query to req.user.accountId
Same application in DAST: api.acme.example · Jira ACME-1531
Dados ilustrativos do tenant de demonstração ACME
Em resumo

Onde a diferença aparece no dia a dia.

Os dois produtos encontram fraquezas no código que a sua equipe escreveu. A diferença está no que é preciso para ter um scan, em quais falhas aparecem e no que o desenvolvedor tem em mãos quando um achado abre.

O repositório é a entrada

Nenhum build para gerar, nenhum artefato para empacotar, nenhuma etapa de upload. A plataforma clona o branch padrão num workspace isolado, lê o código e apaga o clone no fim da execução.

Falhas em como o acesso é controlado

A revisão vai às rotas, controllers, handlers e ao código de autorização, onde vivem o IDOR e a quebra de autorização em nível de objeto e de função. Cada achado nomeia a rota, o parâmetro e o ataque.

A correção vem com o achado

Cada fraqueza traz a correção para aquele código exato, inclusa no Code Security. Cada linha reportada é conferida contra o arquivo real antes, então ninguém abre um achado que aponta para um código que não existe.

Código ao lado do que está rodando

Os achados de código ficam ao lado dos achados de DAST, API e edge da aplicação que publica esse código, com o mesmo risk score, o mesmo relógio de SLA e os mesmos tickets. Uma fila, um responsável, uma medida de progresso.

Chegando ao primeiro resultado

Cinco passos até o primeiro achado, ou três cliques.

Um scan estático empacotado precisa de um build que compile, dos artefatos certos no upload e de alguém dono desse processo em cada aplicação. O Code Security precisa de uma conexão com o repositório.

Veracode Static Analysis

Caminho típico de um scan por upload

Fazer o build da aplicaçãoO código precisa compilar antes
01
Empacotar os artefatosBinários e símbolos de debug, ou o autopackager
02
Upload e pré-scanPor aplicação, por release
03
ScanOu um Pipeline Scan dentro de um workflow de CI
04
Triagem num console próprioSeparada dos resultados de teste em runtime
05

WASViking® Code Security

Da conexão ao primeiro resultado

Conectar GitHub ou BitbucketGitHub App ou consumer do Bitbucket, uma vez por organização
01
Ativar o MonitoredPor repositório, inclusive os que não têm CI
02
Clicar em Scan nowResultados na tela enquanto você ainda está nela
03
Depois disso, os scans rodam na cadência do plano e nos pushes para o branch padrão.
Cobertura

O código mais antigo costuma ser o que não tem pipeline.

Um scan que depende de workflow de CI cobre os repositórios que têm um. O serviço legado que ninguém mais publica, a ferramenta interna e o repositório de scripts ficam no escuro, e costumam guardar o código mais arriscado.

Repositórios da ACME, por pipeline

38 repositórios, todos monitorados pelo Code Security

24Com pipeline de CITambém com o gate do Sentinel no CI
14Sem pipeline de CIServiços legados, ferramentas internas, scripts

No caso da ACME, 11 dos 23 achados de código de severidade alta vieram dos repositórios sem pipeline.

Cobertura que se amplia sozinha

Arquivos com achado aberto são revisados de novo a cada scan, e o resto do orçamento de revisão gira pelo repositório, então cada execução olha um lugar novo.

Achados com identidade estável

A mesma fraqueza no mesmo lugar continua sendo um único achado enquanto os números de linha mudam. Ela reabre numa regressão e se resolve quando duas revisões seguidas do arquivo não a encontram mais.

Medido, não estimado

Primeiro mais cobertura, depois um backlog que diminui.

Quando a ACME ativou os repositórios que não tinham pipeline, os achados abertos subiram antes de cair. Essa subida é o ponto: um risco que sempre existiu, agora na lista, com responsável e correção.

Repositórios monitorados
38
Incluindo 14 sem pipeline
Mudanças de build ou pipeline necessárias
0
Só a conexão com o repositório
Segredos hard-coded encontrados no histórico
7
Evidência mascarada antes de ser guardada

Achados de código abertos na ACME

Achados de SAST, dependências e segredos, semanal. Quanto menor, melhor.

Os achados de código abertos subiram de 58 para 96 quando a cobertura aumentou e depois caíram para 28 nas semanas seguintes. 0 25 50 75 100 12 semanas atrás Esta semana Repositórios sem pipeline ativados 58 28
Achados de código abertos Repositórios sem pipeline ativados

Um relatório para o dono do código

O PDF do repositório lista cada achado aberto por motor, SAST incluso, num formato que o dono do código ou um auditor lê sem conta no console.

Cada execução registrada

Gatilho, branch, commit, duração e resultado ficam guardados em cada execução, então a pergunta de quando esse código foi revisado pela última vez tem uma resposta com data.

Dados ilustrativos do tenant de demonstração ACME

Tela do produto

Cada repositório monitorado, seus achados e sua última execução.

Repositórios monitorados, achados abertos por motor e os achados de SAST de cada repositório numa página só, ao lado do resto da plataforma.

Code Security no portal da WASViking
Lado a lado

Capacidade por capacidade, o que cada produto entrega.

A coluna Veracode cobre o Static Analysis e as capacidades em volta dele. Onde os dois produtos fazem bem o trabalho, dizemos isso.

Capacidade Veracode WASViking® Code Security
Levando o código ao scan
O que é analisado Um build empacotado, com binários compilados para linguagens como Java, .NET e C/C++, e um autopackager para ajudar O código do branch padrão, clonado do lado da plataforma. Nada para compilar, empacotar ou enviar
Vai além
Repositórios sem pipeline A GitHub Workflow Integration roda os scans como workflows do GitHub Actions Conexão via GitHub App ou Bitbucket. A plataforma escaneia na cadência do plano e nos pushes para o branch padrão, sem arquivo de workflow no repositório
Vai além
Gate no pipeline Pipeline Scan que falha o build com achados novos acima de uma severidade Gate de CI do Sentinel no GitHub Actions e no Bitbucket Pipelines, com os resultados unidos ao mesmo histórico do repositório que os scans da plataforma
Equivalente
Qualidade dos achados
O que a análise procura Análise baseada em regras para uma ampla gama de linguagens e frameworks Revisão focada nos arquivos que carregam a lógica de segurança, com falhas de controle de acesso como IDOR e quebra de autorização em nível de objeto e de função reportadas com rota e parâmetro
Equivalente
Evidência Falha com arquivo, linha e caminho do dado Arquivo e linha conferidos contra o código real antes do relatório, mais por que é explorável e um cenário de ataque
Equivalente
Orientação de correção Veracode Fix, correção por IA com licença própria, para achados do Pipeline Scan A correção para o código exato em todo achado, inclusa no Code Security
Vai além
Em volta do código
Dependências open source Software Composition Analysis, por agente ou por upload Análise de dependências contra OSV e CISA KEV com drift desde o scan anterior, em toda execução
Equivalente
SBOM SBOM gerado pela análise de composição SBOM CycloneDX em todo scan, reavaliado diariamente contra novos advisories e exportável como Evidence Bundle assinado
Equivalente
A aplicação em execução Dynamic Analysis como produto separado na mesma plataforma Achados de código na mesma fila do DAST externo e interno, do teste de APIs e da telemetria de edge da mesma aplicação, com um risk score e um SLA
Vai além
Ticketing Integrações com issue trackers como o Jira Jira e ServiceNow bidirecionais: card e achado fecham juntos numa correção verificada, com labels e nota de fechamento
Equivalente
Evidência de conformidade Relatórios de conformidade com políticas e o programa Veracode Verified Mapeado para PCI DSS 6.2.3 e 6.3.2, ISO 27001, NIST SSDF e LGPD, com Evidence Bundles e Posture Shares que o auditor ou o cliente abre
Equivalente
Além da análise estática

O que a mesma plataforma faz com a mesma aplicação.

O código é uma das visões de uma aplicação. A WASViking também a testa enquanto roda, vigia as dependências depois do release e registra a evidência que os seus clientes pedem.

DAST externo e interno

Teste autenticado da aplicação web em execução e das suas APIs, inclusive as internas pelo agente Sentinel, sem VPN nem portas de entrada.

Segredos no histórico

Credenciais hard-coded na árvore de trabalho em toda execução, e no histórico completo do branch padrão quando você ativa, com a evidência mascarada antes de ser guardada.

Cadeia de software depois do release

O SBOM de cada repositório é conferido todo dia contra novos advisories, então uma vulnerabilidade publicada no mês que vem chega à equipe certa sem um novo scan.

Migração

Aponte os dois para os mesmos repositórios e compare.

A avaliação roda no seu próprio código, então a decisão se apoia nos seus próprios achados e não num benchmark.

Conecte a organização

Instale o GitHub App ou aprove o consumer do Bitbucket. Nada muda nos seus pipelines.

Escolha os repositórios

Inclua um que você já escaneia com a Veracode e um que nunca teve pipeline.

Compare os achados

Veja o que cada um encontra no código de autorização, e o que um desenvolvedor consegue fazer com cada achado sem precisar perguntar a ninguém.

Conecte o tracker

Ative o Jira ou o ServiceNow para uma equipe e acompanhe um achado do card até a correção verificada.

Perguntas que compradores fazem

Perguntas frequentes

O Code Security substitui o Veracode Static Analysis?

Para equipes no GitHub ou no Bitbucket que querem revisão contínua dos seus repositórios, sim: análise estática, dependências, segredos e SBOM rodam num único produto, ao lado do teste da aplicação em execução. Equipes que dependem de análise binária de código de terceiros ou só compilado, ou de um plugin de IDE, devem considerar essa parte na avaliação.

O nosso código sai do nosso controle?

Cada execução clona o branch padrão num workspace isolado e de vida curta, num worker dedicado. Nada do repositório é executado, e o clone é apagado no fim da execução. Só ficam os achados, a lista de componentes, a evidência mascarada e o registro da execução.

Como os falsos positivos são mantidos baixos?

Cada linha reportada é conferida contra o arquivo real antes de chegar até você, e uma fraqueza que não se sustenta no código é descartada. Um achado também se resolve sozinho quando duas revisões seguidas do arquivo não o veem mais.

Podemos manter o nosso gate no pipeline?

Sim. O passo de CI do Sentinel roda no GitHub Actions e no Bitbucket Pipelines, e os resultados se juntam aos scans da plataforma sob o mesmo nome de repositório.

Como é o licenciamento?

O Code Security está incluso do plano Pro para cima. Cada repositório monitorado conta como uma unidade na franquia do plano, qualquer que seja o tamanho e a frequência de scan. Nossa equipe prepara a proposta a partir da sua lista real de repositórios.

Veja a WASViking no seu próprio ambiente.

Conte-nos sobre o seu ambiente. Nossa equipe retorna em até um dia útil com os próximos passos e uma cotação.