Skip to content

feat(skill): añade skill RFSAM para agentes de auditoría RF (SKILL.md + wayfinders + scripts)#2

Open
DragonJAR wants to merge 2 commits into
ElectronicCats:mainfrom
DragonJAR:main
Open

feat(skill): añade skill RFSAM para agentes de auditoría RF (SKILL.md + wayfinders + scripts)#2
DragonJAR wants to merge 2 commits into
ElectronicCats:mainfrom
DragonJAR:main

Conversation

@DragonJAR

Copy link
Copy Markdown

Resumen

Añade la carpeta `Skill/` con una skill completa para asistentes de IA que conducen auditorías de seguridad RF con la metodología RFSAM (descenso por 7 capas sobre 15 protocolos RF), más un cambio mínimo en `src/data/coverage-map.js` para alinear el control ADS-B con el resto del coverage-map.

PR cross-fork desde DragonJAR/RFSAM. La skill se desarrolló en el fork y se validó antes de abrir este PR. Versiónsquash ya mergeada en DragonJAR:main como commit 8ddd34a.

Qué añade `Skill/`

Estructura completa, lista para que un agente (Claude, ChatGPT, etc.) la cargue y conduzca una auditoría RF:

```
Skill/
├── SKILL.md # manifiesto + gate de autorización + flujo maestro de 7 capas
├── agents/openai.yaml # descriptor para cargadores OpenAI
├── assets/
│ ├── finding-template.md # write-up standalone por hallazgo
│ ├── report-template.md # informe técnico
│ └── executive-summary-template.md # resumen ejecutivo (no técnico)
├── references/
│ ├── 00-taxonomia.md # 7 capas + 15 protocolos + coverage-map canónico
│ ├── 01-autorizacion.md # gate legal/autorización (3 modos + matriz por técnica)
│ ├── 02-kit-sdr.md # catálogo de SDRs/sniffers y sus límites
│ ├── 03-registro-hallazgos.md # esquema JSONL + severidad + CVSS 4.0 RF
│ ├── 10-ble.md … 24-uwb.md # wayfinders por protocolo (15)
│ ├── 25-troubleshooting.md # diagnóstico cuando una fase no progresa
│ └── 26-calidad.md # rúbrica Q1–Q8 antes de reportar
└── scripts/
├── register_finding.py # registro validado en loot/rfsam_findings.jsonl
├── coverage_check.py # controles cubiertos vs coverage-map
└── scaffold_report.py # informe técnico desde el JSONL
```

Metodología que implementa

  • Gate de autorización obligatorio antes de cualquier paso activo: 3 modos (observacional/activo/lab) + 4 modo defensivo, con rechazos absolutos (RA1–RA8: vigilancia de terceros, jamming, spoofing de infra crítica, rogue cell sin licencia, etc.).
  • Descenso top-down de 7 capas (IG→SP→PHY→LL→CR→AT→AP) como checklist operativo por protocolo.
  • 15 protocolos: BLE, BTC, Wi-Fi, LoRa, LTE, RFID/NFC, Sub-GHz, Zigbee, Z-Wave, Thread, GNSS, ADS-B, 5G NR, GSM, UWB.
  • Deferencia a BSAM en Bluetooth link-and-above (no duplica BSAM).
  • Modelo de severidad de 4 ejes (Impacto/Explotabilidad/Exposición/Alcance) consolidado en CVSS 4.0 con `AV:A`.
  • `loot/` fuera de git: política de PII, claves como secreto, retención default 30 días.

Cambio en `src/data/coverage-map.js`

Añade `RFSAM-ADSB-AT-01` (forge/inject en lab contenido). Antes el wayfinder ADS-B describía ataques AT sin control asignado; ahora los 3 sitios canónicos del coverage-map están sincronizados. Total: 50 controles en el coverage-map.

Principio DRY

  • La regex de validación de controles en `register_finding.py` se deriva de los sets `PROTOCOLS` y `LAYERS` (una sola fuente de verdad), no hardcodeada.
  • El coverage-map vive en `src/data/coverage-map.js` (fuente) y se replica en `scripts/coverage_check.py` + `references/00-taxonomia.md §6` con un comentario que los marca como sincronizados.

Verificación

  • ✅ `python3 scripts/register_finding.py --self-test` → OK (validación de 4 ejes)
  • ✅ `python3 -m py_compile` los 3 scripts → OK
  • ✅ `coverage-map.js` → 50 controles, todos canónicos (PROTO/LAYER válidos), únicos, 15 protocolos (verificado vía Node + regex estricta)
  • ✅ JS/Python/MD del coverage-map sincronizados
  • ✅ Tests integrales: `RFSAM-ADSB-AT-01` válido; IDs con proto/layer no canónicos rechazados
  • ✅ Los 15 wayfinders + `02-kit-sdr.md` tienen sección `## Subflujo` (16/16)
  • ✅ 0 referencias rotas a archivos inexistentes (`grep docs/ RFSAM-git` → 0)

Compatibilidad

  • No rompe nada existente: `Skill/` es carpeta nueva; el único archivo tocado fuera de `Skill/` es `src/data/coverage-map.js` (+1 línea, aditiva).
  • Mantiene `reference/`, `scripts/`, `src/` existentes intactos.

Licencia

CC BY-SA-4.0 (constante con el resto del repo).

Tipo de cambio

  • feat (nueva skill + 1 control al coverage-map)
  • fix
  • breaking

Contribución desde el fork DragonJAR/RFSAM (commit 8ddd34a). Feedback bienvenido — si prefieren la `Skill/` en otra ruta o con cambios de estructura, ajusto.

Primera version de SKILL.md para que un agente entienda y aplique RFSAM
…al (#1)

Corrige typos, 13 referencias rotas a docs/*.md inexistentes, inconsistencias estructurales (wayfinders sin ## Subflujo, ADS-B sin control AT) y divergencia regex↔taxonomía. DRY: coverage-map sincronizado en JS/Python/MD. Verificación: register_finding --self-test OK, 50 controles canónicos, tests integrales pasan.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant