Vai al contenuto
New

DeepSeek V4.1 Flash free for 7 days: 10M tokens a day after a top-up of $10 or more. Until Nov 30.

How it works

Perché automatizzare recon e test sulla API di NotHoly

Metti nella pipeline un modello che non rifiuta, con CVE, advisory e lettura di pagine pubbliche senza costo di token. I tuoi strumenti fanno l'attivo.

Intermedio3 min di letturaDi NotHoly

Un giro di recon produce più di quanto riesci a leggere: sottodomini, endpoint, header, versioni, un muro di output di strumenti. La parte lenta è il triage, decidere cosa merita uno sguardo più da vicino. Un modello nel loop aiuta lì, ma solo se non rifiuta il contesto di sicurezza e se i dati di supporto non trasformano ogni ricerca in un addebito. La API di NotHoly dà entrambi. Questo testo parla di come collegarla, non del metodo di recon; il caso d'uso di bug bounty copre il flusso vero e proprio.

Il modello legge, il tuo codice tocca

Tieni la linea chiara. Il modello ragiona sull'output che hai già: legge uno scan, ordina ciò che pare raggiungibile, abbozza il passo dopo, scrive il parser che stavi per scrivere. I server di NotHoly non scansionano, sondano né mandano un payload a un bersaglio. La parte attiva, la richiesta all'host nello scope, gira nel tuo ambiente, dal tuo indirizzo, sotto il tuo controllo. Quella divisione è il punto. Hai un modello che discute il reperto senza litigare se è permesso, e il traffico al bersaglio resta tuo da eseguire e registrare. I risultati di strumento che restituisci sono trattati come dato, non come istruzione, così un banner ostile in uno scan non guida l'esecuzione. Quando esegui il passo attivo dal terminale, notholy engage può registrare lo scope e controllare ogni comando contro di esso prima che parta, e nulla di quello scope lascia la tua macchina.

Dati che non costano token

La Research API risponde alle ricerche che un loop di recon fa di continuo, ed è limitata per frequenza per organizzazione invece che misurata a token. GET /v1/cve/{id} e GET /v1/cve/search restituiscono la descrizione NVD, CVSS, CWE, punteggio EPSS e stato CISA KEV in un record, ogni fonte con data. POST /v1/advisories/query restituisce ciò che OSV elenca per un pacchetto e versione. GET /v1/kb/search legge una base di conoscenza curata e con licenza, con una fonte su ogni passaggio. POST /v1/web/search e POST /v1/web/read cercano e leggono pagine pubbliche attraverso un'uscita che rifiuta indirizzi privati e interni, fissa la connessione a un IP verificato e non manda mai traffico a un bersaglio. I risultati da NVD, CISA, GitHub, PortSwigger e OWASP vengono per primi, e una pagina può sbagliare, quindi apri la fonte prima di agire. Arricchire un CVE o controllare una versione non spende token del modello.

bash
curl "https://api.notholy.com/v1/cve/search?q=openssh&kev=true&min_epss=0.5" \
  -H "Authorization: Bearer $NOTHOLY_API_KEY"

Collegala alla pipeline

L'endpoint del modello è compatibile con OpenAI e Anthropic, quindi il tuo codice di orchestrazione, le tue funzioni-strumento e il tuo streaming restano come sono. Passa al modello i tuoi strumenti, lascia che li chiami, ed eseguili tu: il server esegue solo le funzioni che mandi. Il reasoning e il max_tokens passano, così un passo di triage può pensare prima di ordinare. Una richiesta senza streaming con una Idempotency-Key può essere ripetuta e riprodotta fino a 24 ore, il che aiuta una pipeline che riesegue un passo. POST /v1/messages/count_tokens misura un prompt prima che tu spenda. Function calling ha la forma della richiesta, e l'ID del modello viene dal catalogo. Visto che le rotte di ricerca non costano token, arricchisci un'intera coda di reperti e spendi solo sul ragionamento che li ordina.

Dove non si adatta

Non si adatta se vuoi che la piattaforma esegua lo scan. Non lo fa. Non c'è esecuzione sul server né strumenti attivi, e read_url apre solo pagine pubbliche, non un host interno né un link che ha trovato su una pagina. Il modello può mettere un falso positivo per primo o perdere uno reale, quindi una lista ordinata è una coda da controllare, non un verdetto. Le rotte di ricerca hanno un tetto al minuto per organizzazione, che avanza per una pipeline e manca a un crawler di massa. I prompt e le risposte al modello non vengono conservati, anche se i metadati di ogni chiamata sì.

Lascia che i tuoi scanner scansionino e il modello legga. Metti una chiave e un saldo piccolo su prezzi, e punta il passo di triage della tua pipeline all'API.

Fonti

  1. NotHoly, Research API
  2. NotHoly, Harness tools
  3. NotHoly, Function calling
  4. NIST SP 800-115, Technical Guide to Information Security Testing and Assessment
  5. FIRST EPSS

Altro su Agenti di IA per la sicurezza

Agenti di IA per la sicurezza

Costruisci il tuo hackbot, parte 1: architettura

Il progetto di un agente di bug bounty: un LLM, dei tool, memoria e guardrail, in un loop che gira sulla tua macchina sotto la tua approvazione.

Intermedio3 min di lettura

Agenti di IA per la sicurezza

Costruisci il tuo hackbot, parte 2: scrivi l'agente

Un agente di bug bounty in Python con tool calling sull'API NotHoly: propone comandi di recon, aspetta l'approvazione, legge l'output e tiene le note.

Intermedio3 min di lettura

Agenti di IA per la sicurezza

Costruisci il tuo hackbot, parte 3: tool MCP e CLI

Dai al tuo agente tool condivisi via MCP, aggiungi un controllo dello scope con notholy engage ed esegui tutto dalla NotHoly CLI o dal tuo editor.

Intermedio3 min di lettura