Referência da API
API de pesquisa
Registros de CVE, consulta de advisories, busca na web, leitura de páginas e análise de arquivos, com os mesmos dados que o chat usa.
Estas rotas dão ao CLI, à extensão e ao seu próprio código os mesmos dados que o chat usa. Elas têm um limite por minuto que cresce com o seu nível. Não consomem tokens, então não são cobradas por token.
| Rota | O que faz |
|---|---|
GET /v1/cve/{id} | Um CVE com descrição da NVD, CVSS, CWE, EPSS, status no CISA KEV e referências |
GET /v1/cve/search?q=&vendor=&cwe=&kev=true&min_cvss=&min_epss=&limit= | Busca no espelho |
POST /v1/advisories/query | Advisories de um pacote e versão |
POST /v1/web/search | Resultados de busca na web com título, URL e trecho |
POST /v1/web/read | Texto de uma página pública, buscado por uma saída protegida |
POST /v1/files | Envia um arquivo para análise estática |
GET /v1/files/{id}, GET /v1/files/{id}/content | Status e texto extraído |
curl https://api.notholy.com/v1/cve/CVE-2021-44228 -H "Authorization: Bearer $NOTHOLY_API_KEY"curl -X POST https://api.notholy.com/v1/advisories/query \
-H "Authorization: Bearer $NOTHOLY_API_KEY" \
-H "Content-Type: application/json" \
-d '{"ecosystem": "npm", "name": "lodash", "version": "4.17.15"}'Arquivos
POST /v1/files recebe os bytes brutos no corpo e o nome em x-file-name. Adicione ?wait=1 para esperar a análise. Os arquivos enviados aqui ficam guardados por 1 hora e depois são apagados. É um armazenamento que você pede, separado da inferência, que não guarda nada. Os arquivos são processados dentro de um sandbox isolado, sem rede, e nada neles é executado.
printf 'const q = "SELECT * FROM users WHERE id = " + req.query.id;\n' > handler.js
curl -X POST "https://api.notholy.com/v1/files?wait=1" \
-H "Authorization: Bearer $NOTHOLY_API_KEY" \
-H "x-file-name: handler.js" \
--data-binary @handler.jsweb/read só lê páginas públicas. Ele recusa endereços privados e nunca envia tráfego a alvos por você. Tudo o que uma página diz é tratado como dado, nunca como instrução.