Pular para o conteúdo

CVE-Ignore Converter · Security

CVE-Ignore Converter: Traduza arquivos de exclusão de vulnerabilidades em um clique.

Converta um arquivo de exclusão de vulnerabilidades entre.trivyignore,.grype.yaml,.snyk eosv-scanner.toml — cole um, escolha um destino e obtenha o arquivo equivalente.

Roda no seu navegador — nada do que você cola sai desta página. Como comprovamos isso

Roda no seu navegadorSem cadastroGratuito e abertoAtualizado em 4 de set. de 2026

Ambiente de testes do CVE-Ignore Converter

Example
input

Tip: press Esc to release focus.

output
read-only
Notes

Pick a source format, paste a suppression file, then convert to see the translated policy and any lossy-conversion notes here.

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; eosv-scanner quer uma tabela TOML noosv-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.

  1. 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.

  2. Monta um modelo neutro.

    Cada supressão vira um registro independente do formato: ID de vulnerabilidade, escopo opcional, motivo e expiração.

  3. Gera o destino.

    Esse modelo é renderizado na sintaxe exata do formato de destino — lista de linhas, matcher YAML ou tabela TOML.

  4. 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.

Trivy → Snyk

Converta um .trivyignore em uma política .snyk.

Cole o arquivo do Trivy e escolha .snyk como formato de destino. É exatamente isto que o conversor acima devolve.

Cole isto

.trivyignore
# Accepted risk — no upstream fix (review 2026-09).
CVE-2023-12345
GHSA-xxxx-yyyy-zzzz

Você recebe isto

.snyk
version: v1.25.0
ignore:
  CVE-2023-12345:
    - "*":
        reason: Accepted risk — no upstream fix (review 2026-09).
  GHSA-xxxx-yyyy-zzzz:
    - "*": {}
  • ID → chave de ignore

    Cada linha solta do .trivyignore vira uma chave no mapa ignore: do Snyk — vale para identificadores CVE, GHSA e RUSTSEC.

  • # comentário → reason

    Um comentário logo acima de um ID, ou no fim dessa mesma linha, é levado para o campo reason daquela regra, então a justificativa acompanha a supressão.

  • sem caminho → "*"

    O Snyk indexa cada regra por caminho e o .trivyignore não tem nenhum, então cada regra é escrita contra "*" (todos os caminhos) e um aviso registra que o conversor usou esse padrão.

  • mesmo ID duas vezes → mesclado

    Duas linhas de origem para a mesma vulnerabilidade são mescladas em uma única chave de ignore em vez de sobrescreverem uma à outra; se os motivos divergirem, você recebe um aviso em vez de uma perda silenciosa.

Nos dois sentidos

Do Snyk de volta para o Trivy — e em qualquer outra direção.

O conversor não é de mão única. Qualquer um dos quatro formatos pode ser a origem e qualquer outro o destino, então a mesma página cobre.snyk.trivyignore,.trivyignore.grype.yaml e.trivyignoreosv-scanner.toml.

Na volta para o Trivy, cada reason do Snyk é reemitida como linhas de comentário# acima do seu ID — todas as linhas dela, porque uma linha sem comentário no.trivyignore é uma supressão. O que o Trivy não consegue guardar é relatado em vez de alterado em silêncio: uma dataexpires não tem para onde ir, então você fica sabendo exatamente qual ID a perdeu.

.snyk.trivyignore

.trivyignore
# .trivyignore — generated by OpsCanopy CVE-Ignore Converter

# No reachable code path; tracked in JIRA-481.
SNYK-JS-LODASH-1040724
# Accepted risk — no upstream fix.
CVE-2023-12345

Convertido a partir da política .snyk mostrada mais abaixo, com um aviso: “Trivy cannot represent the expiry on SNYK-JS-LODASH-1040724 — dropped.”

Formatos de arquivo

O que .trivyignore, .grype.yaml,.snyk e osv-scanner.toml guardam.

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
# .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 listaignore YAML de matchers estruturados. Cada regra pode restringir uma supressão a um nome e versão depackage específicos, mas não carrega expiração.

.grype.yaml
# .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 umreason legível por pessoas e um carimbo de data/hora expires.

.snyk
# .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-scannerosv-scanner.toml

Um arquivo TOML com um array de tabelas[[IgnoredVulns]]. Cada uma tem um id, uma expiraçãoignoreUntil opcional e umreason.

osv-scanner.toml
# 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."
O que cada formato de exclusão de scanner consegue expressar.
ScannerFileShapeExpiryScopeReason
Trivy.trivyignoreLista de linhasNão (apenas comentários)NãoComentários
Grype.grype.yamlMatchers YAMLNãoPacoteNão
Snyk.snykPolítica YAMLData por regraCaminhoSim
osv-scannerosv-scanner.tomlTabelas TOMLignoreUntilNãoSim

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 noosv-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 conversoro 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.

É 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.

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.

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.

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.

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.

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.

É 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.

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.

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.

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 doOpsCanopy — uma copa crescente de validadores, conversores e testadores executados no navegador que nunca tocam um servidor.

39 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 odiretório completo de ferramentas.

Sem afiliação ou endosso da Aqua Security(Trivy), Anchore(Grype), Snyk ouGoogle (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.