Skip to content

Add RFSAM Skill: AI agent methodology for RF security audits (7-layer descent over 15 RF protocols) - #2

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

Add RFSAM Skill: AI agent methodology for RF security audits (7-layer descent over 15 RF protocols)#2
DragonJAR wants to merge 6 commits into
ElectronicCats:mainfrom
DragonJAR:main

Conversation

@DragonJAR

@DragonJAR DragonJAR commented Jun 21, 2026

Copy link
Copy Markdown

Summary

Adds a complete, self-contained Skill/ folder that turns any AI agent (Claude, ChatGPT, etc.) into a senior RF security auditor following the RFSAM methodology — a structured 7-layer descent (IG→SP→PHY→LL→CR→AT→AP) across 15 RF protocols, with an authorization gate, reproducible evidence workflow, and quality rubric.

Cross-fork PR from DragonJAR/RFSAM. The skill was developed and validated in the fork before opening this PR.

What Skill/ adds

Skill/
├── SKILL.md                  # Manifest + auth gate + 7-layer master flow
├── agents/openai.yaml        # Descriptor for OpenAI-compatible loaders
├── assets/
│   ├── finding-template.md        # Finding write-up template
│   ├── report-template.md         # Technical report template
│   └── executive-summary-template.md
├── references/
│   ├── 00-taxonomia.md            # Taxonomy, control IDs, coverage-map
│   ├── 01-autorizacion.md         # Legal frameworks by jurisdiction
│   ├── 02-kit-sdr.md              # SDR/sniffer hardware catalog
│   ├── 03-registro-hallazgos.md   # JSONL schema, CVSS 4.0 RF, severity model
│   ├── 10-ble.md … 24-uwb.md      # Per-protocol wayfinders (15 protocols)
│   ├── 25-troubleshooting.md      # Field diagnostics
│   └── 26-calidad.md              # Q1–Q8 quality rubric
└── scripts/
    ├── coverage_check.py          # Controls covered vs pending
    ├── register_finding.py        # Deterministic JSONL finding registration
    └── scaffold_report.py         # Report skeleton from JSONL

Why

RFSAM (Electronic Cats) is a web tool for RF security assessment methodology. This skill package makes the methodology portable to any AI assistant, so an auditor can load it and get structured guidance through the full 7-layer descent with protocol-specific commands, authorization gates, and reproducible evidence requirements — without needing the web app.

Authorization-first design

The skill enforces a hard authorization gate before any active step:

  • 4 modes: Observational (RX only), Active (TX with re-check), Lab (TX + containment), Defensive (detect-only)
  • 8 absolute rejections (RA1–RA8): surveillance of non-consenting third parties, jamming, spoofing critical infrastructure, rogue cells without license, credential cloning for fraud, etc.
  • 5 redirects (RD1–RD5): web/API pentest, firmware dev, legal advice, forensics, hardware design

Not included

  • No changes to the RFSAM web app code (only Skill/ folder + .gitignore)
  • The skill guides and plans; real capture requires the operator's own hardware and authorization
  • loot/ directory (captures, keys, findings) is gitignored and never committed

Validation

  • All 3 Python scripts compile and pass self-tests (coverage_check.py, register_finding.py --self-test)
  • Control IDs across all 15 wayfinders verified against canonical coverage-map
  • Cross-references validated (no broken §N or references/XX-name.md links)
  • Typo fixes applied: PBCH acronym correction (LTE + 5G NR), Zigbee crypto terminology correction, Wireshark spelling fix

Primera version de SKILL.md para que un agente entienda y aplique RFSAM
…urales y de cobertura

Typos/redacción:
- SKILL.md: `.loop*` -> `loot/` (gitignore instruía mal, exponía a commitear capturas)
- 01-autorizacion.md: equipment ownerr -> owner, bosechada -> estructura,
  rteléfono -> teléfono
- 10-ble.md: correlar -> correlacionar; título control CR alineado con coverage-map
  ("Pairing and encryption assessment")
- 14-lte.md: caracter chino espurio 下行 -> "DL)"
- 15-rfid.md: "relayed credenciales" -> "relay credenciales"
- 18-zwave.md: Triggrear -> Disparar; espanglish "adds potencia y star topology"
  -> "añade potencia y topología estrella"
- 24-uwb.md: intentp -> intento

Referencias rotas (13 lugares): reescritas a archivos que existen en references/
- docs/phase4-mitigations.md -> references/03-registro-hallazgos.md §7
- docs/phase4-*-*.md -> references/25-troubleshooting.md (§1/§2/§4)
- docs/rfsam-tools-registry.md -> references/02-kit-sdr.md
- docs/rfsam-quality-rules.md -> references/26-calidad.md (secciones internas)
- RFSAM-git/scripts/validate.mjs -> scripts/register_finding.py

Estructura ADS-B:
- 21-adsb.md: headers separados (### PHY / ### LL / ### AT, un control por header)
- RFSAM-ADSB-AT-01 añadido a los 3 sitios canónicos:
  src/data/coverage-map.js, scripts/coverage_check.py, references/00-taxonomia.md §6

Sección ## Subflujo añadida a 8 wayfinders (LTE, ZWave, Thread, GNSS, ADS-B,
NR5G, GSM, UWB) para cumplir lo que SKILL.md §Fase 0 promete. Ahora los 15
wayfinders tienen la tabla de transiciones + bloque "Anomalía defensiva".

DRY:
- register_finding.py: regex de control derivada de los sets PROTOCOLS/LAYERS
  (estricta), rechaza IDs con proto/layer no canónicos.
- coverage_check.py: comentario que marca src/data/coverage-map.js como fuente
  única de los 3 sitios (JS/Python/MD).

Menores:
- SKILL.md: placeholders del snippet de checkpoint marcados como {{...}}
- scaffold_report.py: f-string críptico de la fila de remediación refactorizado

Verificación:
- python3 scripts/register_finding.py --self-test OK
- coverage-map.js: 50 controles, todos canónicos, únicos, 15 protocolos
  (PY/JS/MD sincronizados)
- tests integrales: RFSAM-ADSB-AT-01 válido; proto/layer inválidos rechazados
…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.
- LTE (14-lte.md): PBH → PBCH (Physical Broadcast Channel)
- 5G NR (22-nr5g.md): PBH → PBCH (2 occurrences) + Wireshar → Wireshark
- Zigbee (17-zigbee.md): S2-style ECDH → install-code AES-MMO (Zigbee 3.0
  uses symmetric install codes, not Z-Wave S2 ECDH)
- Zigbee + Thread (17-zigbee.md, 19-thread.md): cativity → activity
- .gitignore: add __pycache__/ and Skill/loot/ to prevent accidental
  commits of Python cache files and audit secrets
@DragonJAR DragonJAR changed the title feat(skill): añade skill RFSAM para agentes de auditoría RF (SKILL.md + wayfinders + scripts) Add RFSAM Skill: AI agent methodology for RF security audits (7-layer descent over 15 RF protocols) Aug 5, 2026
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