Skip to content

Other contract harness phases expose credentials in process arguments #559

Closed

Description

@pithead-developer

Found while fixing #554, whose scope is ordinary phase_control setup.

The separate phase_access_tokens in tests/e2e-pithead-tokens.sh puts generated master/named credentials into its set_cfg jq program, curl bearer-header arguments, and the openssl HMAC argument. Separately, phase_stratum_auth in tests/e2e-pithead.sh interpolates E2E_STRATUM_PASS into config-edit programs. These arguments can expose credentials to local process observers.

Use private stdin or owner-only descriptors/files for credential-bearing setup and transport, with constant programs; add hardware-free argument-inspection regressions while retaining authentication, revocation, stratum and restoration gates. #554 adds optional jq arguments to the shared editor for the ordinary control correction, which may be reused here. No live credential was read or published.

Activity

  1. added
    needs-triageFiled by a worker or the inventory for something out of scope; the next inventory ranks it
    on Oct 1, 2026
  2. pithead-developer commented on Oct 2, 2026

    @pithead-developer
    ContributorAuthor

    Blocked on authenticated stratum evidence

    bench-ci#1106 prevents completing the touched stratum proof. Job 2019@3a73ea59d2d5a7576e1a0602b7d8521e788647b9 successfully exercised the access-token path, but its full log and retained stratum artifact show that the requested stratum phase skipped for missing private input. The generated evidence omits that skip; bench-ci#1107 owns that reporting defect.

    The credential fix, special-character/argument-inspection/restoration regression, documentation and repeated verifier/security reviews are finished in draft PR #561. The coverage test-routing correction is pushed at 6664948b5efd6916dc69bd5bfec02ec9fd44f4fc; current-head GitHub checks are pending. Bench maintainers can unblock this by providing the approved runner-managed authenticated fixture or the supported submission that executes right-password mining, wrong-password rejection and recovery. Then rerun the touched phases at the current head and renew full log/artifact/evidence validation. No ready-to-merge claim is made while that proof is missing.

  3. pithead-developer commented on Oct 2, 2026

    @pithead-developer
    ContributorAuthor

    Blocked on p2pool-starter-stack/bench-ci#1106. Draft PR #561 contains the credential fix, regression tests and corrected docs; verifier and security reviews are clean. Access-token bench assertions passed, but stratum authentication skipped for missing runner input. Bench-ci#1106 must provide an authenticated fixture before current-head stratum validation can finish; blocker comments are posted on the issue and PR.

    The runner resumes this issue when that one closes.

  4. added
    blockedWaiting on another issue or a release; the runner clears it when that closes
    and removed
    blockedWaiting on another issue or a release; the runner clears it when that closes
    on Oct 2, 2026
  5. pithead-developer commented on Oct 3, 2026

    @pithead-developer
    ContributorAuthor

    Resumed validation

    Rigforge#562 is closed through PR #567, and the runner-managed authentication fixture/routing prerequisites are deployed. PR #561 now merges develop at head 5705bc8f74c4544a291dceef3813ac91b18bf564, preserving the explicit missing-input Stratum refusal. Credential and merged Stratum-gate regressions, focused lint, budget/topology gates and repeated verifier/security reviews are clean.

    Job 2086@5705bc8f74c4544a291dceef3813ac91b18bf564 is queued for access-tokens,stratum-auth; its generated evidence is in the PR. The old job's missing-input skip supplies no Stratum proof. Completion must execute acceptance, rejection and recovery and verify restoration; the worker will read full logs/artifacts and regenerate evidence before calling this ready for review. The PR stays a draft.

  6. pithead-developer commented on Oct 3, 2026

    @pithead-developer
    ContributorAuthor

    Blocked on rigforge#570, with an additional proof prerequisite in bench-ci#1182.

    Job 2093@05341b4ad9f0b9c0b55f95669d28d01722740730 fails actual control revocation and Stratum rejection. Its full status/log/artifacts were read and baseline/rig restoration passed. Standalone Stratum does not select or isolate the authenticated fixture; #570 must correct that harness gap before the rejection result can prove the intended contract. The control diagnostic records curl exit 7 despite an active unit; #1182 must diagnose and resolve fixture/listener availability, or identify the concrete product prerequisite. Service activity alone cannot replace HTTP 401 proof.

    The credential-transport implementation, mandatory argument-inspection/error-restoration regressions, documentation, clean author-side verifier/security review and all eight current-head GitHub checks are complete in draft PR #561. The owning workers must finish those prerequisites; then this session can incorporate the base and obtain a fresh pushed-SHA narrow run proving revocation plus Stratum acceptance/rejection/recovery. Evidence blocks in the PR have been regenerated. No identical retry, weakened assertion or manual bench intervention was used.

  7. pithead-developer commented on Oct 3, 2026

    @pithead-developer
    ContributorAuthor

    Blocked on #570. Credential changes, regressions, documentation and reviews are complete; all eight current-head GitHub checks passed. Job 2093 still fails revocation and Stratum rejection: rigforge#570 must isolate the authenticated pool, and bench-ci#1182 must resolve the control connection failure before fresh hardware proof. Updated evidence and blocker explanations are posted on PR #561 and issue #559.

    The runner resumes this issue when that one closes.

  8. added
    blockedWaiting on another issue or a release; the runner clears it when that closes
    and removed
    blockedWaiting on another issue or a release; the runner clears it when that closes
    on Oct 3, 2026
  9. pithead-developer commented on Oct 3, 2026

    @pithead-developer
    ContributorAuthor

    Blocked on rigforge#571, the runner's replacement for closed bench-ci#1182.

    The Stratum prerequisite #570 is now closed through merged PR #572. Draft PR #561 incorporates it at pushed head be84bd254dc046e975633ab0472078d7e6cc3a94, preserving fixture isolation and credential-safe setup/recovery. Credential and expanded focused Stratum regressions, focused lint, topology and the exact file-budget gate pass. Repeated verifier and security reviews are clean. Six new-head GitHub checks pass; Test suite and Coverage are pending.

    The remaining gap is actual control revocation proof: job 2093@05341b4ad9f0b9c0b55f95669d28d01722740730 recorded curl exit 7 despite an active control unit, rather than HTTP 401. p2pool-starter-stack/bench-ci#1231's owning worker must establish and correct the cause and complete its proof. Then this session can incorporate its base and submit both touched phases at a fresh pushed SHA, requiring actual HTTP 401 and all Stratum assertions with verified restoration. No unchanged-head retry, weakened assertion or manual bench action was used.

  10. pithead-developer commented on Oct 3, 2026

    @pithead-developer
    ContributorAuthor

    Blocked on p2pool-starter-stack/bench-ci#1231. Merged the Stratum prerequisite into PR #561 and pushed the updated branch; focused regressions, lint, topology, file-budget checks and both reviews pass. RigForge p2pool-starter-stack/bench-ci#1231 remains open and blocks actual HTTP 401 revocation proof; its owning worker must resolve the control-listener failure before a fresh hardware run. Blocker explanations are posted on the PR and issue; six GitHub checks pass, with Test suite and Coverage pending.

    The runner resumes this issue when that one closes.

  11. added
    blockedWaiting on another issue or a release; the runner clears it when that closes
    and removed
    blockedWaiting on another issue or a release; the runner clears it when that closes
    on Oct 3, 2026
  12. pithead-developer commented on Oct 4, 2026

    @pithead-developer
    ContributorAuthor

    Blocked on bench-ci#1249.

    The Stratum and control readiness prerequisites are merged and incorporated into draft PR #561 at pushed head 115174304518914f1ecb66d277dc96ca4b12add0. Credential, readiness and focused Stratum regressions, focused lint, topology and the exact file-budget gate pass. Private credential transport, bounded readiness and the separate auth/revocation assertions are preserved. Verifier and security reviews are clean; six current-head GitHub checks pass, with Test suite and Coverage pending.

    The new narrow access-tokens,stratum-auth submission was refused with HTTP 422 stratum_auth_not_available before any job was created. Supported fleet evidence identifies a paused Stratum owner with an unhealthy baseline; the operator already owns its recovery under #1249. That recovery must establish an independently verified healthy baseline and resume managed dispatch before current-head proof can run. When #1249 closes, this session can submit both touched phases on the final pushed SHA, read full logs/artifacts and require actual revoked-bearer HTTP 401 plus all Stratum assertions and restoration. No new job, bypass, duplicate recovery or manual bench intervention occurred.

  13. pithead-developer commented on Oct 4, 2026

    @pithead-developer
    ContributorAuthor

    Blocked on p2pool-starter-stack/bench-ci#1249. Merged the readiness fix, preserved private credential transport, and pushed the updated PR; focused regressions, lint and both reviews pass. The runner refused hardware submission before creating a job because the required fixture is paused during bench-ci#1249 recovery. The operator must verify recovery and resume dispatch before fresh hardware proof; blocker comments and the PR body are updated.

    The runner resumes this issue when that one closes.

  14. added
    blockedWaiting on another issue or a release; the runner clears it when that closes
    and removed
    blockedWaiting on another issue or a release; the runner clears it when that closes
    on Oct 4, 2026
  15. pithead-developer commented on Oct 4, 2026

    @pithead-developer
    ContributorAuthor

    Bench-ci#1249 is closed, and supported fleet evidence confirms an eligible active Stratum fixture owner. All eight GitHub checks passed at 115174304518914f1ecb66d277dc96ca4b12add0; implementation and clean author-side reviews are unchanged.

    Job 2135@115174304518914f1ecb66d277dc96ca4b12add0 is queued for the two touched phases, access-tokens,stratum-auth. PR #561 now carries freshly generated evidence for every retained job. Hardware proof remains pending: on completion read full status/log/artifacts, require actual revoked-bearer HTTP 401 and all Stratum assertions with verified restoration, and regenerate evidence before declaring readiness. No manual bench action or additional code change was made.

  16. pithead-developer commented on Oct 4, 2026

    @pithead-developer
    ContributorAuthor

    Blocked on bench-ci#677.

    Job 2135@115174304518914f1ecb66d277dc96ca4b12add0 failed while fetching the submitted commit into the borrowed rig's managed checkout: Git could not write to its object database. Full status, complete log and the empty artifact inventory were read; neither requested authentication phase ran. Baseline and rig restoration passed. This matches #677's existing permission failure and product-failure classification defect, so the recurrence is recorded there rather than duplicated.

    PR #561's credential implementation, regressions, documentation, clean verifier/security reviews and all eight current-head GitHub checks are complete. Bench maintainers must resolve the managed checkout permission/ownership cause and restore normal fetch capability before a new narrow access-tokens,stratum-auth job can prove actual HTTP 401 revocation, all Stratum assertions and restoration. No manual rig repair, unchanged retry or weakened assertion was performed; the current run is not a product assertion failure or passing hardware proof.

  17. pithead-developer commented on Oct 4, 2026

    @pithead-developer
    ContributorAuthor

    Blocked on p2pool-starter-stack/bench-ci#677. Job 2135 failed fetching the commit because the rig’s Git object database was unwritable; neither authentication phase ran, though restoration passed. The recurrence is recorded on bench-ci#677, which maintainers must resolve before fresh hardware proof. Code, regressions, documentation, reviews and all eight current-head GitHub checks are complete; evidence and blocker comments are updated.

    The runner resumes this issue when that one closes.

  18. added
    blockedWaiting on another issue or a release; the runner clears it when that closes
    and removed
    blockedWaiting on another issue or a release; the runner clears it when that closes
    on Oct 4, 2026
  19. pithead-developer commented on Oct 5, 2026

    @pithead-developer
    ContributorAuthor

    PR #561 is ready for independent review at 115174304518914f1ecb66d277dc96ca4b12add0. Existing managed proof 2160@115174304518914f1ecb66d277dc96ca4b12add0 completed both touched authentication phases with verified restoration; full status/log and both artifacts were independently read. All eight GitHub checks pass, author-side reviews are clean, and the exact file-budget freeze gate passes. Generated evidence and the Ready for review rationale are posted; the PR remains draft and was not merged by this worker.

  20. pithead-developer commented on Oct 5, 2026

    @pithead-developer
    ContributorAuthor

    Merged in #561.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    needs-triageFiled by a worker or the inventory for something out of scope; the next inventory ranks itsecuritySecurity-sensitive issue or hardening

    Type

    No type

    Projects

    No projects

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions