WASViking® Code SecurityvsSonarQube

O SonarQube mantém o código limpo. A WASViking mantém a aplicação segura.

O SonarQube conquistou o seu lugar em milhares de pipelines tornando o código mais fácil de manter, e olha segurança pelo caminho. O Code Security da WASViking é feito só para segurança: lê o código onde o acesso é decidido, explica como cada fraqueza pode ser explorada, corrige para a linha exata e coloca tudo na mesma fila do teste da aplicação em execução.

Achados de segurança, não code smells Revisão de controle de acesso Dependências e segredos inclusos Preço por repositório
Role change without admin check
acme/admin-portal · src/users/controller.py:142 · CWE-285
CRITICAL
140 @router.put("/api/users/{user_id}/role")
141 def set_role(user_id: int, body: RoleIn, user=Depends(current_user)):
142     return users.update(user_id, role=body.role)
  • Any signed-in user can promote any account to admin
  • Attack: PUT /api/users/7/role with role=admin from a viewer session
  • Fix: require_admin(user) before the update
Line verified at commit a81d4c0 · ServiceNow INC0048211
Dados ilustrativos do tenant de demonstração ACME
Em resumo

Onde a diferença aparece no dia a dia.

Uma ferramenta de qualidade pergunta se o código está bem escrito. Uma ferramenta de segurança pergunta se alguém consegue abusar dele. As duas perguntas importam, e levam a achados diferentes.

Só o que um atacante pode usar

Nada de code smells, duplicação ou estilo na fila. Todo achado é uma fraqueza de segurança, então a equipe de segurança e os desenvolvedores discutem a correção, não se o achado importa.

Onde o acesso é decidido

A quebra de controle de acesso é a primeira categoria do OWASP Top 10 e difícil de enxergar por análise baseada em regras. A revisão vai às rotas, controllers, handlers e ao código de autorização, e nomeia a rota e o parâmetro.

Um veredito, não uma tarefa de revisão

Em vez de um hotspot para alguém revisar à mão, cada achado diz por que é explorável, traz um cenário de ataque e a correção, com a linha conferida contra o arquivo real antes.

Um preço que não cresce a cada linha

Cada repositório monitorado conta como uma unidade, qualquer que seja o tamanho e a frequência de scan. Um monorepo que dobra de tamanho não dobra a conta.

O que o desenvolvedor recebe

Uma regra que bateu, ou uma fraqueza que alguém consegue explorar.

A análise baseada em regras é rápida e consistente, e reporta o que bateu com uma regra. O Code Security reporta o que um atacante conseguiria fazer, e o que mudar para que ele não consiga.

Análise de qualidade e segurança baseada em regras

O que um achado costuma trazer

Regra e localizaçãoA regra que bateu, o arquivo e a linha
Security hotspotsCódigo sensível marcado para uma pessoa revisar
Misturado com qualidadeBugs, code smells e segurança numa lista só
Só a visão do códigoSem ligação com o comportamento da aplicação em execução

WASViking® Code Security

O que todo achado traz

Rota, parâmetro e linha verificadaConferida contra o arquivo no commit escaneado
Por que é explorávelCom um cenário de ataque que um revisor consegue seguir
A correção para aquele códigoInclusa, não uma licença à parte
Mesma fila do teste em runtimeRisk score, SLA e tickets compartilhados com o DAST
O que a revisão encontra

O maior grupo é o mais difícil de enxergar para ferramentas baseadas em regras.

Nos repositórios da ACME, as falhas de controle de acesso formaram o maior grupo de fraquezas no código que a própria equipe escreveu. Dependências vulneráveis e segredos vieram no mesmo scan.

Achados de código abertos na ACME, por classe

55 achados em 38 repositórios monitorados

1
Dependências vulneráveis2 no CISA KEV
23
2
IDOR e BOLAAutorização em nível de objeto
11
3
Checagens de autorização ausentesRotas abertas a qualquer usuário logado
8
4
Segredos hard-codedEvidência mascarada
7
5
BFLAAutorização em nível de função
6

Em destaque: controle de acesso, 25 achados somados, o maior grupo no código que a ACME escreveu.

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.

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.

Medido, não estimado

Doze semanas de achados de código de alta severidade caindo.

Líderes de segurança não precisam de uma nota de manutenibilidade. Precisam saber se as fraquezas que importam estão fechando, e em quanto tempo.

Linhas de código em revisão
1,9 mi
Eram 1,2 mi um ano atrás
Unidades de licença em uso
38
Uma por repositório monitorado, as mesmas de um ano atrás
Mediana até a correção, alta severidade
5 dias
Do achado até resolvido por novo scan

Achados de código altos e críticos abertos na ACME

Semanal, só achados de segurança. Quanto menor, melhor.

Os achados de código altos e críticos abertos caíram de 23 para 6 em doze semanas. 0 8 16 24 32 12 semanas atrás Esta semana Sincronização com ServiceNow ativada 23 6
Altos e críticos abertos Sincronização com ServiceNow ativada

Fechado no tracker, fechado aqui

Jira e ServiceNow ficam sincronizados nos dois sentidos. Uma correção verificada fecha o card com uma nota, e uma regressão o reabre.

Um relatório para o dono do código

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

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 SonarQube cobre o SonarQube Server e o SonarQube Cloud, com a edição indicada quando a capacidade depende dela. Onde os dois produtos fazem bem o trabalho, dizemos isso.

Capacidade SonarQube WASViking® Code Security
Levando o código ao scan
Onde a análise roda Um scanner no pipeline de CI, auto-hospedado com o SonarQube Server ou no SonarQube Cloud Do lado da plataforma, a partir de uma conexão com GitHub ou Bitbucket, na cadência do plano e nos pushes para o branch padrão. Nada para hospedar
Equivalente
Gate no pipeline Quality gates e decoração de pull request Gate de CI do Sentinel no GitHub Actions e no Bitbucket Pipelines que falha com achados novos, unido ao mesmo histórico do repositório
Equivalente
Qualidade dos achados
Falhas de injection Taint analysis no código, da Developer Edition para cima Testado na aplicação em execução pelo DAST: SQL injection, command injection, SSTI e XXE, cada um com a requisição e a resposta que o comprovam
Equivalente
Controle de acesso Regras de segurança e hotspots para código sensível Revisão de rotas, controllers, handlers e código de autorização em busca de IDOR, quebra de autorização em nível de objeto e de função, checagens de autorização ausentes e clickjacking
Vai além
O que um achado diz Regra, localização e, para hotspots, uma etapa de revisão manual Linha verificada contra o arquivo real, por que é explorável e um cenário de ataque, sem etapa de revisão antes de contar
Vai além
Orientação de correção Sugestões do AI CodeFix A correção para o código exato em todo achado, inclusa no Code Security
Equivalente
Em volta do código
Dependências open source Análise de composição de software no SonarQube Advanced Security, uma extensão Análise de dependências contra OSV e CISA KEV com drift desde o scan anterior, inclusa em toda execução com um SBOM CycloneDX
Vai além
Segredos Regras de detecção de segredos Árvore de trabalho em toda execução, histórico completo do branch padrão quando você ativa, evidência mascarada antes de ser guardada
Equivalente
A aplicação em execução Análise de código 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
ComercialLicenciamento
O que define o preço Linhas de código analisadas Repositórios monitorados: cada um conta como uma unidade, qualquer que seja o tamanho e a frequência de scan
Vai além
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.

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.

Evidência para auditores e clientes

Achados mapeados 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.

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

Comece pelos serviços que lidam com dados de clientes e autorização, onde os achados de segurança mais importam.

Compare os achados de segurança

Filtre a outra ferramenta só para questões de segurança e coloque as duas listas lado a lado. Olhe em especial o código de autorização.

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

Devemos substituir o SonarQube ou rodar os dois?

Se a sua equipe usa o SonarQube principalmente para qualidade de código, mantenha-o para isso e leve a segurança para o Code Security, onde os achados vêm com cenário de ataque e dividem a fila com o resto da segurança das suas aplicações. Se vocês o compraram para segurança, o Code Security cobre esse trabalho sozinho.

Ele substitui o nosso quality gate de pull request?

Para segurança, sim: o passo de CI do Sentinel falha o build com achados de segurança novos no GitHub Actions e no Bitbucket Pipelines. Quality gates de cobertura, duplicação ou estilo ficam com a sua ferramenta de qualidade.

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.

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.