Skip to main content

Pre-commit hook for scanning dependencies against supply chain attacks

Project description

stillrunning-pre-commit

Pre-commit hook for scanning Python and Node.js dependencies against supply chain attacks.

PyPI version stillrunning

Installation

Add to your .pre-commit-config.yaml:

repos:
  - repo: https://github.com/johhnyg/stillrunning-pre-commit
    rev: v1.0.0
    hooks:
      - id: stillrunning

Then install:

pre-commit install

What It Scans

  • requirements.txt, requirements-dev.txt, etc.
  • package.json, package-lock.json
  • Pipfile
  • pyproject.toml
  • setup.py (install_requires)

Configuration

Create ~/.stillrunning/config.json:

{
  "token": "sr_your_token_here",
  "block_dangerous": true,
  "block_suspicious": false
}

Or set the STILLRUNNING_TOKEN environment variable.

Example Output

🛡️  stillrunning security scan
   Scanning 15 packages from requirements.txt

  ✅ CLEAN      requests==2.31.0
  ⚠️  SUSPICIOUS sketchy-lib==1.0.0 (score: 65)
     → Obfuscated code patterns detected
  🚫 DANGEROUS  evil-pkg==0.1.0 (score: 95)
     → Known malicious package (reverse shell)

❌ 1 dangerous package(s) found — commit blocked

Free vs Paid

Feature Free With Token
Known malicious packages Unlimited Unlimited
Threat feed database Unlimited Unlimited
AI analysis of unknown packages - 100-10000/day

Get a token at stillrunning.io/pricing

Options

The hook accepts these options in .pre-commit-config.yaml:

hooks:
  - id: stillrunning
    stages: [commit]  # or [push] for push-time scanning

Skip Hook

To skip the hook for a single commit:

SKIP=stillrunning git commit -m "message"

Manual Usage

pip install stillrunning-pre-commit
stillrunning-check requirements.txt package.json

License

MIT

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

stillrunning_pre_commit-1.0.0.tar.gz (5.3 kB view details)

Uploaded Source

Built Distribution

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

stillrunning_pre_commit-1.0.0-py3-none-any.whl (5.8 kB view details)

Uploaded Python 3

File details

Details for the file stillrunning_pre_commit-1.0.0.tar.gz.

File metadata

  • Download URL: stillrunning_pre_commit-1.0.0.tar.gz
  • Upload date:
  • Size: 5.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.3

File hashes

Hashes for stillrunning_pre_commit-1.0.0.tar.gz
Algorithm Hash digest
SHA256 9d6ef69754942ef829893bec55266d2cadc1249aa86373cd4b84a63be3c6fe73
MD5 6a46a0c72748706b6b498975e12ebb88
BLAKE2b-256 5ea95e4a16db80f20b37cbec9bcc457f89ef3e856d399a83f4d8d2e67117a4c2

See more details on using hashes here.

File details

Details for the file stillrunning_pre_commit-1.0.0-py3-none-any.whl.

File metadata

File hashes

Hashes for stillrunning_pre_commit-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 d69cb612e894302c56edd36a4bebf07b78adbee2d9e9c025ef3246ff8a1cfe3d
MD5 ae20cbefb51919c97c7c00a6841012e7
BLAKE2b-256 a06920686946d647743802b45fec52fc164735ff05fe436fbb3c0c75d894547b

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