Protegemos a esteira em que os seus clientes já publicam.
198 regras de código em 14 linguagens e 31 padrões de segredo, ao lado do que os seus próprios scanners produziram. O rastreio de dado roda só em JavaScript e TypeScript, dentro de uma mesma função, e vem desligado de fábrica — esta frase está nesta página porque você descobriria de qualquer jeito.
O que os motores contam
Cada contagem foi lida item a item no fonte do motor, não arredondada de um briefing.
O gargalo não é achar. É a última milha.
Não quero trocar as ferramentas que já uso
Você não troca. A plataforma lê o que as suas ferramentas já cospem: SARIF (CodeQL, Semgrep, SonarQube), Trivy e Grype, ZAP, Burp, Nuclei, Nessus e OpenVAS, e CSV de Qualys, Rapid7 e Tenable. Tudo cai na mesma tabela de achados em que caiu o que os nossos motores acharam, e na volta ela exporta SARIF.
Não quero reabrir o mesmo achado a cada reteste
A identidade de um achado não usa número de linha, então reformatar o arquivo não inventa um achado novo. O que você marcou como aceito ou falso positivo continua marcado na varredura seguinte — e a marcação em massa se recusa a fechar achado crítico ou alto.
Preciso disso dentro da esteira que o meu cliente já tem
GitHub, GitLab e Azure DevOps na nuvem, com o status da varredura devolvido ao pull request. Não existe Action de esteira nem programa de linha de comando: a ligação é uma chamada HTTP que você escreve.
Meu cliente está pedindo um SBOM
Ela gera CycloneDX 1.6 pela biblioteca oficial, montado a partir do conjunto de dependências que uma varredura SCA já resolveu, e devolve a contagem de componentes e quantos carregam vulnerabilidade conhecida. Ela não resolve a árvore sozinha: sem varredura SCA antes, o pedido é recusado com 422. SBOM gerado em outro lugar pode ser enviado e é enriquecido contra a mesma base de vulnerabilidade.
O que acontece com um achado depois que ele chega
O que não fazemos
Cada limite abaixo foi lido no código antes de ser escrito aqui, e está por escrito antes da proposta, não depois dela.
O rastreio do dado cobre duas linguagens
O taint roda só em JavaScript e TypeScript, dentro de uma mesma função, e está desligado por padrão. Nas outras é casamento de padrão, linha a linha, e uma linha não enxerga a anterior.
Três provedores de repositório, na nuvem
GitHub, GitLab e Azure DevOps. Bitbucket não conecta, GitLab instalado na casa do cliente não conecta, GitHub Enterprise Server não conecta. Os endereços estão fixos no código.
O varredor web vê a superfície anônima
Ele não faz login no sistema do seu cliente, e não inspeciona certificado, cifra nem versão de TLS. Quando confirma uma falha, para ali: não escala privilégio, não executa comando e não extrai dado.
O relatório sai em PDF, e com a nossa marca
Marca branca não existe. A nossa marca fica no cabeçalho e no rodapé de toda página, e trocar exige alterar código e recompilar. Não sai em Word nem em Excel.
A plataforma ainda não está no ar
A infraestrutura está sendo reconstruída. Não há cadastro, teste nem cobrança, e você não paga por nada antes de existir.
Me diga quais scanners você roda e eu digo o que cai na tabela.
Não há cadastro nem teste para clicar. O que existe hoje é uma conversa técnica com quem escreveu o código.