# Secrets Finder
A lightweight tool to detect hardcoded secrets and PII in source code using pattern-based detection.
## Features
- Detects API keys, tokens, passwords, emails, credit cards, and more
- Customizable detection patterns
- Multiple output formats (console, JSON, HTML, PDF)
- Multi-threaded scanning for performance
- Git integration with diff-based scanning
## Installation
```bash
pip install secrets-finder
```
## Quick Start
```bash
# Scan current directory
secrets-finder scan .
# Scan specific directory
secrets-finder scan /path/to/repo
# Scan only changed files (git diff)
secrets-finder scan . --diff-only
# Output as JSON
secrets-finder scan . --output json
# See all options
secrets-finder --help
```
## Configuration
Create `.secret-scanner.yaml` in your project root:
```yaml
patterns:
- name: "Custom API Key"
regex: "my_api_key_[a-zA-Z0-9]{32}"
severity: "high"
exclude:
- "*.log"
- "node_modules/"
- "vendor/"
max_file_size: 10485760 # 10MB
max_workers: 8
```
## Usage Examples
```bash
# Scan specific file types
secrets-finder scan . --files "*.py,*.js"
# Generate HTML report
secrets-finder scan . --output html
# Multi-threaded scan
secrets-finder scan . --max-workers 8 --verbose
# Install pre-commit hook
secrets-finder install-hook
```
## License
MIT License
Raw data
{
"_id": null,
"home_page": null,
"name": "secrets-finder",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.7",
"maintainer_email": "Saravanan Sathiyamoorthi <saravanansaro976@gmail.com>",
"keywords": "security, secrets, pii, detection, scanning, git, pre-commit, ci-cd, static-analysis, code-review",
"author": null,
"author_email": "Saravanan Sathiyamoorthi <saravanansaro976@gmail.com>",
"download_url": "https://files.pythonhosted.org/packages/86/9f/e0e9b660febd5eab57eb1468830cdc5dbc2b29d5d6e5582d1e98b2f9e2ef/secrets_finder-1.0.0.tar.gz",
"platform": null,
"description": "# Secrets Finder\n\nA lightweight tool to detect hardcoded secrets and PII in source code using pattern-based detection.\n\n## Features\n- Detects API keys, tokens, passwords, emails, credit cards, and more\n- Customizable detection patterns\n- Multiple output formats (console, JSON, HTML, PDF)\n- Multi-threaded scanning for performance\n- Git integration with diff-based scanning\n\n## Installation\n\n```bash\npip install secrets-finder\n```\n\n## Quick Start\n\n```bash\n# Scan current directory\nsecrets-finder scan .\n\n# Scan specific directory\nsecrets-finder scan /path/to/repo\n\n# Scan only changed files (git diff)\nsecrets-finder scan . --diff-only\n\n# Output as JSON\nsecrets-finder scan . --output json\n\n# See all options\nsecrets-finder --help\n```\n\n## Configuration\n\nCreate `.secret-scanner.yaml` in your project root:\n\n```yaml\npatterns:\n - name: \"Custom API Key\"\n regex: \"my_api_key_[a-zA-Z0-9]{32}\"\n severity: \"high\"\n\nexclude:\n - \"*.log\"\n - \"node_modules/\"\n - \"vendor/\"\n\nmax_file_size: 10485760 # 10MB\nmax_workers: 8\n```\n\n## Usage Examples\n\n```bash\n# Scan specific file types\nsecrets-finder scan . --files \"*.py,*.js\"\n\n# Generate HTML report\nsecrets-finder scan . --output html\n\n# Multi-threaded scan\nsecrets-finder scan . --max-workers 8 --verbose\n\n# Install pre-commit hook\nsecrets-finder install-hook\n```\n\n## License\n\nMIT License\n",
"bugtrack_url": null,
"license": "MIT",
"summary": "A lightweight, extensible tool to automatically scan source code for hardcoded secrets and PII",
"version": "1.0.0",
"project_urls": {
"Homepage": "https://gitlab.com/ox-saro/SecretDetection"
},
"split_keywords": [
"security",
" secrets",
" pii",
" detection",
" scanning",
" git",
" pre-commit",
" ci-cd",
" static-analysis",
" code-review"
],
"urls": [
{
"comment_text": null,
"digests": {
"blake2b_256": "4254f60472fa1627b9389d5e3cb7c00cc1ac84c1b3903ab3adc7b829bfa45a60",
"md5": "c00f1e79fdef5e3b2453b87828132072",
"sha256": "1af448e2219e77357a4593712992f4a9842c25a16d7903b3cfd4ef3f51914f1d"
},
"downloads": -1,
"filename": "secrets_finder-1.0.0-py3-none-any.whl",
"has_sig": false,
"md5_digest": "c00f1e79fdef5e3b2453b87828132072",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.7",
"size": 52267,
"upload_time": "2025-07-10T09:51:00",
"upload_time_iso_8601": "2025-07-10T09:51:00.530034Z",
"url": "https://files.pythonhosted.org/packages/42/54/f60472fa1627b9389d5e3cb7c00cc1ac84c1b3903ab3adc7b829bfa45a60/secrets_finder-1.0.0-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "869fe0e9b660febd5eab57eb1468830cdc5dbc2b29d5d6e5582d1e98b2f9e2ef",
"md5": "e9607405d90b15e4238e23bdab809ca4",
"sha256": "6f3a90929e99aadbfd7d84228427fb4cce0c63aae080699126016745fe09aab3"
},
"downloads": -1,
"filename": "secrets_finder-1.0.0.tar.gz",
"has_sig": false,
"md5_digest": "e9607405d90b15e4238e23bdab809ca4",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.7",
"size": 47301,
"upload_time": "2025-07-10T09:51:02",
"upload_time_iso_8601": "2025-07-10T09:51:02.900246Z",
"url": "https://files.pythonhosted.org/packages/86/9f/e0e9b660febd5eab57eb1468830cdc5dbc2b29d5d6e5582d1e98b2f9e2ef/secrets_finder-1.0.0.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-07-10 09:51:02",
"github": false,
"gitlab": true,
"bitbucket": false,
"codeberg": false,
"gitlab_user": "ox-saro",
"gitlab_project": "SecretDetection",
"lcname": "secrets-finder"
}