Skip to content

docs: Define trusted-computer boundary - #59

Open
BenWestgate wants to merge 1 commit into
reviewability-v1from
codex/4-security-boundary-docs
Open

BenWestgate wants to merge 1 commit into
reviewability-v1from
codex/4-security-boundary-docs

Conversation

@BenWestgate

Copy link
Copy Markdown
Owner

What

  • define the trusted-computer boundary consistently in the security model, SECURITY.md, invariants, and user guide;
  • make invariant 6 distinguish accidental disclosure from commands whose purpose is to display recovery/export material;
  • warn that shell command text can be retained even when prompted or redirected stdin keeps secrets out of argv;
  • update the shared CLI safety footer and its exact-help regression.

Why

The current invariant literally says secrets stay out of ordinary output even though create, secret, share, correct, and xprv intentionally display secret-bearing material. The documentation also uses “trusted computer” without one operational definition. This makes the normative contract literal without changing any secret-handling channel.

Validation

  • tests/test_generic_hrp.py::test_cli_split_and_unknown_neutral_summary — pass
  • Ruff check and format — pass
  • strict mypy for _cli_parser.py — pass
  • git diff --check — pass

The full test_generic_hrp.py module still reaches the pre-existing bip32 test-oracle dependency missing from .[dev]; that base defect is #3/#6 and is fixed by #7. No assertion was weakened or skipped here.

Fixes #4.

Disclosure: AI tools were used while implementing and checking this user-requested branch-to-branch contribution.

Make the secret-output invariant literal about intentional recovery/export output, define the trusted-computer boundary consistently, and warn that shell command text can be retained even when stdin is safe from argv exposure.

Update the shared CLI safety footer and its exact-help regression.

Validation: focused help regression; Ruff check/format; strict mypy for the parser; git diff --check. The full generic-HRP module still reaches the pre-existing bip32 test dependency tracked by #3/#6 and fixed by #7.

fixes #4
@chatgpt-codex-connector

Copy link
Copy Markdown

You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard.
To continue using code reviews, you can upgrade your account or add credits to your account and enable them for code reviews in your settings.

@BenWestgate BenWestgate added area: cli Command-line interface behavior. area: security Security invariants, hardening, and security-sensitive boundaries. documentation Improvements or additions to documentation gate: adversarial review Resolve, merge, or explicitly defer before the next full adversarial review. labels Sep 25, 2026

@BenWestgate BenWestgate left a comment

Copy link
Copy Markdown
Owner Author

Choose a reason for hiding this comment

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

AI-generated review (Claude), posted at the maintainer's request.

ACK b06aedb, nits only.

  • Invariant 6 now matches what create/secret/share/correct/xprv actually do.
  • Nit: the trusted-computer definition is written out three times (SECURITY.md, model.md, guide.md). Consider one definition in model.md and links elsewhere so they can't drift.

"Enter it when prompted. Some commands also accept piped input.",
epilog="Never put a secret or share in command arguments or shell command text.\n"
"Enter it when prompted; some commands also accept redirected standard input.\n"
"Protect redirected sources separately: shells, terminals, and wrappers may retain text.",

Copy link
Copy Markdown
Owner Author

Choose a reason for hiding this comment

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

Nit: this renders at 87 columns, the only --help line over 80; the guide assumes an 80-column terminal. The reason clause also describes shell command text more than redirected sources. Maybe: "Protect redirected files; shells and terminals may keep text."

This branch has not been deployed

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

Labels

area: cli Command-line interface behavior. area: security Security invariants, hardening, and security-sensitive boundaries. documentation Improvements or additions to documentation gate: adversarial review Resolve, merge, or explicitly defer before the next full adversarial review.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant