AI-Era Code Security Scanner - catches vulnerabilities AI coding assistants introduce
Project description
🛡️ hackmenot
AI-Era Code Security Scanner
Catches the vulnerabilities AI coding assistants introduce—and fixes them.
The Problem
Over 50% of AI-generated code contains security vulnerabilities. Copilot, Cursor, and Claude Code are transforming how we write software—but they're also introducing patterns that traditional SAST tools weren't built to catch.
hackmenot is purpose-built for the AI era: it detects these vulnerabilities, provides auto-fix suggestions, and explains why AI makes these mistakes so you learn as you secure.
Quick Start
Get scanning in 30 seconds:
# Install via pip
pip install hackmenot
# Or with Docker
docker pull ghcr.io/b0rd3aux/hackmenot:latest
# Scan your code
hackmenot scan .
# Scan with auto-fix
hackmenot scan . --fix
# Scan dependencies for hallucinated packages
hackmenot deps .
That's it. No config files, no setup, no API keys.
Features
Scan & Detect
138+ security rules purpose-built for AI-generated code patterns across Python, JavaScript/TypeScript, Go, Rust, Java, C/C++, and Terraform.
Auto-Fix
Don't just find problems—fix them. Interactive mode lets you review and apply fixes one by one.
hackmenot scan . --fix-interactive
Dependency Scanning
Detect hallucinated packages (dependencies that don't exist), typosquats, and known CVEs powered by Google's OSV database.
hackmenot deps . --check-vulns
🎯 Security Graph Visualization (v2.1.1)
Visualize your application's attack surface with interactive security graphs. Trace data flows from entry points to security sinks, identify vulnerable paths, and understand your security posture at a glance.
🎨 View Interactive Demo → | Source
# Generate security graph
hackmenot graph . -o security.dot
dot -Tpng security.dot -o security.png
# Or use the interactive HTML viewer
hackmenot graph . --interactive -o security.html
Features:
- 🔍 Attack Surface Mapping - Identify all entry points (API endpoints, CLI commands, webhooks)
- 🌊 Data Flow Analysis - Trace untrusted data from sources to sinks
- 📊 Risk Scoring - Calculate exploit likelihood (0-100) based on authentication, sink type, and sanitization
- 🎨 Interactive Visualization - Search, filter, and explore your security graph in the browser
- 🎯 Exploit Chain Detection - Find compound vulnerabilities through single entry points
CI/CD & GitHub Security
Native GitHub Action with SARIF support. Findings appear directly in GitHub's Security tab.
- uses: hackmenot/hackmenot@v1
with:
sarif-upload: 'true'
⚡ Enterprise-Scale Performance (v2.0)
Parallel scanning architecture built for large codebases:
- 10k files in <10 seconds on 8-core machines
- Memory-efficient: <2GB for 50k file scans
- Zero external dependencies: Pure Python multiprocessing
# Parallel scanning (default in v2.0)
hackmenot scan .
# Control worker count
hackmenot scan . --workers 16
# Sequential mode (v1.x behavior)
hackmenot scan . --no-parallel
Performance Targets:
- Small repos (100 files): <1s
- Medium repos (1k files): <3s
- Large repos (10k files): <10s
- Enterprise (50k files): <60s
What It Catches
| Category | Examples | Languages |
|---|---|---|
| Injection | SQL injection, command injection, XSS, path traversal | All |
| Authentication | Missing auth decorators, weak sessions, hardcoded credentials | Python, JS, Java |
| Cryptography | Weak algorithms, hardcoded keys, insecure random | All |
| Unsafe Operations | Unsafe blocks, raw pointers, transmute, reflection | Rust, Java |
| Deserialization | Insecure object deserialization, XXE attacks | Java, Rust |
| Data Exposure | Logging secrets, verbose errors, debug mode in prod | All |
| Infrastructure | Open security groups, missing encryption, public S3 buckets | Terraform |
| Dependencies | Hallucinated packages, typosquats, CVEs via OSV | Python, JS |
Installation
pip (recommended)
pip install hackmenot
Docker
# Pull image
docker pull ghcr.io/b0rd3aux/hackmenot:latest
# Scan current directory
docker run --rm -v $(pwd):/workspace ghcr.io/b0rd3aux/hackmenot scan .
From source
pip install git+https://github.com/b0rd3aux/hackmenot.git@v1.0.0
Requires Python 3.10+
Usage
# Basic scan
hackmenot scan .
# Scan specific path
hackmenot scan src/
# Set minimum severity (critical, high, medium, low)
hackmenot scan . --severity medium
# Fail CI on high+ findings
hackmenot scan . --fail-on high
# Output as JSON or SARIF
hackmenot scan . --format json
hackmenot scan . --format sarif
# Auto-fix all issues
hackmenot scan . --fix
# Interactive fix mode
hackmenot scan . --fix-interactive
# Preview fixes without applying
hackmenot scan . --fix --dry-run --diff
# Scan only changed files (great for CI)
hackmenot scan . --changed-since origin/main
# Dependency scanning
hackmenot deps .
hackmenot deps . --check-vulns
# Security graph visualization
hackmenot graph . -o security.dot
hackmenot graph . --interactive -o security.html
Documentation
| Guide | Description |
|---|---|
| Getting Started | First-time setup and basic usage |
| CLI Reference | All commands and options |
| Rules Reference | Complete list of 100+ security rules |
| Configuration | .hackmenot.yml options |
| CI Integration | GitHub Actions, GitLab, Jenkins, and more |
| Custom Rules | Write your own security rules |
| Contributing | How to contribute |
Support
If hackmenot is useful to you, consider supporting its development:
Contributing
Contributions are welcome! See Contributing Guide for details.
License
Apache 2.0 - see LICENSE for details.
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
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file hackmenot-2.2.0.tar.gz.
File metadata
- Download URL: hackmenot-2.2.0.tar.gz
- Upload date:
- Size: 116.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ebd6dae0901e5a23e59e2ba7ba54ed62772d13656f6cb5d87c0a2135a54838e5
|
|
| MD5 |
7616263b09c8a9b2f2896c590d93a745
|
|
| BLAKE2b-256 |
82d79aab39d914f42aed1394fa767e6cce696959d8e1bff60004775d86e12ff4
|
Provenance
The following attestation bundles were made for hackmenot-2.2.0.tar.gz:
Publisher:
publish-pypi.yml on b0rd3aux/hackmenot
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
hackmenot-2.2.0.tar.gz -
Subject digest:
ebd6dae0901e5a23e59e2ba7ba54ed62772d13656f6cb5d87c0a2135a54838e5 - Sigstore transparency entry: 953241665
- Sigstore integration time:
-
Permalink:
b0rd3aux/hackmenot@b0670cb5336ede815c9a77fd16e26f09bf9ed577 -
Branch / Tag:
refs/tags/v2.2.0 - Owner: https://github.com/b0rd3aux
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish-pypi.yml@b0670cb5336ede815c9a77fd16e26f09bf9ed577 -
Trigger Event:
release
-
Statement type:
File details
Details for the file hackmenot-2.2.0-py3-none-any.whl.
File metadata
- Download URL: hackmenot-2.2.0-py3-none-any.whl
- Upload date:
- Size: 204.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
908ae836bd924613fae628e4428603f615c39ad362830a9c4e67d2f41c862f31
|
|
| MD5 |
613efb716eaceebcc5eea108b67f9f90
|
|
| BLAKE2b-256 |
9f8fa0771fc325236734a0aa21283c15a73360e3bb473640dcb41425a06178f2
|
Provenance
The following attestation bundles were made for hackmenot-2.2.0-py3-none-any.whl:
Publisher:
publish-pypi.yml on b0rd3aux/hackmenot
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
hackmenot-2.2.0-py3-none-any.whl -
Subject digest:
908ae836bd924613fae628e4428603f615c39ad362830a9c4e67d2f41c862f31 - Sigstore transparency entry: 953241667
- Sigstore integration time:
-
Permalink:
b0rd3aux/hackmenot@b0670cb5336ede815c9a77fd16e26f09bf9ed577 -
Branch / Tag:
refs/tags/v2.2.0 - Owner: https://github.com/b0rd3aux
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish-pypi.yml@b0670cb5336ede815c9a77fd16e26f09bf9ed577 -
Trigger Event:
release
-
Statement type: