Repository navigation
fix: keep third-party notice directory traversable without DAC capabilities - #285
Conversation
|
Warning Review limit reachedYou've used all free OSS reviews for now. Wait for the free limit to reset to keep reviewing this public repository. Next included review available in 38 minutes. View limit details
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
7f4e115 to
3517f4e
Compare
Rebased on security-corrected main, 2026-10-21The earlier head True rebased/squashed this two-file repair onto that exact main at Marked ready for review. Exact-head Build AMD64 #39553584727 is running. Please do not merge until it is green, review comments have been handled, and the new image is published. Live TrueNAS acceptance without DAC add-back remains a separate requirement in #121; no stable release or host change is claimed. @coderabbitai review |
|
#282) Document exact-revision deployment by immutable GHCR digest, canonical idempotent persistent directory initialization, host-side ACL preflight/audit, bilingual 53-CLI acceptance, fail-fast per-role notices and no-DAC traversal checks, dual Python, release/change logs and roadmap state. Integrate and document #286 CA-security and #285 root:root 0755 notice permission fixes. Exact-head CI Build AMD64 #39554598502 passed, 79 relative Markdown links audited, six prior CodeRabbit review threads resolved; incremental bot review was rate limited. No TrueNAS changes, no stable release.
Problema confirmado en TrueNAS
La imagen
ghcr.io/experience83/remote-dev:edge-amd64, revisión5a56c3006135d41c913bb09a7f3be37d35c2c4df, contiene el directorio/usr/share/doc/remote-devcon modo0444(root:root). Al eliminar todas las capacidades (--cap-drop ALL), ni siquiera UID 0 puede atravesarlo yscripts/test-validation-tools.sh --localfalla al leerthird_party/BUILD-VERSIONS.env.El origen es
COPY --chmod=0444 LICENSE /usr/share/doc/remote-dev/LICENSEsin crear antes explícitamente el directorio padre. Es el mismo patrón de BuildKit ya mitigado para/etc/mise.Cambio
/usr/share/doc/remote-devcomoroot:root 0755antes del primerCOPY --chmod=0444. ConservarLICENSEa0444.root:root 0755para evitar otra imagen mal empaquetada.remote-dev-notices --checkbajo su configuración existente--cap-drop ALL --read-only --network none.Evidencia real
En TrueNAS, las herramientas funcionales y Python dual ya han pasado en ambos roles cuando se concedió
DAC_READ_SEARCHsolo al contenedor efímero de validación. La aplicación real superó salud, Doctor, aislamiento, ACL Generic/POSIX y recreación de los tres contenedores con persistencia de sesiones Codex/Antigravity. Ver #121.Criterios de aceptación (pendientes de CI + nueva edge)
scripts/test-validation-tools.shsin--cap-add.stat -c '%u:%g %a' /usr/share/doc/remote-devdevuelve0:0 755.remote-dev-notices --checky el test funcional pasan en contenedores efímeros sin capacidades, red ni mounts persistentes.No afecta a
compose/truenas.yml, directorios persistentes ni a la PR de documentación #282.Refs: #121.