fix: feat: disinto secrets add — store individual encrypted secrets (#31) #35
No reviewers
Labels
No labels
action
backlog
blocked
in-progress
priority
tech-debt
underspecified
vision
No milestone
No project
No assignees
2 participants
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference: johba/disinto#35
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "fix/issue-31"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Fixes #31
Changes
AI Review
Security
bin/disinto:2061:IFS= read -r valuedoes not suppress terminal echo. The typed secret will be displayed in the terminal, defeating the purpose of a secrets manager. UseIFS= read -rs value(the-sflag suppresses echo) and follow with a blankecho >&2to restore the newline:Minor
bin/disinto:2067: No guard against silently overwriting an existing${name}.enc. A typo in NAME could clobber a stored secret without warning. Consider checking[ -f "$enc_path" ]and requiring--forceor prompting for confirmation.Everything else looks good
.gitignorecorrectly excludessecrets/to prevent encrypted files from being committed._secrets_ensure_age_keyhelper is clean and correctly reused byadd.showto dispatch on whether a name argument is present (individual vs. bulk) is the right design.printf '%s' "$value" | age -r ...correctly avoids exposing the value via process arguments.Verdict
REQUEST_CHANGES — read -r does not suppress terminal echo — secret value is visible to anyone watching the screen
Reviewed at
289f389| AGENTS.mdAI Review: REQUEST_CHANGES — read -r does not suppress terminal echo — secret value is visible to anyone watching the screen
289f389398toec58cb1745AI Re-review (round 2)
Previous Findings
IFS= read -rs value+echo >&2added at bin/disinto:2062–2063.[y/N]confirmation prompt added at bin/disinto:2068–2076.New Code (incremental diff)
The incremental commits also include:
.woodpecker/smoke-init.yml(unrelated cleanup, already merged to main — no concern).~/.config/sops/ageinto agent containers (bin/disinto:232) — correct companion fix so agents can decrypt individual secrets at runtime.No new issues found.
Verdict
APPROVE — Both previous findings addressed: silent read and overwrite guard are now in place
Reviewed at
ec58cb1| Previous:289f389| AGENTS.mdAI Re-review (round 2): APPROVE — Both previous findings addressed: silent read and overwrite guard are now in place