Automatisera din OSINT i Python och Claude

OSINT har länge varit ett hantverk som kräver lika delar teknisk skicklighet och tålamod. Du kör ett verktyg, kopierar resultaten, öppnar ett annat verktyg, klistrar in, googlar manuellt och försöker hålla ihop hela bilden i huvudet. Det är som att vara detektiv men utan en anslagstavla med röda trådar. Tills nu. OpenOSINT är ett open source-ramverk byggt i Python som låter Claude göra jobbet åt dig, autonomt och utan att hitta på saker.

Ladda ner

Snabbfakta

🔍 OpenOSINT är ett Python-ramverk som kombinerar AI med klassiska OSINT-verktyg
🤖 Kärnan bygger på Claudes inbyggda Tool Use API
🚫 Hallucinerade undersökningsresultat är strukturellt omöjliga i ramverket
🛠️ Nio verktyg ingår, bland annat Sherlock, Holehe och HaveIBeenPwned
📦 Finns på GitHub under MIT-licens och installeras via pip
⚠️ Avsett enbart för auktoriserad säkerhetsforskning och etisk hacking

Vad är OSINT och varför fungerar manuella flöden dåligt

Open Source Intelligence, eller OSINT, är praktiken att samla in och analysera information från offentligt tillgängliga källor. Säkerhetsforskare använder det vid penetrationstester, journalister för att verifiera identiteter och spåra kopplingar, och hotanalytiker för att kartlägga infrastruktur.

Problemet är att arbetsflödet traditionellt sett ser ut ungefär så här: du har en e-postadress. Du kör holehe för att se vilka plattformar den är registrerad på. Du hittar ett användarnamn. Du kopierar det manuellt och kör sherlock mot 300 plattformar. Sedan byter du till webbläsaren för HaveIBeenPwned. Sedan en ny flik för WHOIS. Du antecknar. Du upprepar.

Varje verktyg är en silo. Varje pivot är manuell. Undersökningslogiken lever helt och hållet i ditt huvud. Och när du stänger terminalen är den borta.

Det är precis det problemet OpenOSINT är byggt för att lösa.

Så fungerar Claudes Tool Use API och varför det spelar roll

Det här är den bit som faktiskt är smart, inte bara cool på ytan. De flesta AI-verktyg som wrappar externa tjänster fungerar genom att generera text som beskriver vad ett verktyg skulle ha returnerat. Det är ett problem när noggrannhet spelar roll eftersom modellen kan hitta på trovärdiga användarnamn, falska subdomäner eller dataintrång som aldrig hänt.

Claudes Tool Use API fungerar annorlunda. När modellen bestämmer sig för att behöva anropa ett verktyg genererar den inte resultatet. Den stannar och skickar ut ett strukturerat tool_use-block med verktygsnamnet och de argument den vill skicka. Din kod kör sedan det faktiska programmet, till exempel holehe eller sherlock, och skickar tillbaka det riktiga resultatet som ett tool_result. Modellen läser det riktiga resultatet och avgör nästa steg.

Det är strukturellt omöjligt för modellen att hallucinerara verktygsresultat. Om sherlock hittar 12 profiler går exakt 12 URL:er tillbaka in i kontexten. Modellen kan inte lägga till en trettonde som inte existerar.

Det är inte ett prompt-trick eller en systeminstruktion. Det är hur API:et är byggt från grunden.

3 sätt att använda OpenOSINT

Ramverket erbjuder tre gränssnitt. Det interaktiva REPL-läget är en terminal där du skriver mål på naturligt språk och AI-agenten avgör vilka verktyg som ska köras, kedjar dem baserat på fynden och sammanställer en strukturerad rapport. Direct CLI kör individuella OSINT-verktyg utan AI, vilket är användbart för skriptning och snabba slagningar. MCP-servern exponerar alla verktyg till MCP-kompatibla AI-klienter som Claude Code eller Claude Desktop.

En typisk session kan se ut så här: du skriver investigate ta****@*****le.com, och agenten bestämmer själv att först generera Google Dorks, sedan söka vilka tjänster e-postadressen är registrerad på, kontrollera mot dataintrångsdatabaser och till slut spåra ett hittat användarnamn tvärs över plattformar. Allt utan att du lyfter ett finger.

Hur agentloopen faktiskt fungerar under huven

Loopen körs tills modellen returnerar stop_reason med värdet end_turn, det vill säga att agenten själv avgör när den har samlat tillräckligt med information för att skriva den slutliga rapporten. Den kan anropa ett verktyg eller tio beroende på vad den hittar.

Varje verktygsresultat läggs tillbaka i konversationshistoriken, vilket innebär att modellen alltid har full kontext av vad den hittat när den beslutar vad den ska köra härnäst. Det är egentligen en elegant lösning: ett oändligt while-loop som avslutas när Claude är nöjd med vad den vet.

Verktygens scheman definieras i JSON med namn, beskrivning och parameterstruktur. Modellen läser dessa scheman i början av varje begäran och använder dem för att förstå vad som finns tillgängligt och hur det ska anropas.

De nio verktygen som ingår

OpenOSINT levereras med nio färdiga verktyg:

Sökning på e-postadresser via Holehe
Användarnamnssökning tvärs 300 plattformar via Sherlock
Dataintrångskontroll via HaveIBeenPwned v3
WHOIS-uppslag, IP-geolokalisering via ipinfo.io
Subdomänee via Sublist3r
Google Dorks-generering som inte gör några nätverksanrop
Pastebin-sökning via psbdmp.ws
Telefonanalys via Phoneinfoga.

Om en binary saknas eller en API-nyckel inte är konfigurerad returnerar det specifika verktyget en beskrivande felsträngs. Alla andra verktyg fortsätter att fungera normalt.

Arkitekturen bakom ramverket

Kodbasen är organiserad i fem lager där den hårda regeln är att inget lager importerar från ett lager ovanför sig. Kärnan i tools-katalogen innehåller asynkrona wrappers runt externa binärer och API:er som är tillståndslösa och utan AI. Agentlagret hanterar Anthropics tool-use-loop med konversationshistorik per session. Ovanpå det finns det interaktiva REPL:et, MCP-servern och CLI-startpunkten.

Den här separationen gör varje lager självständigt testbart. AI-lagret är dessutom helt valfritt: utan API-nyckel kör man CLI och kopplar förbi agenten helt.

Installation och kom igång

Installationen är enkel: klona repot och kör pip install -e, eller installera direkt från PyPI med pip install openosint. API-nyckeln för Anthropic krävs enbart för det interaktiva REPL-läget, inte för CLI eller MCP-servern.

Ramverket stödjer också lokala modeller via Ollama, vilket innebär att det går att köra helt utan API-nyckel, om än i experimentellt läge. Anthropic är märkbart bättre på att följa strukturerade tool-use-instruktioner, men alla tre alternativ fungerar.

OpenOSINT ska användas etiskt

OpenOSINT är avsett enbart för auktoriserad säkerhetsforskning, penetrationstestning och undersökande journalistik. Användare är ensamt ansvariga för efterlevnad av tillämplig lag, inklusive GDPR, CCPA och CFAA.

Att använda det mot mål utan tillstånd är inte bara oetiskt utan potentiellt brottsligt i de flesta jurisdiktioner. Tänk på det som ett skarpt kökskniv: utomordentligt användbart i rätt händer, farligt i fel.

“Agenten gick från e-post till länkade konton till användarnamns-pivot till sökning tvärs plattformar utan mänsklig orkestrering i ett enda steg.”

VerktygBackendVad det returnerar
search_emailHoleheSociala konton kopplade till e-post
search_usernameSherlockKonton på 300 plattformar
search_breachHaveIBeenPwned v3Intrångsnamn, datum och läckta datatyper
search_whoispython-whoisRegistrant, registrar och datum
search_ipipinfo.ioGeolokalisering, ASN och hostnamn
search_domainSublist3rSubdomänenumeration
generate_dorksInbyggd12 riktade Google Dork-URL:er
search_pastepsbdmp.wsPastebin-omnämnanden
search_phonePhoneinfogaOperatör, land och linjetyp

Fördelar och nackdelar med OpenOSINT

Fördelar: Hallucination i verktygsresultat är strukturellt omöjlig tack vare Claudes Tool Use API Fullt automatiserad kedjeundersökning utan manuell pivot Tre gränssnitt passar olika användningsscenario, från interaktiv terminal till MCP-server Modulär arkitektur gör det enkelt att lägga till egna verktyg Fungerar med lokala modeller via Ollama utan API-nyckel MIT-licens och aktivt underhållet open source-projekt

Nackdelar: Kräver att externa binärer som Sherlock och Holehe installeras separat Lokala modeller via Ollama är experimentella och inkonsistenta API-nyckel för HaveIBeenPwned krävs för intrångskontroll Ingen grafisk gränssnitt allt sker i terminalen Felaktig användning kan ha allvarliga juridiska konsekvenser

F.A.Q om OpenOSINT

Kan jag använda OpenOSINT utan en Anthropic API-nyckel? Ja, delvis. API-nyckeln krävs enbart för det interaktiva REPL-läget. CLI-kommandona och MCP-servern fungerar utan nyckel. Du kan även använda lokala modeller via Ollama som ett alternativ.

Vad skiljer OpenOSINT från att bara köra verktygen manuellt? Den avgörande skillnaden är automatisk kedjelogik. Agenten beslutar själv vad som ska undersökas härnäst baserat på vad den hittat, och kan pivotera från ett e-postkonto till ett användarnamn till plattformssökning utan att du behöver göra något.

Är verktyget lagligt att använda? Det är lagligt att använda mot mål du har tillstånd att undersöka, till exempel i penetrationstestningsuppdrag, säkerhetsforskning eller undersökande journalistik. Att använda det utan tillstånd är olagligt i de flesta länder.

Stödjer OpenOSINT andra AI-modeller än Claude? Ja. Ramverket stödjer även GPT-4 från OpenAI samt lokala modeller via Ollama, om än att Ollama-stödet är märkt som experimentellt.

Hur lägger jag till egna OSINT-verktyg i ramverket? Arkitekturen är plug-and-play: du skapar ett Python-skript i tools-katalogen med rätt docstring och typdefinitioner, och agenten känner automatiskt till verktygets existens och hur det ska anropas.

Källor

https://github.com/OpenOSINT/OpenOSINT

Föregående inlägg

Nästa inlägg

Följ på
Sök Trendigt
Poppis
Belastning

Inloggning 3 sekunder...

Registrering 3 sekunder...

Kundvagn
Uppdatering av varukorg

HandlaDin varukorg är för närvarande tom. Du kan besöka vår butik och börja handla.