Uma ferramenta para buscar, transformar e armazenar dados de vulnerabilidade de diversas fontes.
Fontes de dados suportadas:
Alpino (https://secdb.alpinelinux.org)
Amazon (https://alas.aws.amazon.com/AL2/alas.rss e https://alas.aws.amazon.com/AL2022/alas.rss)
Debian (https://security-tracker.debian.org/tracker/data/json & https://salsa.debian.org/security-tracker-team/security-tracker/raw/master/data/DSA/list)
Avisos de segurança do GitHub (https://api.github.com/graphql)
NVD (https://services.nvd.nist.gov/rest/json/cves/2.0)
Oracle (https://linux.oracle.com/security/oval)
RedHat (https://www.redhat.com/security/data/oval)
SLES (https://ftp.suse.com/pub/projects/security/oval)
Ubuntu (https://launchpad.net/ubuntu-cve-tracker)
Wolfi (https://packages.wolfi.dev)
Com pip:
pip instalar vunnel
Com janela de encaixe:
docker executar --rm -isso -v $(senha)/dados:/dados -v $(pwd)/.vunnel.yaml:/.vunnel.yaml ghcr.io/anchore/vunnel:mais recente execute nvd
Onde:
o volume data
mantém os dados processados no host
o .vunnel.yaml
usa a configuração do aplicativo host (se presente)
você pode trocar latest
por uma versão específica (igual às tags git)
Consulte o pacote vunnel para obter uma lista completa das tags disponíveis.
Liste os provedores de dados de vulnerabilidade disponíveis:
$ vunnel list alpine amazon chainguard debian github mariner nvd oracle rhel sles ubuntu wolfi
Baixe e processe um provedor:
$ vunnel run wolfi 2023-01-04 13:42:58 root [INFO] running wolfi provider 2023-01-04 13:42:58 wolfi [INFO] downloading Wolfi secdb https://packages.wolfi.dev/os/security.json 2023-01-04 13:42:59 wolfi [INFO] wrote 56 entries 2023-01-04 13:42:59 wolfi [INFO] recording workspace state
Você verá os dados de vulnerabilidade processados no diretório local ./data
$ tree data data └── wolfi ├── checksums ├── metadata.json ├── input │ └── secdb │ └── os │ └── security.json └── results └── wolfi:rolling ├── CVE-2016-2781.json ├── CVE-2017-8806.json ├── CVE-2018-1000156.json └── ...
Nota: para obter uma saída mais detalhada, use -v
, -vv
ou -vvv
(por exemplo, vunnel -vv run wolfi
)
Exclua dados de entrada e resultados existentes para um ou mais provedores:
$ vunnel clear wolfi 2023-01-04 13:48:31 root [INFO] clearing wolfi provider state
Exemplo de arquivo de configuração para alterar o comportamento do aplicativo:
# .vunnel.yamlroot: ./processed-datalog: nível: traceproviders: wolfi: request_timeout: 125 tempo de execução: existente_input: mantenha os resultados_existentes: delete-before-write on_error: ação: falha na entrada: mantenha os resultados: mantenha retry_count: 3 retry_delay: 10
Use vunnel config
para ter uma ideia melhor de todas as opções de configuração possíveis.
Sim, você pode! Consulte a documentação do provedor para obter mais informações.
Esta ferramenta "funila" os dados de vulnerabilidade em um único local para facilitar o processamento ... diga "funil de dados de vulnerabilidade" 100x rápido o suficiente e, eventualmente, será transformado em "vunnel" :).