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.
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.
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.
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.
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.
curl "https://api.notholy.com/v1/cve/search?q=openssh&kev=true&min_epss=0.5" \
-H "Authorization: Bearer $NOTHOLY_API_KEY"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.
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.
Agenti di IA per la sicurezza
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.
Agenti di IA per la sicurezza
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.
Agenti di IA per la sicurezza
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.