# Harness Oia Audit > Worker de auditoría compuesta que agrupa oia-manifest, threat-model y mcp-scan en un único registro con marca de tiempo, guardado en metaharness-audit. Pensado para detección de deriva por cron. Fuente: https://skillsagentes.com/skills/ruvnet/ruflo/harness-oia-audit Markdown: https://skillsagentes.com/skills/ruvnet/ruflo/harness-oia-audit.md Repositorio: https://github.com/ruvnet/ruflo Autor: ruvnet Licencia: MIT Actualizado: hace 2 meses Coste de contexto: 57 tok instalada, 724 tok al activarse, 724 tok con todos los archivos del bundle Bundle: 1 archivo, 3 KB Permisos que pide: bash ## Instalación Un skill son archivos markdown: los mismos archivos valen para cualquier agente y lo único que cambia es el directorio de destino, es decir la bandera `--agent`. Añade `-g` para instalarlo en todos los proyectos de la máquina. ```bash # Claude Code npx -y skills add ruvnet/ruflo --skill harness-oia-audit --agent claude-code # Cursor npx -y skills add ruvnet/ruflo --skill harness-oia-audit --agent cursor # Codex npx -y skills add ruvnet/ruflo --skill harness-oia-audit --agent codex # Gemini CLI npx -y skills add ruvnet/ruflo --skill harness-oia-audit --agent gemini # Windsurf npx -y skills add ruvnet/ruflo --skill harness-oia-audit --agent windsurf # Cline npx -y skills add ruvnet/ruflo --skill harness-oia-audit --agent cline ``` ## Qué hace - Ejecuta oia-manifest, threat-model y mcp-scan en una sola pasada y calcula la severidad compuesta peor. - Guarda el registro de auditoría en el namespace metaharness-audit con clave audit-, salvo con --dry-run. - Falla con --alert-on-worst si la severidad compuesta iguala o supera el umbral. ## Cuándo usarla - Quieres programar auditorías semanales por cron que detecten deriva a lo largo del tiempo. - Necesitas un único informe compuesto en vez de ejecutar tres comandos por separado. ## Qué la activa - "Ejecuta la auditoría compuesta de este repo" - "Programa oia-audit semanalmente y falla si hay severidad alta" ## Antes de instalar - Se degrada con normalidad si metaharness no está disponible para los tres componentes. - Necesita en el PATH: npx - runs shell commands ## Archivos - SKILL.md — 3 KB ## SKILL.md Reproducido tal cual desde ruvnet/ruflo bajo MIT. Esta sección es el documento original y está en inglés. The 13th worker (ADR-150 Phase 2) — runs three MetaHarness static surfaces in one shot, computes a composite worst-severity signal, and persists the audit record to memory so drift over time is visible. ## Algorithm Implementation: [`scripts/oia-audit.mjs`](../../scripts/oia-audit.mjs). 1. Run `harness oia-manifest ` — Open Infrastructure Architecture layer alignment (L1-L9). 2. Run `harness threat-model ` — categorized MCP-surface threat report with `worst: clean|low|medium|high`. 3. Run `harness mcp-scan ` — per-server/tool policy + permissions + dep findings. 4. Composite worst = `max(threatModel.worst, max(mcpScan.findings.severity))`. 5. Persist payload to memory namespace `metaharness-audit` with key `audit-` (unless `--dry-run`). 6. `--alert-on-worst `: exit 1 if composite worst ≥ threshold. ## Graceful degradation When ALL three components report `metaharness-not-available`, the script emits the standard degraded payload and exits 0. When only some are degraded, each individual component carries its own `degraded: true` flag in the audit record — the audit still runs and persists what it could gather. ## CI / cron integration Designed for weekly cron in `.github/workflows/`: ```yaml on: schedule: - cron: '17 4 * * 0' # Sundays at 04:17 UTC jobs: oia-audit: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - uses: actions/setup-node@v4 - run: node plugins/ruflo-metaharness/scripts/oia-audit.mjs --alert-on-worst high ``` `--alert-on-worst high` fails the job on any HIGH-severity finding; drift below HIGH is logged but doesn't block. ## Memory namespace Each audit run stores under `metaharness-audit:audit-`. To list recent audits: ```bash npx @claude-flow/cli@latest memory list --namespace metaharness-audit --limit 10 ``` To diff two audits (drift detection): ```bash A=$(npx ... memory retrieve --key audit-2026-06-01... --namespace metaharness-audit) B=$(npx ... memory retrieve --key audit-2026-06-15... --namespace metaharness-audit) # Compare composite.worst, components.threatModel.worst, etc. ``` A future ADR can wire this into a dedicated `cost-diff`-style diff viewer specifically for audit drift. ## Pairs with - `harness-threat-model` — the underlying threat-model component - `harness-mcp-scan` — the underlying MCP-scan component - `harness-score` + `harness-genome` — readiness metrics (orthogonal to audit) ## Dónde encaja - Categoría: [Seguridad](https://skillsagentes.com/categorias/seguridad.md) — Auditorías, revisión de dependencias, manejo de secretos y modelado de amenazas. - Creador: [ruvnet](https://skillsagentes.com/creators/ruvnet.md) — 275 skills en el directorio - [Todas las skills](https://skillsagentes.com/skills.md) - [Ranking de instalaciones](https://skillsagentes.com/ranking.md) ## Otras skills del mismo repositorio - [Harness Gepa](https://skillsagentes.com/skills/ruvnet/ruflo/harness-gepa.md): Inspecciona y audita genomas GEPA: carga y valida un genoma, renderiza el system prompt que compila, o clasifica los modos de fallo de una transcripción de ejecución. - [Deepseek Reason](https://skillsagentes.com/skills/ruvnet/ruflo/deepseek-reason.md): Completion en modo razonamiento contra deepseek-reasoner (R1) de DeepSeek. Devuelve el chain-of-thought por separado de la respuesta final. Lee DEEPSEEK_API_KEY y degrada si falta o la API no responde. - [Deepseek Chat](https://skillsagentes.com/skills/ruvnet/ruflo/deepseek-chat.md): Completion de un solo turno contra el modelo deepseek-chat de DeepSeek vía /v1/chat/completions. Lee DEEPSEEK_API_KEY y degrada con status:degraded si falta o la API no responde. Para tareas sin razonamiento. - [Adr Index](https://skillsagentes.com/skills/ruvnet/ruflo/adr-index.md): Construye o reconstruye el índice de ADRs y su grafo de dependencias ejecutando scripts/import.mjs, en vez de cientos de llamadas MCP. - [Agntcy Status](https://skillsagentes.com/skills/ruvnet/ruflo/agntcy-status.md): Muestra el estado de la integración AGNTCY/SLIM/CASA: si los paquetes están instalados, qué transporte está activo y si el enforcement de CASA está habilitado. --- Skills Agentes · [Índice de páginas en markdown](https://skillsagentes.com/sitemap.md) · [Inicio](https://skillsagentes.com/index.md)