Skip to main content

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.

PyPI Docker Tests License Python

100+ Security Rules 6 Languages Enterprise Scale Parallel Scanning

hackmenot in action

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

120+ security rules purpose-built for AI-generated code patterns across Python, JavaScript/TypeScript, Go, Rust, Java, and Terraform.

hackmenot scanning code

Auto-Fix

Don't just find problems—fix them. Interactive mode lets you review and apply fixes one by one.

hackmenot scan . --fix-interactive
Auto-fix in action

Dependency Scanning

Detect hallucinated packages (dependencies that don't exist), typosquats, and known CVEs powered by Google's OSV database.

hackmenot deps . --check-vulns
Dependency scanning

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

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:

Sponsor on Patreon


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

hackmenot-2.0.0.tar.gz (89.0 kB view details)

Uploaded Source

Built Distribution

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

hackmenot-2.0.0-py3-none-any.whl (161.1 kB view details)

Uploaded Python 3

File details

Details for the file hackmenot-2.0.0.tar.gz.

File metadata

  • Download URL: hackmenot-2.0.0.tar.gz
  • Upload date:
  • Size: 89.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for hackmenot-2.0.0.tar.gz
Algorithm Hash digest
SHA256 58ad83e72fec6531666fb6700ca5391b20df20074d6a4942cb7f4daa6762824f
MD5 5d7f017cdb6753dad91ced09873c6860
BLAKE2b-256 03d71f6f73ebb574273c55c94a67fd91bb3eec6ec88d8faa189b198ba0f49206

See more details on using hashes here.

Provenance

The following attestation bundles were made for hackmenot-2.0.0.tar.gz:

Publisher: publish-pypi.yml on b0rd3aux/hackmenot

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file hackmenot-2.0.0-py3-none-any.whl.

File metadata

  • Download URL: hackmenot-2.0.0-py3-none-any.whl
  • Upload date:
  • Size: 161.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for hackmenot-2.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 833cbbd1c4c45cfadff32aeeb147bda3888a1ce3d795a574a539ff690f0c886d
MD5 9737e355e0368889b38edf70b0524e3d
BLAKE2b-256 9ffb7d24f1141a3f225fd36ed15b607336615965f8e6514202542f4a4dce498c

See more details on using hashes here.

Provenance

The following attestation bundles were made for hackmenot-2.0.0-py3-none-any.whl:

Publisher: publish-pypi.yml on b0rd3aux/hackmenot

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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