This is the record of an abcd-managed repository

abcdBetav0.16.2 · 2026-11-06

Development record

The launch payload's `local_username` identity rule takes the username from the last segment of HOME and hard-fails every case-insensitive occurrence of it in the payload. On a machine whose account name is an ordinary word that is also product vocabulary (an account named with the same three-letter word as the `ahoy install` track-latest flag and the "-shim" install mode it names, which appears in commands/ahoy.md, commands/update.md, commands/launch.md and docs/reference/cli/commands.md), `TestPayloadTreeImplementationsResolveIdentically` and `TestRenderPayloadLeavesSourceTreeUnversioned` fail on a pristine main (9 hard-fail findings at e6efe28f), and with them `make preflight` and the pre-push hook, so the v0.6.8 release branch could not be pushed from that machine until HOME was pointed at a symlink alias of the real home directory for the push. CI, which runs under a different account name, passes.

issuewontfixminoriss-2608291444328326

The launch payload's local_username identity rule takes the username from the last segment of HOME and hard-fails every case-insensitive occurrence of it in the payload. On a machine whose account name is an ordinary word that is also product vocabulary (an account named with the same three-letter word as the ahoy install track-latest flag and the "-shim" install mode it names, which appears in commands/ahoy.md, commands/update.md, commands/launch.md and docs/reference/cli/commands.md), TestPayloadTreeImplementationsResolveIdentically and TestRenderPayloadLeavesSourceTreeUnversioned fail on a pristine main (9 hard-fail findings at e6efe28f), and with them make preflight and the pre-push hook, so the v0.6.8 release branch could not be pushed from that machine until HOME was pointed at a symlink alias of the real home directory for the push. CI, which runs under a different account name, passes.

The rule needs a notion of a username that is too common or too short to be identifying (a dictionary or length floor, or an explicit allowlist in the scanner config), and the finding should say which identity source matched, so a maintainer can tell a collision from a leak. The capture redactor has the same collision: it blanked the flag name out of this record's first draft.

Grounds

  • declined: the finding is carried whole by iss-236; this would be wrong if iss-236 were closed without answering it

Frontmatter

idiss-2608291444328326
typeissue
lifecyclewontfix
severityminor

mentions5