S00-031: Document verified host context for the Codex sandbox probe
Changes: Add host-specific socket mask diagnosis and bounded inner workspace-write invocation to automation guidance; record independent evidence and QA handoff. Validation: Approved host stat confirmed uid1000/mode0700; no-model inner sandbox exited 0 with project write/read/remove and outside write denial EROFS30. Final make check passed 72 tests and git diff --check passed. Initial verbose draft exceeded prompt budgets; compacted guidance passed the rerun. No storage task or model executed. Task: S00-031 Agent: auto-ci-cd-d45ccd3ee7d6 Role: ci-cd Action: claim Status: review Task title: Supply a verified private Codex app-server socket environment
This commit is contained in:
1 parent
865f1e7a72
commit
ace4f674d5
8 files changed
+133
-8
No files matched your search
@@ -65,6 +65,35 @@ Release только делает resolver готовым к проверяем
|
||||
|
||||
Журналы: `state/runs/<agent-id>/run.json`, `prompt.md`, `output.log`; хранить без secrets. Каждый report содержит task/role, exit/status, timeout/violation и результат, не включает private command environment.
|
||||
|
||||
## Вложенный sandbox: проверенный host context (S00-031)
|
||||
|
||||
На этом Linux host с Codex 0.159.0 `/tmp/codex-daemon-1000` имеет uid 1000,
|
||||
mode 0700; внутри workspace sandbox тот же путь виден с mode 000.
|
||||
Ошибка вложенного запуска `app-server socket directory must be a user-owned directory
|
||||
with mode 0700` сама по себе не доказывает неверные host permissions.
|
||||
|
||||
Проверенный способ: одобренный внешний host execution
|
||||
(`sandbox_permissions: require_escalated`) запускает **внутренний workspace-write sandbox**
|
||||
из корня проекта, с timeout 20 секунд:
|
||||
|
||||
```sh
|
||||
codex -c 'sandbox_mode="workspace-write"' -c sandbox_workspace_write.network_access=true sandbox -- python3 /tmp/luma-filesystem-sandbox-probe.py
|
||||
```
|
||||
|
||||
До запуска проверить host `stat`: directory, owner=current uid, mode 0700.
|
||||
Script содержит только synthetic project write/read/remove и exclusive-create вне
|
||||
проекта с обязательным отказом EROFS/EACCES/EPERM. Его полный текст и воспроизводимая
|
||||
команда сохранены в `state/evidence/S00-031-auto-ci-cd-d45ccd3ee7d6.md`;
|
||||
временный `/tmp` script нужно сначала прочитать или восстановить из evidence.
|
||||
Executor получил exit 0: project probe passed, outside write denied EROFS 30,
|
||||
outside file не создан. Ни модель, ни storage task не запускались.
|
||||
|
||||
Не менять socket permissions/mask, writable roots или environment location.
|
||||
Если approved host execution недоступен, выполнить blocker protocol.
|
||||
Результат относится к этому host/version и одной filesystem boundary; QA повторяет
|
||||
проверку независимо. Это не app readiness. Общие понятия:
|
||||
[официальная документация OpenAI](https://developers.openai.com/codex/security).
|
||||
|
||||
## Гарантии инструмента
|
||||
|
||||
Dependency/role guards, retired reporter, recovery journal definitions+state, fresh subprocess IDs, bounded prompts, separate reviewer, automatic unblocking only after done и stop на внешнем blocker. Истинность evidence/качество модели/OS sandbox обеспечиваются реальным harness и review, а не названием роли.
|
||||
|
||||
Reference in new issue
Block a user