Skip to main content

Scan repositories for potential usernames, passwords, tokens, and other secrets.

Project description

checsum

checsum scans your project for potential secrets before code is pushed to Git. It detects common patterns such as usernames, passwords, API tokens, private keys, and authorization headers, then generates a full HTML report with:

  • file name
  • exact location (line and column)
  • finding type
  • matched value (or preview)

Install

pip install checsum

For local development:

pip install -e .

Usage

Scan the current directory and create an HTML report:

checsum --path . --output checsum-report.html

Fail CI if possible secrets are found:

checsum --path . --fail-on-findings

Ignore additional globs:

checsum --path . --ignore "*.pem" --ignore "docs/*"

Example Output

The report includes:

  • scan timestamp
  • root path scanned
  • total files and findings
  • grouped breakdown by finding type
  • detailed table of each hit with path, line, column, severity, and extracted snippet

Use as a pre-push safety check

Create .git/hooks/pre-push:

#!/usr/bin/env bash
set -euo pipefail
checsum --path . --output checsum-report.html --fail-on-findings

Then make it executable:

chmod +x .git/hooks/pre-push

Build and publish to PyPI

python -m pip install --upgrade build twine
python -m build
python -m twine check dist/*
python -m twine upload dist/*

Before uploading, update:

  • project.urls in pyproject.toml
  • author metadata
  • version number

Notes

checsum is a heuristic scanner. It can produce false positives and should be used as an early warning signal, not a replacement for secret management best practices.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

checsum-0.1.0.tar.gz (7.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

checsum-0.1.0-py3-none-any.whl (7.6 kB view details)

Uploaded Python 3

File details

Details for the file checsum-0.1.0.tar.gz.

File metadata

  • Download URL: checsum-0.1.0.tar.gz
  • Upload date:
  • Size: 7.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.0

File hashes

Hashes for checsum-0.1.0.tar.gz
Algorithm Hash digest
SHA256 c9309fa58d7a30477b6674f7d2f5e9cc8353ebf58c2fb5b93acceffe94fae886
MD5 ebf0ac22da366803c7745c6a5ec98c02
BLAKE2b-256 5f9a3f317a8e8acb01050d11262ebdfcf30cb4e9cd15f0bad188f1d5ddac9e58

See more details on using hashes here.

File details

Details for the file checsum-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: checsum-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 7.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.0

File hashes

Hashes for checsum-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 11962270131e1ef0f9656e5a81560d0948ed7b4cc6e279859275e6de53e7f606
MD5 bb6e57490bff0d0ab8d427c23d097b62
BLAKE2b-256 edf181e050491b382452c37b8dbea8ad1595fc2c820706893ede5f0886af98b2

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page