Skip to content

fix: use mktemp for health-check temp file instead of world-readable /tmp (PILOT-153)#3

Open
matthew-pilot wants to merge 1 commit into
mainfrom
openclaw/pilot-153-20260528-080504
Open

fix: use mktemp for health-check temp file instead of world-readable /tmp (PILOT-153)#3
matthew-pilot wants to merge 1 commit into
mainfrom
openclaw/pilot-153-20260528-080504

Conversation

@matthew-pilot
Copy link
Copy Markdown
Collaborator

Summary

Fixes PILOT-153: deploy-rendezvous.sh health-check wrote sensitive data to /tmp/health-response.json with default mode 0644 (world-readable on Linux).

Root Cause

The health_check() function used a hardcoded path /tmp/health-response.json for curl output. On Linux, /tmp is world-accessible and the file was created with default umask (0644), exposing node counts, trust statistics, and peer addresses to other local users during the deploy window.

Fix

Replace the static /tmp/health-response.json path with mktemp -t pilot-health.XXXXXX, which creates the file with mode 0600 by default. All 4 references updated (curl output, 2× jq reads, 2× cleanup rm).

Changes

  • scripts/deploy-rendezvous.sh — 1 file, +6/-5 lines

Verification

  • go build ./...
  • go test ./... ✅ (14/14 packages pass)

Cc: PILOT-153

…/tmp (PILOT-153)

Replace hardcoded /tmp/health-response.json (mode 0666 by default on Linux)
with mktemp -t pilot-health.XXXXXX (mode 0600 by default). Prevents
information disclosure of node counts, trust statistics, and peer
addresses during the deploy health-check window on shared hosts.
@codecov
Copy link
Copy Markdown

codecov Bot commented May 28, 2026

Codecov Report

✅ All modified and coverable lines are covered by tests.

📢 Thoughts on this report? Let us know!

@matthew-pilot
Copy link
Copy Markdown
Collaborator Author

@matthew-pilot matthew-pilot added the canary-passed Canary harness passed label May 28, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

canary-passed Canary harness passed

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant