CVE-Ignore Converter · Security
Traduza arquivos de exclusão de vulnerabilidades em um clique.
Converta um arquivo de exclusão de vulnerabilidades entre .trivyignore, .grype.yaml, .snyk e osv-scanner.toml — cole um, escolha um destino e obtenha o arquivo equivalente.
Ambiente de testes do CVE-Ignore Converter
Tip: press Esc to release focus.
A lacuna
Uma decisão, quatro formatos de arquivo.
Decidir suprimir um CVE é trabalho de verdade: você investiga a acessibilidade, aceita o risco e anota o porquê. Mas essa única decisão precisa ser recodificada para cada scanner que você executa. Trivy quer uma linha no .trivyignore; Grype quer um matcher estruturado no .grype.yaml; Snyk quer uma entrada indexada no .snyk; e osv-scanner quer uma tabela TOML no osv-scanner.toml.
Manter quatro arquivos editados à mão para a mesma política é o caminho por onde a divergência se infiltra — um CVE ignorado em uma ferramenta, mas ativo em outra, uma expiração que venceu em um único lugar. Este conversor traduz entre os quatro formatos para que você possa unificar sua política de supressão de CVE entre scanners: aprove uma vez, gere em todos os lugares, de forma consistente.
Não conhece um formato? Vá direto para os quatro arquivos ou experimente o conversor ao vivo acima.
O processo
Como funciona.
Quatro passos determinísticos rodam de ponta a ponta em cada conversão — tudo dentro da aba do seu navegador, sempre.
-
Detecta a origem.
O arquivo de exclusão colado é inspecionado e analisado de acordo com o formato que você selecionar — Trivy, Grype, Snyk ou osv-scanner.
-
Monta um modelo neutro.
Cada supressão vira um registro independente do formato: ID de vulnerabilidade, escopo opcional, motivo e expiração.
-
Gera o destino.
Esse modelo é renderizado na sintaxe exata do formato de destino — lista de linhas, matcher YAML ou tabela TOML.
-
Sinaliza o que não dá para mapear.
Qualquer campo sem lugar no destino — expiração, escopo de pacote, caminhos — aparece como um aviso, nunca é descartado silenciosamente.
Formatos de arquivo
Quatro formatos, uma política.
A mesma supressão — “ignorar CVE-2023-12345, risco aceito” — aparece diferente em cada scanner. Veja como os quatro formatos a codificam.
Trivy — .trivyignore
Uma lista simples de IDs de vulnerabilidade, um por linha, com # comentários para o motivo humano. Não carrega expiração nem escopo de pacote legível por máquina, então esses campos são descartados (com um aviso) ao converter a partir de formatos mais ricos.
# .trivyignore — one ID per line; '#' starts a comment.
# Accepted risk: no fixed version upstream yet (review 2026-09).
CVE-2023-12345
CVE-2024-0001 Grype — .grype.yaml
Uma lista ignore YAML de matchers estruturados. Cada regra pode restringir uma supressão a um nome e versão de package específicos, mas não carrega expiração.
# .grype.yaml — ignore rules are structured matchers.
ignore:
- vulnerability: CVE-2023-12345
# Optional scoping by package narrows the suppression.
package:
name: libfoo
version: 1.2.3
- vulnerability: GHSA-xxxx-yyyy-zzzz Snyk — .snyk
Uma política YAML indexada por ID de problema. Cada entrada restringe por caminho ('*' para todos) e carrega um reason legível por pessoas e um carimbo de data/hora expires.
# .snyk — a YAML policy file. Each ignore is keyed by issue ID.
version: v1.25.0
ignore:
SNYK-JS-LODASH-1040724:
- '*':
reason: No reachable code path; tracked in JIRA-481.
expires: 2026-09-01T00:00:00.000Z
CVE-2023-12345:
- '*':
reason: Accepted risk — no upstream fix. osv-scanner — osv-scanner.toml
Um arquivo TOML com um array de tabelas [[IgnoredVulns]]. Cada uma tem um id, uma expiração ignoreUntil opcional e um reason.
# osv-scanner.toml — TOML array of ignored advisories.
[[IgnoredVulns]]
id = "CVE-2023-12345"
# 'ignoreUntil' is the expiry equivalent.
ignoreUntil = 2026-09-01
reason = "Accepted risk — no upstream fix."
[[IgnoredVulns]]
id = "GHSA-xxxx-yyyy-zzzz"
reason = "Not exploitable in our build." | Scanner | File | Shape | Expiry | Scope | Reason |
|---|---|---|---|---|---|
| Trivy | .trivyignore | Lista de linhas | Não (apenas comentários) | Não | Comentários |
| Grype | .grype.yaml | Matchers YAML | Não | Pacote | Não |
| Snyk | .snyk | Política YAML | Data por regra | Caminho | Sim |
| osv-scanner | osv-scanner.toml | Tabelas TOML | ignoreUntil | Não | Sim |
Quando há perdas
Uma observação sobre fidelidade: como os formatos carregam metadados diferentes, nem todo campo sobrevive a cada conversão. As datas de expiração não têm lugar no .grype.yaml; o escopo de pacote e de caminho não pode ser expresso no .trivyignore nem no osv-scanner.toml; e os metadados de motivo são rebaixados a um comentário quando um destino não tem um campo dedicado. Quando um campo não pode ser mapeado, o conversor o sinaliza como um aviso em vez de descartá-lo silenciosamente — assim você sempre sabe exatamente o que não foi transferido e pode decidir o que fazer a respeito.
FAQ
Suas perguntas, respondidas.
Toque em uma pergunta para expandir a resposta.
O que é o CVE-Ignore Converter?
É uma ferramenta gratuita, executada no navegador, que traduz uma política de supressão de vulnerabilidades entre os quatro formatos de scanner mais comuns: Trivy (.trivyignore), Grype (.grype.yaml), Snyk (.snyk) e osv-scanner (osv-scanner.toml). Cole um arquivo de exclusão, escolha um formato de destino e obtenha o arquivo equivalente — assim, uma supressão que você decidiu uma vez não precisa ser redigitada para cada scanner.
Meus dados saem do meu navegador em algum momento?
Não. O conversor roda 100% no lado do cliente. Seu arquivo de exclusão é processado e gerado novamente dentro da aba do seu navegador — nada é enviado para um servidor, e não há conta nem cadastro. Você pode colar com segurança políticas internas de CVE e os comentários que as justificam.
Entre quais formatos ele consegue converter?
As quatro direções são suportadas: .trivyignore (Trivy), .grype.yaml (Grype), .snyk (política do Snyk) e osv-scanner.toml (osv-scanner). Qualquer formato de origem pode ser traduzido para qualquer formato de destino, então ele também funciona como unificador quando você adota um novo scanner.
Como converto um arquivo .trivyignore em um arquivo de política .snyk?
Cole o conteúdo do .trivyignore e selecione .snyk como formato de destino. O conversor mapeia cada ID de vulnerabilidade para um bloco de exclusão YAML do Snyk indexado pelo ID do problema, usando um escopo de caminho com curinga, e leva qualquer comentário de linha para o campo de motivo. A conversão roda inteiramente no seu navegador, sem nada enviado.
Posso converter um arquivo de exclusão .grype.yaml para .trivyignore?
Sim. Os matchers de exclusão estruturados do Grype — ID de vulnerabilidade, nome de pacote opcional e escopo de versão — são reduzidos a uma lista simples de IDs no formato .trivyignore. Como o .trivyignore não tem escopo de pacote nem de versão legível por máquina, esses campos não podem ser representados no destino; o conversor os sinaliza como avisos em vez de descartá-los silenciosamente.
Como unifico uma política de supressão de vulnerabilidades em vários scanners?
Mantenha um único arquivo de exclusão de origem e use o conversor para traduzi-lo para cada formato de scanner que você executa. Isso evita o problema da política fragmentada, em que a mesma decisão de risco aceito precisa ser reexpressa separadamente para Trivy, Grype, Snyk e osv-scanner, e previne a divergência em que um CVE é suprimido em uma ferramenta, mas continua ativo em outra.
Qual é o formato de um arquivo de exclusão osv-scanner.toml?
É um arquivo TOML que contém um array de tabelas [[IgnoredVulns]]. Cada tabela tem um campo id (por exemplo CVE-2023-12345, GHSA-xxxx-yyyy-zzzz, RUSTSEC-2023-0001), uma data de expiração ignoreUntil opcional no formato RFC3339 e uma string reason opcional. O conversor lê e escreve esse formato junto com Trivy, Grype e Snyk.
Por que nem todos os campos sobrevivem a uma conversão de ida e volta?
Os formatos não carregam os mesmos metadados. O .trivyignore do Trivy é uma lista de IDs com comentários opcionais; o .snyk do Snyk é uma política YAML com escopo por caminho e datas de expiração; o .grype.yaml do Grype e o osv-scanner.toml ficam em um meio-termo. Os campos sem equivalente no destino — datas de expiração, escopo de pacote ou de caminho, metadados de motivo — são sinalizados como avisos em vez de descartados silenciosamente, para que você sempre saiba o que não foi mapeado.
O comentário ou motivo de cada supressão é preservado?
Sempre que o formato de destino oferece suporte. Tanto Trivy quanto Snyk carregam motivos legíveis por pessoas (Trivy como comentários de linha e Snyk como um campo reason dedicado), então as justificativas sobrevivem a essas conversões. Quando um formato de destino não tem onde armazenar o motivo, o conversor o mantém como comentário onde for possível e emite um aviso onde não for.
Isto tem afiliação com Aqua Security, Anchore, Snyk ou Google?
Não. Esta é uma ferramenta independente e comunitária, e não tem afiliação nem é endossada pela Aqua Security (Trivy), Anchore (Grype), Snyk ou Google (osv-scanner). Os nomes dos fornecedores e dos formatos são usados apenas para descrever o que a ferramenta lê e escreve.
More free, private DevOps tools.
O CVE-Ignore Converter é mais uma ferramenta do OpsCanopy — uma copa crescente de validadores, conversores e testadores executados no navegador que nunca tocam um servidor.
Mais em Segurança
29 ferramentas gratuitas, todas capazes de funcionar offline — o opscanopy.com não exige cadastro e não envia nada.
Combina bem com o AlertLint, nosso testador de regras de alerta do Loki executado no navegador, ou explore o diretório completo de ferramentas.
Sem afiliação ou endosso da Aqua Security (Trivy), Anchore (Grype), Snyk ou Google (osv-scanner). Todos os nomes de produto são marcas comerciais de seus respectivos proprietários e são usados apenas para descrever o que esta ferramenta lê e escreve.