Skip to content

fix(security): denegación de capabilities, pnpm único y Renovate - #80

Merged
Alexendros merged 1 commit into
mainfrom
fix/audit-deny-renovate
Oct 14, 2026
Merged

Alexendros merged 1 commit into
mainfrom
fix/audit-deny-renovate

Conversation

@Alexendros

@Alexendros Alexendros commented Oct 14, 2026 •

Copy link
Copy Markdown
Owner

Objetivo

Cerrar el seguimiento de la auditoría que sí cabe en este corte: denegación explícita de capabilities, un solo lockfile JS y el relevo de Dependabot de versiones por Renovate.

IDs trazados

  • NFR-SEC-001
  • RSK-007
  • THR-SUP-001, THR-IPC-001
  • VAL-NEG-CAPABILITIES
  • TST neg_capability_deny_by_default

Cambios

  • main.json y el esquema generado dejan la lista permissions vacía como denegación definitiva del slice. Los ocho identificadores core:* siguen en TOML y no se conceden.
  • dialog y picker siguen vacías.
  • Se borra apps/web/package-lock.json. El instalador único es pnpm-lock.yaml.
  • Sale .github/dependabot.yml. Entra .github/renovate.json sin automerge, majors etiquetados y alertas de vulnerabilidad sin fusionar solas.
  • La política de supply-chain registra que glib 0.18.5 no se puede subir a 0.20 mientras Tauri/GTK exijan ^0.18.

Fuera de alcance

Contratos/migraciones

Ningún contrato nuevo. El esquema generado de capabilities solo cambia la descripción.

Seguridad/privilegios

No se añade ningún permiso IPC. La allow-list JSON permanece vacía.

Accesibilidad/visual

Sin cambio visual.

Pruebas y evidencias

  • python3 tools/check_negative_capabilities.py: 0 fallos.
  • cargo test -p archmaker-core --test negative_capabilities neg_capability_deny_by_default: 1 passed.
  • python3 tools/validate_front_matter.py: 103 documentos, 0 inconsistencias.
  • cargo update -p glib --precise 0.20.0 --dry-run falla: gtk 0.18.2 exige glib ^0.18.
  • Escáner global: 0 secretos potenciales tras excluir token: "--…" y opaque-handle.json. password y api_key siguen marcándose.

Documentación

Política Tauri, comandos Tauri, evidencias negativas, supply-chain y línea base de auditoría.

Checklist DoD

  • Lista de capabilities vacía y testeada
  • Lockfile npm retirado
  • Renovate configurado, sin automerge
  • App de Renovate instalada en el repositorio
  • glib 0.20 cuando la pila de Tauri lo permita

Note

Low Risk
Cambios de política, documentación y tooling de dependencias; la allow-list IPC ya estaba vacía y no se añaden permisos nuevos. El riesgo operativo principal es que contribuidores o flujos que aún usen npm en apps/web dejen de tener lockfile allí.

Overview
Cierra el corte de auditoría de seguridad IPC y cadena de suministro sin ampliar privilegios en runtime.

Capabilities Tauri: main.json, el esquema generado y la documentación de seguridad/interfaces dejan explícito que permissions: [] es la denegación definitiva del slice. Los ocho identificadores core:* siguen solo en permissions/*.toml y no se conceden vía JSON; dialog/picker permanecen vacías. Los tests (neg_capability_deny_by_default) y check_negative_capabilities.py reflejan ese modelo.

Dependencias JS: se elimina apps/web/package-lock.json; la política de supply-chain fija pnpm-lock.yaml en la raíz como único lockfile e instalador.

Actualización automatizada: se quita Dependabot (.github/dependabot.yml) y entra Renovate (lunes antes de las 6:00, sin automerge, dashboard, límite de PRs concurrentes, majors con etiqueta major). Se documenta la excepción glib 0.18.5 (no subible a 0.20 mientras Tauri/GTK exijan ^0.18).

Gobernanza: la línea base de auditoría aclara la allowlist del escáner de secretos para token: de diseño CSS vs credenciales reales.

Reviewed by Cursor Bugbot for commit 1d7c9f4. Configure here.

La lista permissions vacía es la denegación del slice: los ocho TOML core:* no se conceden. pnpm-lock.yaml queda como único lockfile JS. Dependabot de versiones sale; Renovate entra sin automerge. glib 0.18.5 sigue fijado por Tauri y GTK.

REQ: NFR-SEC-001
RSK: RSK-007
THR: THR-SUP-001 THR-IPC-001
VAL: VAL-NEG-CAPABILITIES
TST: neg_capability_deny_by_default
@Alexendros
Alexendros merged commit 4818644 into main Oct 14, 2026
21 checks passed
@cursor

cursor Bot commented Oct 14, 2026

Copy link
Copy Markdown

Bugbot couldn't run - usage limit reached

Bugbot is counted against Cursor usage for this user or team, and this run hit a usage or spend limit.

A user or team admin can review and increase usage limits in the Cursor dashboard.

(requestId: 821010bf-fe39-46fe-9289-151c3a452fd8)

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