
Centro de Operaciones de Seguridad de código abierto impulsado por IA — fusión de alertas, ejercicios de equipo púrpura, triaje asistido por agentes, investigación con MITRE ATT&CK. Con licencia MIT y autoalojable.
Un SOC de IA de código abierto y autoalojable. Los prompts del agente, las llamadas a herramientas y su razonamiento se registran paso a paso y son reproducibles. Con licencia MIT.
La demo mantenida por la comunidad en tryaisoc.com se ejecuta en Fly.io y puede quedar sin conexión; consulta docs/operations/live-demo-runbook.md y usa Codespaces como respaldo siempre disponible.
Recorrido de 90 segundos: el agente investiga el caso LockBit 3.0 precargado de principio a fin. El .mp4 + hero.gif renderizados llegarán con el lanzamiento de v8.0; el guion está en docs/demo/SCREENCAST_SHOTLIST.md.
Un solo comando — sin clonar, sin Docker, sin claves (npx aisoc llega a npm con el lanzamiento de v8.0; hoy se compila desde packages/aisoc-lite/):```bash
npx aisoc triage --demo
La CLI `wedge` puntúa un lote de alertas con veredictos (escalar / revisar / suprimir) mediante un motor determinista portado desde el clasificador de triaje de producción — sin necesidad de clave LLM. O elige la vía que coincida con lo que ya tienes en tu máquina:
| Si tienes… | Ejecuta esto | Lo que obtienes |
|---------------------------------------|----------------------------------------------------------------------------------------------------------|----------------------------------------------------------------------------------------------------|
| **Python 3.10+** (sin Docker) | `pip install -e packages/aisoc-sandbox && aisoc-sandbox demo` | Investigación de agente offline recorrida Detect → Triage → Hunt → Respond e impresa en stdout. **< 5 s.** Sin clave API, sin red. |
| **Un navegador** (sin instalación) | [Abrir en Codespaces](https://codespaces.new/beenuar/AiSOC?quickstart=1) | IDE en navegador → `pnpm aisoc:demo --no-open` → clic en el puerto reenviado `3000`. ~5 min en frío. |
| **Docker + pnpm** | `git clone https://github.com/beenuar/AiSOC && cd AiSOC && pnpm aisoc:demo` | Stack local sobre Postgres + Redis + Kafka + api + agents + web. El navegador se abre en `INC-RT-001`. |
| **Nada** (Linux/macOS/Win limpio) | `curl -fsSL https://raw.githubusercontent.com/beenuar/AiSOC/main/install.sh \| bash` | Instala Docker, Node, pnpm y git por ti; luego ejecuta `pnpm aisoc:demo`. |
La primera fila es nueva: [`aisoc-sandbox`](https://github.com/beenuar/aisoc/blob/HEAD/packages/aisoc-sandbox/) es un simulador en memoria, sin dependencias, del embudo de agentes. Elige un [escenario incluido](https://github.com/beenuar/aisoc/blob/HEAD/packages/aisoc-sandbox/README.md#bundled-scenarios) (`lateral-movement`, `aws-credential-exfil`, `phishing-payload`, `kubernetes-privesc`, `github-token-theft`) o introduce tu propio JSON mediante `--file`. Las otras tres filas arrancan el stack real y te llevan a `/cases/INC-RT-001?tab=ledger` — un caso de ransomware LockBit 3.0 a mitad de investigación, con los prompts del agente de IA, las llamadas a herramientas y el razonamiento transmitiéndose en el [Registro de investigación](https://github.com/beenuar/aisoc/blob/HEAD/apps/docs/docs/console/investigation-rail.md). Detén el stack real con `pnpm aisoc:demo:down`.
> **¿Arranca la demo en `main`?** Cada push ejecuta [`compose-smoke`](https://github.com/beenuar/AiSOC/actions/workflows/compose-smoke.yml) (la misma ruta `pnpm aisoc:demo` que ejecutarías localmente) y [`e2e`](https://github.com/beenuar/AiSOC/actions/workflows/e2e.yml) contra la consola sembrada; el nocturno [`compose-smoke-nightly`](https://github.com/beenuar/AiSOC/actions/workflows/compose-smoke-nightly.yml) lo repite con cachés frías. Una insignia roja abajo es un bloqueador de lanzamiento.
>
> [&style=flat-square)](https://github.com/beenuar/AiSOC/actions/workflows/compose-smoke.yml)
> [&style=flat-square)](https://github.com/beenuar/AiSOC/actions/workflows/compose-smoke-nightly.yml)
> [&style=flat-square)](https://github.com/beenuar/AiSOC/actions/workflows/e2e.yml)
La guía completa de despliegue multiplataforma está en [`apps/docs/docs/installation.md`](https://github.com/beenuar/aisoc/blob/HEAD/apps/docs/docs/installation.md) (Render, Fly.io, Docker Compose, Kubernetes, Terraform). Instalación de grado producción con capa de almacenamiento completa: [`infra/helm/`](https://github.com/beenuar/aisoc/blob/HEAD/infra/helm/) o [`infra/terraform/`](https://github.com/beenuar/aisoc/blob/HEAD/infra/terraform/).
---
## Qué es AiSOC
AiSOC es un stack único autoalojable que ingiere eventos de seguridad, los correlaciona, ejecuta investigación impulsada por IA y muestra el resultado en una consola de SOC. El agente y el sustrato tienen licencia MIT, por lo que puedes leer, bifurcar o reemplazar cualquiera de ellos.
Tres propiedades lo distinguen de los proveedores de SOC de IA de código cerrado:
1. **Las decisiones del agente quedan registradas.** El Registro de investigación almacena el prompt del LLM, la respuesta, la evidencia citada y las llamadas a herramientas posteriores de cada paso de cada ejecución. Las repeticiones están disponibles más tarde.
2. **El sustrato tiene un arnés de evaluación público en CI.** Cinco suites marcan cada PR dirigido a `main` / `develop`: la reducción de alertas es una medición real contra un flujo fijo de 1 000 alertas; tres suites basadas en rúbricas son puertas de autoconsistencia del sustrato sobre un conjunto de datos determinista de 200 incidentes (55 plantillas) con macros por plantilla; una quinta puerta valida el corpus de telemetría de respaldo. La [página de benchmark](https://github.com/beenuar/aisoc/blob/HEAD/apps/docs/docs/benchmark.md) documenta exactamente qué mide cada suite y qué no.
3. **Tú controlas lo que sale de tu perímetro.** Sin devoluciones de llamada a una nube del proveedor y sin telemetría de "mejora del modelo". Con un LLM alojado, la evidencia se seudonimiza por defecto (IPs internas, nombres de host, correos, rutas, secretos, nombres de usuario se convierten en tokens opacos); ejecuta un modelo local (Ollama/vLLM) para una ruta totalmente aislada. Exactamente qué sale en cada modo: [`docs/trust/data-flows.md`](https://github.com/beenuar/aisoc/blob/HEAD/docs/trust/data-flows.md).
El orquestador es un LangGraph de ~600 líneas en [`services/agents/`](https://github.com/beenuar/aisoc/blob/HEAD/services/agents/). Es lo bastante pequeño para leerse de principio a fin, intercambiar modelos y aplicar parches.
---
## Comparativa de AiSOC
| Capacidad | AiSOC | Wazuh | Splunk ES | SOC de IA de código cerrado |
|---|---|---|---|---|
| Licencia de código abierto | MIT | GPL-2 | propietaria | propietaria |
| Autoalojable | sí | sí | solo empresarial | solo nube |
| Investigación autónoma con IA | LangGraph | no | parcial (Splunk AI) | sí |
| Registro de auditoría de decisiones del agente | Registro de investigación público | n/d | n/d | no publicado |
| Arnés de evaluación pública del sustrato | Gated por CI, reproducible, con corpus de telemetría sintético + macros por plantilla | n/d | n/d | no publicado |
| Contenido de detección | 947 ejecutables (869 nativos) que se activan en el stream en vivo + biblioteca importada de 6 000 reglas con trazabilidad de procedencia ([tabla de verdad](https://github.com/beenuar/aisoc/blob/HEAD/docs/detections/truth-table.md)) | Más de 1 200 reglas | Más de 1 000 apps | curado |
| SDK de plugins | Python / TypeScript / Go | solo reglas YAML | apps | propietario |
| Residencia de datos | tu infraestructura | tu infraestructura | parcial | nube del proveedor |
| Precio | $0 (autoalojado) | $0 (autoalojado) | por GB ingerido | empresarial |
Los proveedores de SOC de IA de código cerrado envían productos funcionales. La contribución de AiSOC es hacer que el propio agente sea abierto, que el rastro de decisiones paso a paso sea legible y que el sustrato esté controlado por un arnés de evaluación público en cada PR dirigido a `main` / `develop`.
---
## Lo que verás en la consola
<div align="center">
| <a href="apps/docs/docs/console/queue.md"><img src="https://raw.githubusercontent.com/beenuar/aisoc/HEAD/apps/web/public/screenshots/01-alerts-queue.svg" alt="Cola de alertas con cuentas regresivas de SLA" width="100%" /></a> | <a href="apps/docs/docs/console/investigation-rail.md"><img src="https://raw.githubusercontent.com/beenuar/aisoc/HEAD/apps/web/public/screenshots/02-investigation-rail.svg" alt="Carril de investigación con narrativa de correlación determinista" width="100%" /></a> |
|:---:|:---:|
| **Cola de alertas** — cuentas regresivas de SLA ancladas al servidor, reclamo atómico, triaje con un clic. [Docs](https://github.com/beenuar/aisoc/blob/HEAD/apps/docs/docs/console/queue.md) | **Carril de investigación** — narrativa, chips de entidades con rutas de pivote, línea de tiempo de 6 eventos, acciones recomendadas. [Docs](https://github.com/beenuar/aisoc/blob/HEAD/apps/docs/docs/console/investigation-rail.md) |
| <a href="apps/docs/docs/console/rule-tuning.md"><img src="https://raw.githubusercontent.com/beenuar/aisoc/HEAD/apps/web/public/screenshots/03-hunt-workbench.svg" alt="Banco de trabajo /hunt en lenguaje natural" width="100%" /></a> | <a href="apps/docs/docs/plugins/overview.md"><img src="https://raw.githubusercontent.com/beenuar/aisoc/HEAD/apps/web/public/screenshots/04-marketplace.svg" alt="Marketplace de plugins y detecciones" width="100%" /></a> |
| **Banco de trabajo `/hunt`** — escribe una hipótesis en inglés, obtén ES|QL / SPL / KQL, guarda y programa. [Docs](https://github.com/beenuar/aisoc/blob/HEAD/apps/docs/docs/console/rule-tuning.md) | **Marketplace** — plugins, playbooks y detecciones con instalación de inquilino con un clic. [Docs](https://github.com/beenuar/aisoc/blob/HEAD/apps/docs/docs/plugins/overview.md) |
<sub><em>Los cuatro mosaicos de arriba son marcadores de posición SVG. Las capturas PNG reales se incluyen con el próximo paquete de visuales de Fase 2; el [vídeo de recorrido](https://github.com/beenuar/aisoc/blob/HEAD/apps/web/public/demo/) al inicio de este README es la referencia canónica hasta entonces.</em></sub>
</div>
---
## Arquitectura```mermaid
flowchart LR
subgraph Sources["Sources"]
EDR["EDR / XDR"]
SIEM["SIEM"]
Cloud["Cloud APIs"]
IDP["Identity"]
Net["Network"]
end
subgraph Ingest["Ingest & Normalize"]
Connectors["Connectors\n(Python · 78 vendors)"]
OsqueryTLS["osquery-tls\n(Python · host telemetry)"]
IngestSvc["Ingest worker\n(Go · OCSF)"]
Enrich["Enrichment\n(Go · IOC + Shodan)"]
end
subgraph Spine["Event Spine"]
Kafka[("Apache Kafka")]
end
subgraph Detect["Detect & Reason"]
Fusion["Fusion\n(Python · ML)"]
UEBA["UEBA\n(Python · baseline)"]
Rules["Rule engine\n(Sigma · YARA · KQL)"]
Agents["AI Agents\n(LangGraph)"]
end
subgraph Storage["Storage Tier"]
PG[("PostgreSQL")]
CH[("ClickHouse")]
OS[("OpenSearch")]
QD[("Qdrant")]
N4[("Neo4j")]
RD[("Redis")]
end
subgraph Surface["Surface"]
API["Core API\n(FastAPI)"]
Web["Web Console + Responder PWA\n(Next.js)"]
MCP["MCP Server\n(TS · stdio)"]
end
Sources --> Connectors --> IngestSvc --> Kafka
OsqueryTLS --> IngestSvc
IngestSvc --> Enrich --> Kafka
Kafka --> Fusion --> Storage
Kafka --> UEBA --> Kafka
Kafka --> Rules --> Kafka
Agents --> Storage
API --> Storage
Web --> API
MCP --> API
La arquitectura completa (cada servicio, cada rol de almacenamiento, el banco de trabajo de la consola v1.5 y el contrato del Investigation Ledger) está en apps/docs/docs/architecture.md. El documento de diseño de sistema más detallado — incluyendo la fusión ML, el esquema Neo4j-at-ingest y el pipeline de inteligencia de amenazas — se encuentra en docs/architecture/SYSTEM_DESIGN.md. El diseño completo del monorepo está en apps/docs/docs/architecture/overview.md.
Un puñado de capacidades destacadas — el resto están catalogadas en apps/docs/docs/features/ e indexadas al principio de apps/docs/docs/intro.md:
Madurez (v7.7.0 — release totalmente operativo). La columna vertebral de extremo a extremo está cableada y validada por CI: ingest → lago ClickHouse → detección en vivo → alerta fusionada → auto-triaje → respuesta gobernada. Los conectores, Investigation Rail + Ledger, Hunt-as-Code, la detección de flujo en vivo y el auto-triaje con copilot están en GA. La respuesta autónoma está configurada por defecto como copilot/dry-run (una política de autonomía rige cada ejecución real). El benchmark de LLM de agente en vivo está en vista previa (el marcador del nivel determinista está validado por CI en cada PR); las suites de evaluación de sustrato están en GA. Cada afirmación del producto está respaldada por una prueba que falla — matriz claim-to-gate: 46 GATED / 9 PARTIAL / 0 NO GATE. Estado completo por afirmación:
docs/audit/REALITY_REPORT.md. v7.7.0 añade tres modos de autoría de detecciones (framework Python + constructor con IA + sin código), alcance de identidad invocadora con mínimo privilegio para las acciones de respuesta, ciclo de vida de datos de autoservicio (retención + un DSL de transformación a prueba de ReDoS + parsers personalizados), un escáner CSPM sin agente con auto-evidencia de cumplimiento y destinos Opsgenie/correo/SOAR, y un constructor de informes personalizable — todo probado, todo integrado enmain.
Test connection en vivo y secretos cifrados en vault — añadiendo recientemente Qualys, GreyNoise, JumpCloud, Darktrace e Imperva junto a IBM QRadar, Netskope, Zeek/Suricata NDR y más. Una sola consulta ejecuta una búsqueda federada agnóstica de SIEM a través de Splunk SPL / Sentinel KQL / Elastic ES|QL / QRadar AQL. Tutorial: apps/docs/docs/connectors/index.md.docker compose up desde cero ingiere datos de conectores → los deposita en el lago de eventos ClickHouse → el corpus de detección ejecutable (947 reglas) se dispara sobre el flujo en vivo → se crea una alerta fusionada, todo comprobado por una puerta de integración ampliada. El enriquecimiento con inteligencia de amenazas en tiempo de fusión + CISA-KEV ahora alimenta la puntuación de confianza y el refuerzo exploit-in-wild, y las detecciones stateful/con ventana (fuerza bruta, rociado de contraseñas, escaneo de puertos) se ejecutan junto al corpus. apps/docs/docs/architecture.md.apps/docs/docs/concepts/automation-maturity.md.AiSOC incluye un servidor MCP (services/mcp/) para que los analistas puedan consultar alertas, ejecutar investigaciones del agente y reproducir cada paso que dio el agente sin salir del IDE o del chat. El servidor expone 13 herramientas — descubrimiento, análisis profundo, consulta gobernada del lago y el conjunto de acción / reproducción que recorre el registro de decisiones del agente paso a paso.
Estado — compilación desde el código fuente del monorepo hoy; la publicación en npm llega en v8.0. La configuración completa está en
apps/docs/docs/integrations/mcp.md, que muestra las invocaciones de hoy frente a las de v8.0 lado a lado.
Tres superficies de contribución; cada una es un archivo más fixtures opcionales, y el CI valida cada PR.
detections/ con un fixture positivo / negativo en detections/fixtures/. El workflow validate-detections lo prueba en cada PR. Especificación: docs/connectors/.BaseConnector en services/connectors/app/connectors/, regístralo en _CONNECTOR_CLASSES y añade un manifiesto plugins/<id>/plugin.yaml. El marketplace lo detecta automáticamente. Tutorial: apps/docs/docs/connectors/.playbooks/; actúa como puerta del PR. Esquema: .SDK de plugins y detecciones (Python · TypeScript · Go) — consulta apps/docs/docs/plugins/overview.md. El CLI (aisoc-cli) está en packages/aisoc-cli/; la publicación en PyPI llega en v8.0.
En tu CI: añade - uses: beenuar/aisoc-action@v1 para el triaje de las alertas de Dependabot / CodeQL / escaneo de secretos de tu repositorio en cada PR (determinista, nada sale de tu runner; con dogfooding en este repositorio, la publicación en Marketplace llega con v8.0). Documentación.
RELEASES.md (refleja lo que solía estar en este README)CHANGELOG.md[~]): docs/roadmap/v8-progress.mdROADMAP.mdSe aceptan PR de todos los tamaños. Lee CONTRIBUTING.md para conocer el flujo de trabajo y el Código de Conducta antes de abrir un PR.
Colaboradores primerizos: elige un good first issue. ¿Necesitas ayuda? Abre un debate de preguntas y respuestas.
AiSOC se construye y mejora gracias a una comunidad creciente de colaboradores, investigadores de seguridad y operadores. La atribución completa — incluyendo a quienes reportan errores e investigadores de seguridad — está en .github/CREDITS.md. El gráfico de contribuciones de código siempre actualizado está en la página de contribuyentes de GitHub.
Para problemas de seguridad, no abras un issue público. Usa el informe privado de vulnerabilidades de GitHub. Política completa en SECURITY.md. AiSOC sigue la divulgación coordinada.
MIT — © 2024–actualidad Colaboradores de AiSOC.
/explore.apps/docs/docs/console/investigation-rail.md.apps/docs/docs/concepts/detections.md — y las 869 reglas nativas viven en detections/.services/agents/app/routing/./hunt en lenguaje natural. hunts/ + apps/docs/docs/console/rule-tuning.md. Además, herramientas de navegador gratuitas y sin inicio de sesión: un traductor de reglas Sigma/SPL/KQL/ES|QL, un calificador de cobertura ATT&CK, NL→Sigma y una calculadora de ruido.apps/docs/docs/benchmark-scoreboard.mdx.