You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Shell commands are stored and logged with only pattern-based redaction #825
Full shell command text is persisted and logged with only pattern-based redaction.
bash_background/registry.rs logs cmd= (first 200 chars) at INFO for background tasks.
aft.db keeps the full command in bash_tasks.command (longest here 9,579 chars) and in compression_events.command (~14K rows over 9 days, longest 15,794 chars). compression_events isn't covered by the retention items in Bash-task storage and log hygiene (several small items) #759.
log_redact.rs covers headers, sk- keys, ghp_ tokens, JWTs, AKIA keys, URL userinfo and query tokens. It doesn't cover generic FOO_TOKEN=value / API_KEY=value, --password x / -p x, or values in export X="…".
Locally the logs contain commands like gcloud secrets versions access … and export AWS_…="$(gcloud secrets …)" (names and project ids, no secret values in our case). A command typed with an inline credential would persist in the log indefinitely and in the DB for the retention window. Files are mode 0600 in a 0700 directory, which limits exposure to the local user.
Suggestions: store/log a redacted form only (or a hash plus the first word for compression stats); extend redaction to NAME=value where NAME matches *TOKEN*|*SECRET*|*PASSWORD*|*KEY*, common --password/--token flags, and export assignments; apply retention to compression_events.command.
Activity
mason: mask bare secret names and whole shell-word values in logged c…
mason: check every curl user option in a logged command (#825)
mason: end logged curl and mysql commands only at unquoted operators (#…
mason: read logged commands as shell words to find tool passwords (#825)
mason: fuzz the command redactor and bound its scan to linear work (#825
mason: keep the command scan advancing on every whitespace byte (#825)
mason: keep the outer command's state across substitutions (#825)
mason: mask what the command scan cannot reach instead of logging it (#…
mason: failing-first repros for command redaction and bash output fol…
mason: stop storing command text with compression events (cortexkit#825)
mason: mask inline credentials in logged bash commands (cortexkit#825)