Prevent secrets, insecure configs, and unsafe AI-generated code from ever reaching your Git repository. Secure Push is designed for developers and teams using AI-assisted coding tools who want security guarantees without slowing down development.
![Test Coverage]
![GitHub Actions Status]
Modern developers increasingly rely on AI coding tools to move fast, but speed often comes at the cost of security. AI-generated code frequently includes hardcoded secrets, insecure defaults, or missing authentication checks that slip past reviews. This problem affects individual developers, startups, and large teams shipping code quickly under pressure.
Secure Push is a security gate for your codebase that runs before code is committed and again in CI.
Secure Push scans for:
- Hardcoded secrets (API keys, tokens, passwords)
.envand environment configuration leaks- Missing or misconfigured authentication middleware
- Insecure framework defaults
- Unsafe CI/CD configuration
- High-risk AI-generated patterns
- Pre-commit hook blocks insecure code before it enters Git history
- CI mode enforces security rules in GitHub Actions, GitLab CI, and more
Unlike generic secret scanners, Secure Push is developer-first:
- Built specifically for AI-generated code risks
- Fast enough to run on every commit
- Opinionated security rules with low false positives
- Simple YAML configuration, no complex policy language
curl -sSL https://example.com/secure-push/install.sh | bashgo install github.com/secure-push/secure-push@latest
brew install secure-push
secure-push scan .
secure-push install
- Secret detection – Finds AWS keys, JWTs, OAuth tokens, private keys, and generic high-entropy secrets.
- Environment file scanning – Blocks committed .env files and exposed environment variables.
- Auth middleware checking – Detects missing authentication or authorization in common web frameworks.
- Configuration validation – Flags insecure defaults in Docker, CI, and app configs.
- CI/CD integration – Produces machine-readable output for automated pipelines.
$ secure-push scan ./myproject
CRITICAL AWS_SECRET_KEY detected in config/aws.go:12
HIGH Missing authentication middleware in api/routes.go:4
✖ Scan failed: 2 security issues found
$ secure-push pre-commit
CRITICAL: .env file detected
File: .env
Fix the issue or add an explicit ignore rule to proceed.
$ secure-push scan --format json
{
"summary": {
"critical": 1,
"high": 2,
"medium": 0
},
"findings": [
{
"rule": "AWS_SECRET_KEY",
"severity": "CRITICAL",
"file": "config/aws.go",
"line": 12
}
]
}Create a configuration file in your repo root:
# .secure-push.yaml
severity_threshold: HIGH
ignore_rules:
- GENERIC_API_KEY
ignore_paths:
- vendor/
- testdata/
allowlist:
- scripts/dev-only.sh
- Ignore specific detectors
- Whitelist files or directories
- Set minimum severity that fails a scan
- Customize output formats
| Detector | Severity | False Positive Risk |
|---|---|---|
| AWS Keys | CRITICAL | Low |
| GitHub Tokens | CRITICAL | Low |
| Provider Access Tokens | HIGH | Low |
.env Files |
CRITICAL | None |
| Generic API Keys | HIGH | Medium |
| Private SSH Keys | CRITICAL | Low |
| Missing Auth Middleware | HIGH | Medium |
| Open CORS Configuration | MEDIUM | Medium |
| Insecure JWT Settings | HIGH | Low |
| Hardcoded Passwords | CRITICAL | Medium |
| Public S3 Buckets | HIGH | Low |
ln -s ../../secure-push/hooks/pre-commit .git/hooks/pre-commit
name: Secure Push Scan
on: [push, pull_request]
jobs:
security:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Run Secure Push
run: secure-push scan --format json
secure_push:
script:
- secure-push scan
security:
secure-push scan .
- Speed: ~5,000 files per second on a typical laptop
- Memory Usage: <100MB for large repositories
- Monorepos: Fully supported with incremental scanning
v2
- AST-based code analysis
- Smarter AI-specific detectors
- Performance improvements
v3
- Auto-fix mode for common issues
- VS Code extension
- Custom rule language
We love contributors!
See CONTRIBUTING.md for details on:
- Development setup
- Adding new detectors
- Testing requirements
- Code style guide
Secure Push is released under the MIT License.