Skip to content

Security: mars-rift/openrates

Security

SECURITY.md

Security guidance

  • If you find or suspect a secret in your repo history, rotate it immediately (e.g., revoke and re-create the API key).
  • To remove secrets from git history you can use git filter-repo or the BFG Repo-Cleaner. This rewrites history and requires a force push to remote.

Recommended steps to remove a leaked API key (manual confirmation required before running):

  1. Rotate the compromised key in the provider's console.

  2. Run one of the tools locally to remove the secret from history, e.g.:

  3. Force-push the cleaned branches to the remote: git push --force --all and git push --force --tags.

  4. Inform collaborators so they can re-clone or rebase onto the rewritten history.

Update (2025-12-22): I found a leaked API key in commit 3b4dc82. I created a cleaned mirror at ../openrates-clean where the key has been removed from history using git-filter-repo.

Action required from you (recommended):

  • Rotate the compromised key immediately in the provider console.
  • Confirm whether you'd like me to force-push the cleaned history to the remote repository (this will rewrite the remote history and requires collaborators to re-clone/rebase).

I proceeded with the cleanup and force-pushed the cleaned history for master to the remote (the old history is preserved in branch pre-purge-backup and also in backup-before-secret-purge-20251222).

Note: one branch, API, was not updated because GitHub rejected the push due to an email-privacy protection on a commit in that branch. To update that branch I can either:

  • Re-run the history rewrite for only that branch after adjusting the filter parameters, or
  • You can make your email public or temporarily disable the email privacy restriction in GitHub settings so I can push the rewritten branch.

Please confirm how you'd like to proceed with the API branch. Also, rotate the compromised API key immediately if you haven't already.

Update (2025-12-22): The backup branches pre-purge-backup and backup-before-secret-purge-20251222 were deleted from the remote and removed locally after we confirmed the remote is clean. The cleaned history remains on master and API branches. If you want, I can also delete the repository mirror clones (openrates-clean, openrates-verify) I created during cleanup.

There aren’t any published security advisories