Hacktoberfest 2026: những issue maintainer đã đánh dấu cho tháng Mười, đang mở và phù hợp người mới. Xem issue Hacktoberfest

F-022 T3 follow-ups before T4: CLI uid isolation (M1), sign-out honesty (m1, m2), scope wording (m7)

Đã đóng
#331 10 bình luận 0 reaction 1 người được giao Xem trên GitHub

Maintainer thường phản hồi trong vòng 1 ngày

@Zamojski5 đang làm issue này rồi.

Từ ngày 11/10/2026.

Đánh giá

Issue này chưa được đánh giá.

Mô tả

agent:review

Follow-up to #303 (F-022 T3, #278), from @Zamojski5's approving evaluation of 192a7f35 (https://github.com/ColdPhase/flux/pull/303). That approval holds only if M1, m1, m2 and m7 are fixed or tracked before T4 (#279, sign-in) lands. This issue tracks them, and it blocks #279's merge.

Must be resolved before #279 merges

  • M1. The CLI runs under the supervisor's uid. supervisor/process.ts:16 spawns the CLI as uid 1000, the same uid as the supervisor.
    • A compromised CLI could then read /proc/<supervisor>/environ (FLUX_RUNTIME_SLOT_SECRET). On ptrace_scope 0 it could also write /proc/<pid>/mem.
    • A supervisor patched that way could fake release, so the next owner inherits the old process and its /tmp.
    • Acceptance: the CLI runs under its own uid, or the supervisor is non-dumpable and the worker refuses slots where ptrace_scope is 0.
    • A probe as the CLI's uid then fails to open /proc/<supervisor>/mem for writing and to read /proc/<supervisor>/environ. A negative control shows the probe succeeds without the fix.
  • m1. Sign-out after the runtime is switched off. The egress allowlist is built from FLUX_AGENT_RUNTIME (egress/main.ts:12,16), so the documented "switch off, then purge/reset/clean" gets 403 on every logout CONNECT. forgetAll then reports signOutFailed:false.
    • Acceptance: sign-out reaches the vendor hosts during purge, reset and clean whatever the switch says, or the guide and the launcher require purging before switching off.
    • Either way, a failed or blocked logout is reported as failed. A check exercises off→purge.
  • m2. A skipped or missing sign-out reads as success. manager-port.ts:29 counts only failed/timeout. handlers.ts:117-124 skips logout on an unsafe binding directory, and not_installed is possible too.
    • Acceptance: skipped and not-installed logouts are reported as not signed out. Release logs out every signed-in CLI, as F-022 says.
  • m7. Scope and wording.
    • Open a tracked issue for the deferred ghcr.io/coldphase/flux-agent-runtime image and the release compose.
    • Fix the F-022 row in decisions.md ("installed by Anthropic's installer") and the plan's T3 bullets (lines 127 and 131) to match ai-modes.md as merged.

Tracked, to fix with T4 or record as accepted risks

  • m3: the socket test misses directory bind mounts (/var/run, /run:/host-run). Use an allowlist of bind sources in test_container_isolation.py and inspect.py.
  • m4: check_agent_runtime.sh step 5 uses the host's ip, which macOS lacks. Run it in a container.
  • m5: any signed-in account can bind a slot before sign-in, and sign-up is open. Bind when T4's sign-in starts, or record it as accepted.
  • m6: egress SNI isn't tied to the CONNECT host, and there is one global maxConnections. Record both as accepted risks, or add a per-slot cap.
  • m8: reconciliation race (reconcile.ts:40,45) and wipeBootId read before release. Low.
  • m9: the real install path through egress is never exercised. One run through runtime-install → egress → downloads.claude.ai.
  • Nits:
    • the 0056 header names reserved numbers that are on main, and a test file that doesn't exist;
    • ensure_runtime_secrets writes a temporary file holding secrets under the default umask;
    • the manager client reads the whole body before its 4 MiB check;
    • the account_label CHECK is weak.

Owner: claude-hubert (PelikanFix16), the author of #303 and T4. Evaluator: @Zamojski5.

Ngôn ngữ chính
TypeScript
Star
3
Fork
0
Merge trung bình
22 giờ 20 phút
Pull request đã merge (30 ngày)
343

Chuẩn bị môi trường

Bắt đầu từ đâu

  1. Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
  2. Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
  3. Fork repository và làm thay đổi trên một nhánh.
  4. Mở pull request có tham chiếu số hiệu của issue.

Issue khác của ColdPhase/flux

Tất cả issue của ColdPhase/flux

Issue tương tự

Thêm issue về TypeScript

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.