Saltar al contenido

Las 6 interfaces

import { Card, CardGrid } from ‘@astrojs/starlight/components’;

Las mismas 28 herramientas OSINT estan disponibles a traves de seis interfaces distintas. Elige la que mejor encaje con tu flujo de trabajo.

Guia de decision rapida

¿Que quiero hacer?
├─ Analisis rapido de una IP / dominio / URL / hash
│ └─ Usa: CLI (-q) o MCP o query directa en Claude Code
├─ Investigacion autonoma con auto-pivot e informe
│ └─ Usa: CLI (interactivo)
├─ Investigacion estructurada con evidencias, entidades, claims, trazabilidad
│ └─ Usa: Claude Code skills (/investigation-init → /osint-investigate → /report-generate)
├─ Integrar con mi aplicacion o pipeline
│ └─ Usa: MCP server o Python import
└─ Dejar que otro agente IA delegue tareas aqui
└─ Usa: A2A server

Tabla comparativa

InterfaceComo invocarQuien decide que tools usarPersiste resultadosNecesita Ollama
CLI interactivoosint-agentAgente ReAct (autonomo)Solo sesionSi
CLI query unicaosint-agent -q "..."Agente ReAct (autonomo)NoSi
CLI batchosint-agent --batch file.txtAgente ReAct por IOCNoSi
MCPCualquier cliente MCPTu / Claude CodeVia investigation toolsNo
Claude Code skills/osint-investigate, etc.Tu / Claude CodeSi (SQLite + ChromaDB)Si (para investigate)
A2AOtro agente via osint-a2aEl agente llamanteNoSi
Python importfrom src.tools.virustotal import ...Tu codigoTu eligesNo

1. CLI Interactivo

Ideal para: sesiones exploratorias, analisis de multiples IOCs, consultas ad-hoc.

Ventana de terminal
osint-agent
osint> Investiga la IP 185.220.101.34
osint> Analiza el conflicto en Iran y su impacto en ciberseguridad
osint> /dashboard
osint> /report save

El agente ReAct selecciona tools de forma autonoma, sigue IOCs relacionados y escribe una evaluacion estructurada.

2. CLI Single Query / Batch

Ideal para: scripting, automatizacion, pipelines CI.

Ventana de terminal
# Query unica
osint-agent -q "Investiga la IP 8.8.8.8"
osint-agent -q "Analiza el dominio evil.com" --json
# Batch desde fichero (un IOC por linea)
osint-agent --batch iocs.txt --limit 10 --json
# Batch desde feeds en vivo
osint-agent --feed feodo --limit 5
osint-agent --feed urlhaus --limit 3 --json

3. MCP Server

Ideal para: Claude Desktop, VS Code, Cursor, o cualquier cliente MCP-compatible.

Ventana de terminal
osint-mcp # STDIO transport
osint-mcp --transport streamable-http --port 8080 # HTTP transport

Expone 44 tools. El cliente LLM decide que llamar y en que orden. No necesita Ollama — el modelo del cliente hace el razonamiento.

Configuracion para Claude Desktop:

{
"mcpServers": {
"osint-agent": {
"command": "osint-mcp",
"args": []
}
}
}

Ver Integraciones → MCP Server para la lista completa de tools.

4. Claude Code Skills

Ideal para: investigaciones formales con trazabilidad completa (evidencias → entidades → claims → informe).

/investigation-init "Caso Acme Corp" --goal "Due diligence"
/osint-investigate "185.220.101.34" ← analisis completo 28 tools, guarda como evidencia
/osint-investigate "acme-corp.com" ← igual para dominios
/osint-investigate "actividad grupo Lazarus" ← consultas contextuales tambien
/osint-recon acme-corp.com ← recon tecnico: WHOIS, DNS, crt.sh
/evidence-ingest informe-registral.pdf
/entity-extract
/verify-claims
/report-generate

Ver Integraciones → Claude Code Skills para las 15 skills disponibles.

5. A2A Server

Ideal para: sistemas multi-agente donde otro agente IA delega tareas de investigacion.

Ventana de terminal
osint-a2a # default: 0.0.0.0:9000
osint-a2a --port 9090
from a2a_sdk import A2AClient
client = A2AClient("http://localhost:9000")
result = await client.send_task({
"skill": "investigate_ip",
"message": "Investigate 185.220.101.34"
})

Ver Integraciones → A2A Server.

6. Python import directo

Ideal para: embeber herramientas especificas en tu propio codigo sin el CLI ni el servidor.

import asyncio
from src.tools.virustotal import virustotal_ip_lookup
from src.tools.gdelt_tool import gdelt_entity_search
from src.tools.country_risk import get_country_risk_score
result = asyncio.run(virustotal_ip_lookup("185.220.101.34"))
news = gdelt_entity_search("Iran conflict")
risk = get_country_risk_score("IR")

Todas las herramientas son funciones async independientes. No necesitan agente ni servidor.