fix(skill): technical review — defensive mode, severity model, cross-field validation, fact corrections - #3
Open
DragonJAR wants to merge 9 commits into
Conversation
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)
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
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)
register_finding.pycross-field validation: the--controlparameter's protocol and layer segments must now match the finding's--protocoland--layer. Previously, registering a BLE finding withRFSAM-WIFI-CR-01was accepted. Now rejected with explicit mismatch errors. Self-test extended with 2 new assertions.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)
24-uwb.md### LL→### PHY(correct layer forRFSAM-UWB-PHY-01)12-wifi.md03-finding-registration.mdcritical→high(Impact 4 + Exploitability 2 =highper decision table)SKILL.mdscaffold_report.pyusesassets/report-template.mdreport-template.mdOBSERVATIONAL→INFOin §4.5 heading, severity table line, and sort-order noteSKILL.mdMedium (3)
SKILL.md,finding-template.md,report-template.md,scaffold_report.pymediumrequires Integrator + Operator" everywhere03-finding-registration.mdAdditional technical corrections
00-taxonomy.md: BLE band2.400→2.402 GHz; UWB HRP PRF124.8→249.6 MHz16-subg.md: chipEV1522→EV1527(correct encoder IC)25-troubleshooting.md: removed erroneous EC Nano USB ID from RTL-SDR V4 row01-authorization.md: UK law ref → Investigatory Powers Act 201626-quality.md:validate.mjs→coverage_check.py; Spanish section names → EnglishSKILL.md:session_state.jsonkeys translated from Spanish (fase→phase, etc.)finding-template.md: "49 controls" → "50 controls"22-nr5g.md:free5FC→free5GC(open-source 5G core project)25-troubleshooting.md,26-quality.md,03-finding-registration.mdVerification
register_finding.py --self-test✅.md/.py/.yamlfiles ✅