Reportar un issue · Contribuir
Etiquetas:
osint
argentina
latam
open-source-intelligence
react
nodejs
OSINTArgy es una plataforma open source para investigaciones OSINT éticas, con foco en Argentina y Latinoamérica. Reúne herramientas, dorks, recursos categorizados y módulos de automatización en una interfaz visual pensada para analistas, periodistas, investigadores, equipos de seguridad y personas que necesitan trabajar con fuentes abiertas de forma ordenada.
La descripción corta del proyecto es: Plataforma OSINT open source para investigaciones éticas en Argentina y Latinoamérica.
- Catálogo curado de herramientas OSINT con categorías, tags, dificultad, región e indicadores de uso.
- Bienvenida animada de cinco segundos con galaxia de estrellas y marca OSINTArgy, opción de saltar y movimiento reducido.
- Galaxia con constelaciones animadas, órbitas suaves, estrellas titilantes y pulsos en las conexiones; etiquetas fijas, pausa manual y respeto por movimiento reducido. Incluye foco por categoría, zoom, desplazamiento y navegación por teclado.
- Catálogo de 505 recursos, incluidos 84 enlaces a repositorios, con búsqueda sin acentos y filtros combinables por región, tipo, costo, registro, dificultad, idioma, estado y repositorio.
- Apartado Modelos IA para OSINT (
/ai-models): ocho modelos de descarga gratuita con enlace directo a Hugging Face, filtros por tarea y entrada, comparación de hasta tres opciones, fichas descargables y creación de casos con checklist de evaluación. La ejecución de los modelos se realiza en el entorno del investigador. - Generador de dorks para Google, Yandex, Bing y DuckDuckGo.
- Búsqueda de usernames en múltiples plataformas.
- Módulos para OSINT de emails, análisis de archivos y reconocimiento de infraestructura.
- Tablero local de investigación con entidades, relaciones, ubicaciones OpenStreetMap, autoguardado e intercambio JSON.
- Cuatro academias: fundamentos OSINT, infraestructura defensiva, investigación corporativa y verificación de evidencia; 18 módulos con progreso, reanudación y aprobación del 80%.
- Certificados descargables e imprimibles, evaluación final y datos para agregar la credencial a LinkedIn. Modo local disponible; emisión pública firmada y registro persistente preparados.
- API REST con Express, MongoDB, autenticación JWT, rate limiting, CORS y logging estructurado.
- Frontend React + Vite con rutas SPA, servicios API y componentes modulares.
OSINTArgy está pensado para investigación sobre fuentes públicas, auditoría defensiva, aprendizaje y documentación. Usalo solo con autorización, respetando leyes aplicables, términos de servicio y privacidad de terceros. El proyecto no promueve intrusión, abuso, acoso, doxxing ni acceso no autorizado.
| Capa | Tecnología |
|---|---|
| Frontend | React 18, Vite, React Router, D3, Framer Motion, Lucide React |
| Backend | Node.js, Express, Mongoose, JWT, Helmet, Winston |
| Base de datos | MongoDB |
| DevOps | Docker Compose, Nginx, npm scripts |
- Node.js 20 o superior.
- npm 10 o superior.
- MongoDB 5 o superior para desarrollo local.
- Docker y Docker Compose si preferís levantar el entorno containerizado.
git clone https://github.com/IAZARA/OSINTArgy_v01.git
cd OSINTArgy_v01
npm run install:allConfigurá variables de entorno desde los ejemplos:
cp backend/.env.example backend/.env
cp frontend/.env.example frontend/.envLevantá frontend y backend con el script local:
npm startURLs por defecto:
| Servicio | URL |
|---|---|
| Frontend | http://localhost:5173 |
| Backend API | http://localhost:3001/api |
| Health check | http://localhost:3001/api/health |
También podés correr cada servicio por separado:
cd backend
npm run devcd frontend
npm run devEntorno de desarrollo:
docker compose up --buildEntorno de producción:
cp .env.production.example .env.production
docker compose --env-file .env.production -f docker-compose.prod.yml up -d --buildEn producción, reemplazá MONGO_PASSWORD y JWT_SECRET por valores fuertes antes de levantar los servicios.
También configurá FRONTEND_URL con el origen real autorizado para CORS.
| Comando | Descripción |
|---|---|
npm start |
Inicia frontend y backend con gestión local de puertos. |
npm run dev |
Inicia frontend y backend en paralelo. |
npm run build |
Genera el build del frontend. |
npm run install:all |
Instala dependencias de raíz, frontend y backend. |
npm run sync:data |
Regenera frontend/src/data/tools.json desde los JSON por categoría. |
npm run validate:data |
Valida estructura, IDs, categorías y fallback del catálogo. |
npm run check:links |
Revisa URLs externas del catálogo y puede generar reportes JSON/Markdown. |
npm run test |
Ejecuta smoke tests de scripts, frontend y backend. |
cd frontend && npm run lint |
Ejecuta ESLint sobre el frontend. |
npm run clean |
Detiene procesos locales de Vite, Nodemon y Node asociados al proyecto. |
OSINTArgy/
├── backend/ # API Express, modelos, rutas, controladores y scripts de datos
├── frontend/ # Aplicación React + Vite
├── .github/ # CI, CodeQL, Dependabot y plantillas
├── docs/ # Documentación técnica y catálogo
├── docs/assets/ # Branding y recursos visuales del repositorio
├── scripts/ # Scripts auxiliares versionados
├── docker-compose.yml # Entorno Docker de desarrollo
├── docker-compose.prod.yml # Entorno Docker de producción
└── README.md
No se versionan builds, logs, bases locales, .env, carpetas MCP ni configuraciones personales. Esos artefactos están cubiertos por .gitignore para mantener el historial limpio y reproducible.
| Módulo | Descripción |
|---|---|
| Galaxy View | Exploración visual de categorías y herramientas OSINT. |
| Dork Generator | Plantillas y generación de búsquedas avanzadas. |
| Email OSINT | Validación y enriquecimiento inicial de correos. |
| Username OSINT | Búsqueda de presencia de usuarios en plataformas públicas. |
| File Analysis | Extracción de metadatos y análisis de archivos. |
| Infrastructure Scanner | Reconocimiento defensivo de dominios, IPs y servicios. |
| OSINT Academy | Formación interactiva en fundamentos, infraestructura defensiva e investigación corporativa, con lecciones, audio y laboratorios. |
Endpoints principales:
GET /api/certificates/assessment/:courseId
POST /api/certificates/issue
GET /api/certificates/:certificateId
GET /api/health
GET /api/tools
GET /api/tools/:id
GET /api/tools/search
POST /api/tools/:id/use
POST /api/auth/register
POST /api/auth/login
GET /api/users/favorites
POST /api/users/favorites/:toolId
DELETE /api/users/favorites/:toolId
GET /api/search/tools
GET /api/search/suggestions
POST /api/dorks/generate
Entrá a /academy para elegir un trayecto, buscar por temas, filtrar por nivel o estado y retomar la última lección. Cada módulo exige recorrer su contenido y aprobar la evaluación con al menos 80%. El progreso anterior se conserva como lectura revisada: debe reevaluarse para obtener una credencial.
En /academy/certificates, una vez aprobadas las lecciones del trayecto, podés rendir una evaluación final de cinco preguntas. La constancia local se guarda en el navegador, se descarga como HTML imprimible y permite guardar un PDF desde el diálogo de impresión. El panel de LinkedIn abre el formulario oficial y ofrece cada dato para copiar; no publica en la cuenta automáticamente.
La emisión pública opcional corrige la evaluación en el backend, guarda la credencial en MongoDB y comprueba su firma y revocación en /certificates/:certificateId, sin exigir acceso a la academia. Es formación no reglada y el nombre es declarado por el estudiante. Los requisitos, la configuración y los límites se detallan en docs/certificados-despliegue.md.
Las 32 fuentes agregadas y sus controles están registrados en docs/catalogo-fuentes-2026-09.md.
Las herramientas se mantienen como JSON en frontend/src/data/tools/ y datos backend en backend/src/data/. Para agregar una herramienta, usá una estructura consistente:
{
"id": "herramienta-unica",
"name": "Nombre de la herramienta",
"description": "Descripción breve",
"url": "https://ejemplo.com",
"category": "categoria-id",
"tags": ["osint", "argentina"],
"type": "web",
"region": "argentina",
"language": "es",
"difficulty_level": "beginner",
"is_free": true,
"requires_registration": false
}- Mantener secretos y configuraciones locales fuera de Git.
- No commitear
frontend/dist/,logs/,data/*.db,node_modules/,.claude/nimcp-*. - Validar el catálogo con
npm run validate:dataantes de publicar cambios. - Sincronizar el fallback con
npm run sync:datacuando cambie el catálogo. - Revisar links externos con
npm run check:links -- --report-only --markdown link-check-report.md. - Documentar cambios funcionales en el README o en archivos dentro de
docs/. - Agregar tests cuando el cambio toque API, autenticación, parsing, carga de datos o flujos de usuario.
- Validar con
npm run buildantes de abrir un PR cuando se modifique frontend. - La documentación de arquitectura está en docs/arquitectura.md.
JWT_SECRET,MONGODB_URIyFRONTEND_URLson obligatorios en producción.- CORS solo permite orígenes configurados por entorno; localhost queda reservado para desarrollo.
- Las subidas de archivos validan MIME, firma binaria y tamaño máximo.
- El scanner de infraestructura valida dominios, bloquea entradas locales/IP y limita redirecciones.
- El contenido HTML del frontend se sanitiza antes de renderizarse.
- Ejecutar
npm audit --omit=deven raíz,backend/yfrontend/antes de publicar cambios. - Ver SECURITY.md para reporte responsable y alcance.
La ampliación de fuentes y los criterios del apartado de IA están documentados en docs/modelos-ia-y-fuentes.md.
El formato editorial del catálogo está documentado en docs/catalogo.md. Usá npm run sync:data para actualizar el fallback del frontend y npm run validate:data para verificar estructura, IDs únicos, categorías, subcategorías, tipos, indicadores, campos obligatorios y sincronización.
- CI valida catálogo, fallback, tests, build y audits en cada push o PR a
main. - CodeQL analiza JavaScript/TypeScript de forma automática.
- Dependabot revisa npm, GitHub Actions y Docker semanalmente.
- Link Check corre semanalmente o manualmente en modo reporte para detectar URLs caídas sin bloquear cambios por fallos transitorios externos.
- Mejorar cobertura de tests en API y componentes críticos.
- Normalizar datos de herramientas y categorías.
- Agregar documentación técnica de endpoints.
- Incorporar guías de contribución y plantillas de issues.
- Ampliar recursos OSINT específicos para Argentina y LATAM.
- Hacé un fork del repositorio.
- Creá una rama descriptiva:
git checkout -b feature/nombre-del-cambio. - Realizá cambios chicos y revisables.
- Revisá CONTRIBUTING.md.
- Ejecutá build o tests según corresponda.
- Abrí un Pull Request con contexto, capturas si aplica y pasos de verificación.
Este proyecto se distribuye bajo licencia MIT. Ver LICENSE.
Ivan Agustin Zarate
- GitHub: IAZARA
- LinkedIn: ivan-agustin-zarate
- Email: osintargy@gmail.com
OSINTArgy busca aportar herramientas abiertas, trazables y útiles para la comunidad OSINT hispanohablante.
