Pular para o conteúdo
NotHolyDocs

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.

Ver em Markdown

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.

RotaO 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/queryAdvisories de um pacote e versão
POST /v1/web/searchResultados de busca na web com título, URL e trecho
POST /v1/web/readTexto de uma página pública, buscado por uma saída protegida
POST /v1/filesEnvia um arquivo para análise estática
GET /v1/files/{id}, GET /v1/files/{id}/contentStatus e texto extraído
curl
curl https://api.notholy.com/v1/cve/CVE-2021-44228 -H "Authorization: Bearer $NOTHOLY_API_KEY"
curl
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.

Shell
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.js

web/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.

Próximos passos