Skip to content

fix(skill): technical review — defensive mode, severity model, cross-field validation, fact corrections - #3

Open
DragonJAR wants to merge 9 commits into
ElectronicCats:mainfrom
DragonJAR:fix/technical-review-en-translation
Open

fix(skill): technical review — defensive mode, severity model, cross-field validation, fact corrections#3
DragonJAR wants to merge 9 commits into
ElectronicCats:mainfrom
DragonJAR:fix/technical-review-en-translation

Conversation

@DragonJAR

Copy link
Copy Markdown

Summary

Post-translation technical review of the entire RFSAM skill. 30 files verified; this PR fixes all technical inaccuracies found. The prior PR (#1) translated the skill from Spanish to English; this PR ensures the translation is technically correct.

Critical (2)

  • CR-1 — register_finding.py cross-field validation: the --control parameter's protocol and layer segments must now match the finding's --protocol and --layer. Previously, registering a BLE finding with RFSAM-WIFI-CR-01 was accepted. Now rejected with explicit mismatch errors. Self-test extended with 2 new assertions.
  • CR-2 — Defensive mode (01-authorization.md): added as the 4th operational mode (passive RX to detect/correlate/alert on threats, no TX). Updated index, modes table, gate prompt options, and scope template.

High (6)

Fix File Change
H-1 24-uwb.md Heading ### LL### PHY (correct layer for RFSAM-UWB-PHY-01)
H-2 12-wifi.md "Dragonblood = implementation bug" → "protocol-level side-channel attacks + implementation bugs" (both occurrences)
H-3 03-finding-registration.md E1/E2 severity criticalhigh (Impact 4 + Exploitability 2 = high per decision table)
H-4 SKILL.md Removed false claim that scaffold_report.py uses assets/report-template.md
H-5 report-template.md OBSERVATIONALINFO in §4.5 heading, severity table line, and sort-order note
H-6 SKILL.md "4 levels" → "5 levels" (info/low/medium/high/critical)

Medium (3)

Fix File(s) Change
M-1 SKILL.md, finding-template.md, report-template.md, scaffold_report.py Remediation rule consistency: added "medium requires Integrator + Operator" everywhere
M-2 03-finding-registration.md Exploitability raise prose corrected: now requires exposure ≥3, not unconditional
M-3 All scripts + references Spanish filenames renamed to English; Spanish section refs in comments resolved to English filenames

Additional technical corrections

  • 00-taxonomy.md: BLE band 2.4002.402 GHz; UWB HRP PRF 124.8249.6 MHz
  • 16-subg.md: chip EV1522EV1527 (correct encoder IC)
  • 25-troubleshooting.md: removed erroneous EC Nano USB ID from RTL-SDR V4 row
  • 01-authorization.md: UK law ref → Investigatory Powers Act 2016
  • 26-quality.md: validate.mjscoverage_check.py; Spanish section names → English
  • SKILL.md: session_state.json keys translated from Spanish (fasephase, etc.)
  • GNSS spoofing CVSS vector corrected (AC:H, AT:P, VA:H)
  • finding-template.md: "49 controls" → "50 controls"
  • 22-nr5g.md: free5FCfree5GC (open-source 5G core project)
  • Spanish section anchors fixed across 25-troubleshooting.md, 26-quality.md, 03-finding-registration.md

Verification

  • register_finding.py --self-test
  • E2E: register → coverage_check → scaffold_report ✅
  • Cross-field validation rejects mismatched control IDs ✅
  • No Spanish characters remain in modified .md/.py/.yaml files ✅

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
Full ES→EN translation of all 30 files: SKILL.md, 15 protocol wayfinders,
6 methodology references, 3 templates, 3 Python scripts, agents/openai.yaml,
and the new translation glossary. Technical terms (protocol names, hardware,
commands, control IDs, CVSS vectors) kept in English per glossary. Verified
zero residual Spanish prose via pattern searches across all .md files.
…N translation

Technical fix:
- 22-nr5g.md: free5FC → free5GC (open-source 5G core project name)

Translation cleanup (Spanish section anchors left in English docs):
- 25-troubleshooting.md: §diagnostico→§diagnosis, §orden→§order,
  §falsos-positivos→§false-positives (+ all internal cross-refs)
- 26-calidad.md: §reglas→§rules, §pre-registro→§pre-registration,
  enum observacional/activo/lab/defensivo→observational/active/lab/defensive,
  §falsos-positivos→§false-positives ref (+ all internal cross-refs)
- 03-registro-hallazgos.md: §severidad-rf→§rf-severity
- SKILL.md: update all cross-references to renamed anchors;
  informe-rfsam→rfsam-report (scaffold_report.py default output)
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