docs: capa security (RFC-017) — cierra falso negativo del n/a - #21
Merged
Conversation
El pase adversarial multi-vendor (opencode + agy) impugnó el n/a de security.
Verificado contra lib/cobro_digital.rb: la gema SÍ tiene superficie de
seguridad real (secrets-semántica), que el n/a anterior ("sin Pundit/Current")
omitía:
- LOG_FILTERS=[:parametros_de_entrada] enmascara sid + PII del pagador como
***FILTERED*** (lib/cobro_digital.rb:35-36)
- LOG_LEVEL default :error para no filtrar el sid (lib/cobro_digital.rb:26-31)
- credencial id_comercio/sid por argumento, no persistida (custodia del host)
- failure-mode: COBRODIGITAL_LOG_LEVEL=debug expone el sid en claro
docs/security/security.md (RFC-017 híbrido):
- §a/§b estructural (conteos + auth saliente)
- §c/§d/§e n/a (sin authz/endpoints/audit propios) — declarado con motivo
- §f secrets-semántica + §g confianza/zona-de-red enriquecidos
Composites (AGENTS/README/SKILL): seguridad sale de la línea n/a combinada y
pasa a fila propia apuntando al artefacto.
errors y data-lifecycle se mantienen n/a (verificado: errores del proveedor van
en consumed §d; gema stateless sin persistencia).
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
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.
Contexto
El pase adversarial de
multi-vendor-feedback(opencode + agy) sobre el clean-bill decritias --fullimpugnó la clasificaciónn/ade la capa security. Verificado contralib/cobro_digital.rb: era un falso negativo — eln/aanterior ("sin Pundit/Current") solo miraba la dimensión authz y omitía que la gema implementa secrets-semántica real (decisión deliberada de sanitización de logs para no filtrar credencial + PII).critias (Cat A) verifica que el
n/aesté declarado con motivo, no que el motivo sea semánticamente correcto — ese gap lo atrapa el pase multi-vendor (amplitud complementaria).Cambios
docs/security/security.md(nuevo) — RFC-017 híbrido:id_comercio/sidpor arg + handshakeMD5(Time.now))n/a: sin authz/endpoints/audit propios (declarado con motivo)LOG_FILTERS=[:parametros_de_entrada]→***FILTERED***; default:error; no-log desid/request_xml; failure-modedebugexpone sidAGENTS.md/README.md/skill/SKILL.md: seguridad sale de la línean/acombinada → fila propia apuntando al artefactoLo que se mantiene n/a (verificado contra código)
ArgumentErrorde misconfig); los errores del WS (SOAP faults/timeouts) son del proveedor → ya documentados enconsumed §d(RFC-018). Los vendors conflaron las dos capas.Nota
Sin valores reales de credenciales ni descripción de vulnerabilidades (RFC-017 §3).
🤖 Generated with Claude Code