Skip to content

regression: password via RO bind-mount at /run/secrets/db_password (not masked putArchive) - #9

Merged
ChuTingzj merged 1 commit into
mainfrom
cursor/password-tmpfs-regression-0e2d
Sep 21, 2026
Merged

ChuTingzj merged 1 commit into
mainfrom
cursor/password-tmpfs-regression-0e2d

Conversation

@ChuTingzj

@ChuTingzj ChuTingzj commented Sep 21, 2026 •

Copy link
Copy Markdown
Contributor

Rebased onto latest main after #8 squash-merge (fixes #7). Regression locks so tmpfs-masked putArchive delivery cannot return.

Asserted

  1. RO bind-mount of a host temp file at /run/secrets/db_password
    • onCreate snapshots the bind Source as a file whose contents are the password
    • HostConfig.Mounts is Type: bind, ReadOnly: true, target /run/secrets/db_password
    • no putArchive and no tmpfs covering /run/secrets
  2. Password never in Env — create/start Env has no DB_PASS / PGPASSWORD / MYSQL_PWD / PASSWORD, and inspect JSON does not contain the secret
  3. Fail closed — readPassword throws on missing or empty secret even when payload.password is present. Message is the post-fix: bind-mount DB password so the runner can read it #8 bind-mounted text (Database password missing (expected bind-mounted secret at /run/secrets/db_password)), not “tmpfs”. secrets.js / execute.js do not read payload.password.

How to run

pnpm test
pnpm typecheck

Local: 53 tests, all passing. No version tag.

Open in Web Open in Cursor 

@ChuTingzj ChuTingzj left a comment

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Verdict

Solid regression stack on #8. Locks RO bind file at /run/secrets/db_password, forbids putArchive+tmpfs cover, Env/start opts scrubbed, empty+missing secret fail-closed with no payload.password fallback. Empty-file reject in secrets.js is a good tighten.

Finding

Should-fix (with #8 nit): new empty-secret test asserts /tmpfs secret file/, which locks the stale wording. Update the throw text (drop "tmpfs") and the regex in the same change — don’t merge the lock of the wrong noun.

Merge after #8. No threat-model hole.

@ChuTingzj
ChuTingzj changed the base branch from cursor/password-tmpfs-putarchive-d05f to main September 21, 2026 04:04

@cursor cursor Bot left a comment •

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Stale comment

Left a non-blocking comment: Cursor Bugbot was present but completed as skipped, so this PR is not approved. Human review is needed. Reviewers were not assigned because no eligible non-author reviewers were available.

Open in Web View Automation 

Sent by Cursor Approval Agent: Pull Request Router and Approver

Assert host-file RO bind at /run/secrets/db_password with no Env
password and no putArchive. Fail-closed missing/empty secrets use the
bind-mounted error text (not tmpfs).

Co-authored-by: zhangjing <zhangjing798@qq.com>
@cursor
cursor Bot force-pushed the cursor/password-tmpfs-regression-0e2d branch from e555264 to 05aa6b6 Compare September 21, 2026 04:08

@ChuTingzj ChuTingzj left a comment

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Re-scan (05aa6b6)

Should-fix cleared. Empty/missing secret asserts use post-#8 bind-mounted message; explicit doesNotMatch(/tmpfs/i). RO bind file / no putArchive / no Env still locked. Empty-file fail-closed in secrets.js is fine.

No must-fix. OK to merge then tag v0.1.3.

@cursor cursor Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Approved: Cursor Bugbot completed successfully on this head and left no findings that need human review. Reviewers were not assigned.

Open in Web View Automation 

Sent by Cursor Approval Agent: Pull Request Router and Approver

@ChuTingzj
ChuTingzj merged commit 390e5bc into main Sep 21, 2026
4 checks passed
@ChuTingzj ChuTingzj mentioned this pull request Sep 21, 2026
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.

Bug: password file invisible under /run/secrets tmpfs (putArchive)

2 participants