Skip to content

Security: mk24x7/histclean

Security

SECURITY.md

Security Policy

Supported versions

Only the latest release of Histclean (app and CLI) receives security fixes.

Reporting a vulnerability

Please report vulnerabilities privately through GitHub private vulnerability reporting: open the repository's Security tab and choose "Report a vulnerability" (https://github.com/mk24x7/histclean/security/advisories/new).

Do not open a public issue for security problems.

Include the Histclean version, macOS version, whether you used the app or the CLI, and the smallest input that reproduces the problem, built from fake values.

You should receive an acknowledgement within 7 days. Once a fix is released the advisory will be published and you will be credited unless you ask otherwise.

Reporting a detector gap without leaking the secret

If Histclean missed a secret in your history, that is worth reporting, but the report itself must not become the leak.

  1. Rotate the secret first. Assume anything that sat in a history file is exposed.
  2. Never send the real value, not even a revoked one, and not in a private advisory. Build a fake example with the same shape instead: same prefix, same length, same character set, same surrounding command. For example, a missed token abc_9fK2... of 40 characters becomes abc_ followed by 36 x or EXAMPLE0example0... of the same length.
  3. Check the fake example still reproduces the miss: printf '%s\n' 'your fake command' | histclean --stdin
  4. If the provider's format is public and the gap is not sensitive, open a detector request. If the gap could help an attacker (for example a whole class of credentials that is silently skipped, or a way to make Histclean skip a secret on purpose), report it privately through the Security tab as described above.

Scope

Histclean rewrites history files and handles secrets. In scope:

  • Any way Histclean could change bytes outside the selected secrets or entries, corrupt a history file, or lose lines appended by a shell during a redaction.
  • Any way a secret value could be written somewhere new: the redaction log, CLI or JSON output beyond the documented masked preview, crash output or temporary files left behind.
  • Following symbolic links or races that let Histclean write to a file other than the one that was scanned.
  • Backups created with permissions wider than 0600, or a redacted file whose permissions widen.
  • Any network access at all. Histclean must never use the network.
  • Systematic false negatives for a documented detector.

Out of scope: secrets that remain in copies Histclean does not manage (Time Machine, synced dotfiles, terminal scrollback, --backup copies, in-memory shell history), which are documented limitations.

There aren't any published security advisories