Skip to main content

AI-Powered Code Quality Guardian — Pre-commit security & complexity analysis in 0.01s

Project description

Hefesto - AI-Powered Code Quality Guardian

Hefesto Demo

AI-powered code quality guardian built for the age of AI-generated code. Catches security flaws, semantic drift, operational truth drift, and complexity issues in 0.01s across 21 formats. 476 tests | 677+ monthly downloads | Used in production CI/CD pipelines worldwide.

PyPI version Python 3.10+ License: MIT Languages


Quick Start

pip install hefesto-ai
cd your-project
hefesto analyze . --fail-on critical

# PR review (new in v4.11.2) — analyze only changed code
hefesto pr-review
hefesto pr-review --strict        # include file-level context
hefesto pr-review --post --pr 42  # post inline comments via gh CLI

Why Hefesto? The AI Code Problem

AI tools like Claude Code, GitHub Copilot, and Cursor generate code at machine speed. But who validates that code?

  • Copilot generates os.system(user_input)command injection
  • Claude writes f"SELECT * FROM {table}"SQL injection
  • AI code looks clean to linters but changes business logic silently (semantic drift)

Hefesto catches what your linter misses. Pre-commit, pre-push, CI/CD — before it reaches production.


What Hefesto Catches

Issue Severity Description
HARDCODED_SECRET CRITICAL API keys, passwords in code
SQL_INJECTION_RISK HIGH String concatenation in queries
COMMAND_INJECTION HIGH Unsafe shell command execution
PATH_TRAVERSAL HIGH Unsafe file path handling
UNSAFE_DESERIALIZATION HIGH pickle, yaml.unsafe_load
UNDECLARED_DEPENDENCY MEDIUM Import used but not in pyproject.toml
PACKAGING_VERSION_DRIFT MEDIUM Version mismatch across pyproject/CHANGELOG/README
CI_CONFIG_DRIFT MEDIUM-HIGH Local env vs CI configuration mismatch
INSTALL_ARTIFACT_DRIFT MEDIUM-HIGH action.yml inputs or Dockerfile COPY out of sync
HIGH_COMPLEXITY HIGH Cyclomatic complexity > 10
DEEP_NESTING HIGH Nesting depth > 4 levels
GOD_CLASS HIGH Classes > 500 lines
LONG_FUNCTION MEDIUM Functions > 50 lines
LONG_PARAMETER_LIST MEDIUM Functions with > 5 parameters
# Hefesto catches:
password = "admin123"  # HARDCODED_SECRET
query = f"SELECT * FROM users WHERE id={id}"  # SQL_INJECTION_RISK
os.system(f"rm {user_input}")  # COMMAND_INJECTION

# Hefesto suggests:
password = os.getenv("PASSWORD")
cursor.execute("SELECT * FROM users WHERE id=?", (id,))
subprocess.run(["rm", user_input], check=True)

GitHub Action

steps:
  - uses: actions/checkout@v4
  - name: Run Hefesto Guardian
    uses: artvepa80/Agents-Hefesto@v4.11.2
    with:
      target: '.'
      fail_on: 'CRITICAL'

Inputs:

Input Description Default
target Path to analyze (file or directory) .
fail_on Exit with error if issues found at or above this severity level CRITICAL
min_severity Minimum severity to report LOW
format Output format (text, json, html) text
telemetry Opt-in to anonymous telemetry (1=enable) 0

Outputs:

Output Description
exit_code The exit code of the CLI (0=Success, 1=Error, 2=Issues Found)

AI-Generated Code Guardrails (Pre-commit + MCP)

HefestoAI is a pre-commit guardian for AI-generated code. It detects semantic drift and risky changes before merge.

Add as an MCP server:

npx @smithery/cli@latest mcp add artvepa80/hefestoai

API Endpoints:

Endpoint Protocol Path
MCP JSON-RPC 2.0 /api/mcp-protocol
REST HTTP GET/POST /api/mcp
OpenAPI OpenAPI 3.0 /api/openapi.json
Q&A Natural Language /api/ask
Changelog JSON /api/changelog.json
FAQ JSON /api/faq.json

PR Review (v4.11.2)

Analyze only the code changed in a pull request. Post inline comments on changed lines with deterministic dedup keys so reruns never create duplicate comments.

# Generate review as JSON (default — no network, no token needed)
hefesto pr-review

# Post inline comments via gh CLI (convenience mode)
hefesto pr-review --post --pr 42 --repo owner/name

# Include file-level context findings (not just changed lines)
hefesto pr-review --strict

How it works:

  1. Parses git diff between base and head (auto-detects origin/main or GITHUB_BASE_REF)
  2. Runs the full analyzer suite on touched files only
  3. Filters findings to changed lines (default) or full files (--strict)
  4. Emits JSON with SHA256 dedup keys for each finding

GitHub Actions workflow templates are provided under examples/github-actions/:

Template Use case Idempotent?
hefesto-pr-review-simple.yml Quick onboarding, small repos No (reruns duplicate)
hefesto-pr-review-deduped.yml Production CI, teams Yes (jq dedup pipeline)

See examples/github-actions/README.md for setup instructions.


Operational Truth Analyzers (v4.11.2)

Project-level checks that detect drift between what your project declares and what it actually does. These run automatically as part of hefesto analyze — no extra commands needed.

Analyzer What it catches Rule ID
Imports vs Deps Python imports not declared in pyproject.toml or requirements.txt OT-IMPORTS-001
Docs vs Entrypoints CLI scripts in [project.scripts] missing from README OT-DOCS-001
Packaging Parity Version mismatch between pyproject.toml, CHANGELOG, and README badges OT-PKG-001/002
Install Artifact Parity action.yml inputs not consumed; Dockerfile COPY sources missing OT-INSTALL-001/002
CI Config Drift Python version or flake8 config mismatch between local and CI workflow OT-CI-001/002/003
# All operational truth findings appear in standard output
hefesto analyze . --severity MEDIUM

Language Support

Code Languages

Language Parser Status
Python Native AST Full support
TypeScript TreeSitter Full support
JavaScript TreeSitter Full support
Java TreeSitter Full support
Go TreeSitter Full support
Rust TreeSitter Full support
C# TreeSitter Full support

DevOps & Configuration

Format Analyzer Rules Status
YAML YamlAnalyzer Generic YAML security v4.4.0
Terraform TerraformAnalyzer TfSec-aligned rules v4.4.0
Shell ShellAnalyzer ShellCheck-aligned v4.4.0
Dockerfile DockerfileAnalyzer Hadolint-aligned v4.4.0
SQL SqlAnalyzer SQL Injection prevention v4.4.0
PowerShell PS001-PS006 6 security rules v4.5.0
JSON J001-J005 5 security rules v4.5.0
TOML T001-T003 3 security rules v4.5.0
Makefile MF001-MF005 5 security rules v4.5.0
Groovy GJ001-GJ005 5 security rules v4.5.0

Cloud Infrastructure

Format Analyzer Focus Status
CloudFormation CloudFormationAnalyzer AWS IaC Security v4.7.0
ARM Templates ArmAnalyzer Azure IaC Security v4.7.0
Helm Charts HelmAnalyzer Kubernetes Security v4.7.0
Serverless ServerlessAnalyzer Serverless Framework v4.7.0

Total: 7 code languages + 10 DevOps formats + 4 Cloud formats = 21 supported formats


Installation

# FREE tier
pip install hefesto-ai

# TS/JS parsing + symbol metadata (optional)
pip install "hefesto-ai[multilang]"

# PRO tier
pip install hefesto-ai[pro]
export HEFESTO_LICENSE_KEY="your-key"

# OMEGA Guardian
pip install hefesto-ai[omega]
export HEFESTO_LICENSE_KEY="your-key"

CLI Reference (v4.11.2)

# Analyze code
hefesto analyze <path>
hefesto analyze . --severity HIGH
hefesto analyze . --output json

# PR review (v4.11.2)
hefesto pr-review                              # JSON to stdout
hefesto pr-review --base main --head HEAD      # explicit refs
hefesto pr-review --strict                     # file-level findings too
hefesto pr-review --post --pr 42 --repo o/r    # post via gh CLI

# Check status
hefesto status

# Install/update git hook
hefesto install-hooks

# Start API server (PRO)
hefesto serve --port 8000

# Telemetry Management
hefesto telemetry status
hefesto telemetry clear

JSON Output

hefesto analyze . --output json          # stdout = pure JSON, banners -> stderr
hefesto analyze . --output json 2>/dev/null | jq .  # pipe-safe

Exit Codes

Code Meaning
0 Analysis complete (no --fail-on, or threshold not breached)
1 Gate failure (--fail-on threshold breached) or runtime error

Gate Examples

hefesto analyze . --fail-on high         # exit 1 if HIGH+ found
hefesto analyze . --fail-on critical     # exit 1 only if CRITICAL found
hefesto analyze .                        # always exit 0 (report only)

Pre-Push Hook

Automatic validation before every git push:

# Install/update hook (copies scripts/git-hooks/pre-push -> .git/hooks/pre-push)
hefesto install-hooks

# Update an existing hook
hefesto install-hooks --force

# Bypass temporarily
SKIP_HEFESTO_HOOKS=1 git push

The hook runs two gates:

  1. Security gatehefesto analyze with --fail-on CRITICAL --exclude-types VERY_HIGH_COMPLEXITY,LONG_FUNCTION (blocks security issues, ignores complexity debt)
  2. Fast lint/test gate — Black, isort, Flake8, and a minimal test suite

Note: Hooks are local to your machine and not committed to git. Run hefesto install-hooks after cloning or whenever scripts/git-hooks/pre-push is updated.


Features by Tier

Feature FREE PRO ($8/mo) OMEGA ($19/mo)
Static Analysis Yes Yes Yes
Security Scanning Basic Advanced Advanced
Pre-push Hooks Yes Yes Yes
21 Language Support Yes Yes Yes
ML Enhancement No Yes Yes
REST API No Yes Yes
BigQuery Analytics No Yes Yes
IRIS Monitoring No No Yes
Production Correlation No No Yes

Hefesto PRO Optional Features

Hefesto OSS works standalone. If Hefesto PRO is installed, OSS can optionally enable: Patch C API hardening for hefesto serve, scope gating (first-party by default), TS/JS symbol discovery, and safe deterministic enrichment (schema-first, masked, bounded). See docs/PRO_OPTIONAL_FEATURES.md.


REST API (PRO)

# Start server (binds to 127.0.0.1 by default)
hefesto serve --port 8000

# Analyze code
curl -X POST http://localhost:8000/analyze \
  -H "Content-Type: application/json" \
  -H "X-API-Key: $HEFESTO_API_KEY" \
  -d '{"code": "def test(): pass", "severity": "MEDIUM"}'

API Security (v4.8.0)

The API server is secure by default:

Feature Default Configure via
Host binding 127.0.0.1 (loopback) HEFESTO_API_HOST
CORS Localhost only HEFESTO_CORS_ORIGINS
API docs Disabled (404) HEFESTO_EXPOSE_DOCS=true
Auth Off (no key set) HEFESTO_API_KEY
Rate limit 60 req/min HEFESTO_RATE_LIMIT_PER_MINUTE
Path sandbox cwd() HEFESTO_WORKSPACE_ROOT
# Production example
export HEFESTO_API_KEY=my-secret-key
export HEFESTO_CORS_ORIGINS=https://app.example.com
export HEFESTO_API_RATE_LIMIT_PER_MINUTE=60
export HEFESTO_EXPOSE_DOCS=false
hefesto serve --host 0.0.0.0 --port 8000

Endpoints

Endpoint Method Description
/analyze POST Analyze code
/health GET Health check (no auth required)
/ping GET Fast health ping (no auth required)
/batch POST Batch analysis
/metrics GET Quality metrics
/history GET Analysis history
/webhook POST GitHub webhook
/stats GET Statistics
/validate POST Validate without storing

CI/CD Integration

GitHub Actions — Full Repo Analysis

name: Hefesto

on: [push, pull_request]

jobs:
  analyze:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - name: Install Hefesto
        run: pip install hefesto-ai
      - name: Run Analysis
        run: hefesto analyze . --severity HIGH

GitHub Actions — PR Review with Inline Comments (v4.11.2)

name: Hefesto PR Review

on:
  pull_request:
    types: [opened, synchronize, reopened]

permissions:
  contents: read
  pull-requests: write

jobs:
  review:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
        with:
          fetch-depth: 0
      - run: pip install hefesto-ai
      - name: Review changed code
        env:
          GITHUB_BASE_REF: ${{ github.event.pull_request.base.ref }}
          GITHUB_SHA: ${{ github.event.pull_request.head.sha }}
          GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
        run: hefesto pr-review --post --pr ${{ github.event.pull_request.number }} --repo ${{ github.repository }}

For production use with dedup (no duplicate comments on reruns), see the workflow templates in examples/github-actions/.

pre-commit Hook

# .pre-commit-config.yaml
repos:
  - repo: https://github.com/artvepa80/Agents-Hefesto
    rev: v4.11.2
    hooks:
      - id: hefesto-analyze

GitLab CI

hefesto:
  stage: test
  script:
    - pip install hefesto-ai
    - hefesto analyze . --severity HIGH

Configuration

Environment Variables

# Core
export HEFESTO_LICENSE_KEY="your-key"
export HEFESTO_SEVERITY="MEDIUM"
export HEFESTO_OUTPUT="json"

# API Security (v4.7.0)
export HEFESTO_API_KEY="your-api-key"                # Enable API key auth
export HEFESTO_API_RATE_LIMIT_PER_MINUTE=60           # Enable rate limiting
export HEFESTO_CORS_ORIGINS="https://app.example.com" # Restrict CORS
export HEFESTO_EXPOSE_DOCS=true                       # Enable /docs, /redoc
export HEFESTO_WORKSPACE_ROOT="/srv/code"              # Path sandbox root
export HEFESTO_CACHE_MAX_ITEMS=256                     # Cache size limit
export HEFESTO_CACHE_TTL_SECONDS=300                   # Cache entry TTL

Config File (.hefesto.yaml)

severity: HIGH
exclude:
  - tests/
  - node_modules/
  - .venv/

rules:
  complexity:
    max_cyclomatic: 10
    max_cognitive: 15
  security:
    check_secrets: true
    check_injections: true

OMEGA Guardian

Production monitoring that correlates code issues with production failures.

Features

  • IRIS Agent: Real-time production monitoring
  • Auto-Correlation: Links code changes to incidents
  • Real-Time Alerts: Pub/Sub notifications
  • BigQuery Analytics: Track correlations over time

Setup

# iris_config.yaml
project_id: your-gcp-project
dataset: omega_production
pubsub_topic: hefesto-alerts

alert_rules:
  - name: error_rate_spike
    threshold: 10
  - name: latency_increase
    threshold: 1000
# Run IRIS Agent
python -m hefesto.omega.iris_agent --config iris_config.yaml

# Check status
hefesto omega status

IRIS Telemetry Contract (OMEGA)

IRIS labels deployments as GREEN/YELLOW/RED using post-deploy telemetry. The input format is an open contract — any observability stack can produce it:

Resource Path Description
Aggregates Contract v1 docs/telemetry/AGGREGATES_CONTRACT.md Row schema, units, validation checklist
JSONL Validator scripts/validate_aggregates_jsonl.py Stdlib-only validator (no deps)
# Validate your telemetry file
python scripts/validate_aggregates_jsonl.py aggregates.jsonl

# Feed to IRIS (OMEGA tier)
export IRIS_TELEMETRY_SOURCE=file
export IRIS_TELEMETRY_FILE=aggregates.jsonl
iris label-outcomes --repo org/repo --commit abc123 --env production --window both --json

Enterprise collectors (Prometheus, Datadog, CloudWatch) and integration runbooks are available in the PRO distribution.


vs. Competition

Feature Hefesto Semgrep Bandit SonarQube
AI-generated code validation Yes No No No
Semantic drift detection Yes No No No
Pre-commit speed 0.01s ~1s ~2s N/A
MCP/Claude Code integration Yes No No No
Languages 21 30+ Python only 25+
Setup pip install pip install pip install Server required
Price Free / $8 / $19 Free / Enterprise Free Free / Enterprise

Hefesto's niche: Validating code generated by AI tools (Claude, Copilot, Cursor). Traditional tools validate human code. Hefesto validates machine code.


The Dogfooding Story

We used Hefesto to validate itself before publishing v4.0.1:

Critical bugs found:

  1. Hardcoded password in test fixtures (CRITICAL)
  2. Dangerous exec() call without validation (HIGH)
  3. 155 other issues (code smells, security, complexity)

Result: All fixed before shipping. Meta-validation at its finest.


Changelog

v4.11.2 (2026-04-12)

  • Phase 4 — Narrow Semantic Analyzer: ATTRIBUTE_NAME_MISMATCH (typo detection via difflib) and SILENT_EXCEPTION_SWALLOW (broad except with trivially silent body)
  • Cross-repo schema contract test: pins 12-key PR review finding dict between OSS and Pro
  • code_snippet in PR review JSON: field was silently dropped, now included
  • Phase 3.1 — Enrichment rendering: PR comments render AI enrichment summary when present
  • Upgrade notice: shows when a newer version is available on PyPI
  • Fix: contextlib.suppress(ImportError) recognized as optional-import guard
  • Fix: AST BinOp(Mod) catches single-char SQL injection FN (Phase 1c debt closed)
  • 474 tests (was 430), 0 regressions

v4.10.0 (2026-04-12)

  • PR Review: New hefesto pr-review command — diff-scoped analysis with inline GitHub PR comments and SHA256 dedup keys. Two workflow templates (simple + deduped) in examples/github-actions/
  • Operational Truth Analyzers: 5 project-level analyzers detect drift between imports/deps, docs/entrypoints, packaging versions, install artifacts, and CI config — all visible via hefesto analyze
  • Security Precision (BP-7): SQL_INJECTION FP rate 43%→0% (DB-API placeholders no longer flagged), ASSERT_IN_PRODUCTION 31→0 FPs (AST rewrite), PICKLE/BARE_EXCEPT detectors rewritten with exact matching
  • CI Parity Unification: check-ci-parity findings now appear in hefesto analyze via adapter; legacy CLI preserved
  • 430 tests (was 346), 0 regressions

v4.9.9 (2026-03-13)

  • Telemetry: Anonymous usage pings enabled by default (opt-out via HEFESTO_TELEMETRY=0)
  • First-run notice printed once to stderr
  • No code, paths, or PII collected

v4.9.7 (2026-03-13)

  • Telemetry: Anonymous usage ping endpoint (CLI opt-in + GitHub Action always-on)

v4.9.3 (2026-02-24)

  • MCP endpoint live (JSON-RPC 2.0)
  • AI discoverability stack complete (llms.txt, agent.json, OpenAPI, FAQ, Changelog)
  • Registered in official MCP Registry and Smithery

v4.9.0 (2026-02-14)

  • Boundary: Public/private repo split — community edition only in public repo.
  • Removed: Paid modules (api, llm, licensing, omega), paid infra, paid tests.
  • Hardened: Packaging (packages.find exclude, MANIFEST.in prune, CI guard).

v4.8.5 (2026-02-13)

  • GitHub Action: Market-ready Docker-based action (bypassing PyPI).
  • Security: Deterministic smoke tests with clean/critical fixtures.
  • CLI: Verified exit code contract (2 = Issues Found).

v4.7.0 (2026-02-10)

  • Patch C: API Hardeninghefesto serve is secure-by-default (local-first)
  • Security: API key auth, CORS allowlist, docs toggle, path sandbox

v4.3.3 (2025-12-26)

  • Fix LONG_PARAMETER_LIST: use AST formal_parameters instead of comma counting
  • Fix function naming: infer names from variable_declarator for arrow functions

v4.2.1 (2025-10-31)

  • Critical tier hierarchy bugfix
  • OMEGA Guardian release

Telemetry

HefestoAI collects anonymous usage data by default to help improve the tool.

What's sent: event type, version, OS, Python version, file count, duration, issue count. What's NOT sent: code, file paths, file contents, project names, or any PII.

Disable with:

export HEFESTO_TELEMETRY=0

Support


Keywords: pre-commit code quality, AI generated code validation, semantic drift detection, Claude Code validator, GitHub Copilot quality gate, vibe coding safety net, code quality tool, developer tools LatAm, Peru startup, hefesto-ai, HefestoAI, open source code guardian

License

MIT License for core functionality. PRO and OMEGA features are licensed separately.


Hefesto: The code quality guardian built for the age of AI-generated code. 430 tests. 21 formats. 0.01s. Now with PR review.

(c) 2026 Narapa LLC, Miami, Florida

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

hefesto_ai-4.11.3.tar.gz (188.6 kB view details)

Uploaded Source

Built Distribution

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

hefesto_ai-4.11.3-py3-none-any.whl (189.5 kB view details)

Uploaded Python 3

File details

Details for the file hefesto_ai-4.11.3.tar.gz.

File metadata

  • Download URL: hefesto_ai-4.11.3.tar.gz
  • Upload date:
  • Size: 188.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.15

File hashes

Hashes for hefesto_ai-4.11.3.tar.gz
Algorithm Hash digest
SHA256 9274d0f5e8d5d9ffe3a7f05c115f95249c911e3754d828059125b5b946cdaa06
MD5 c39f946c1611282e2b989d8050683101
BLAKE2b-256 1b476d36c765997cd648946666fdb271db51042ee6a9c519def667f244788c78

See more details on using hashes here.

File details

Details for the file hefesto_ai-4.11.3-py3-none-any.whl.

File metadata

  • Download URL: hefesto_ai-4.11.3-py3-none-any.whl
  • Upload date:
  • Size: 189.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.15

File hashes

Hashes for hefesto_ai-4.11.3-py3-none-any.whl
Algorithm Hash digest
SHA256 bf8e4446c01aca887fd49f82c38c416711b7610b3115ca53c33237d083d1f8c2
MD5 0486c8ed957a11187c7436b6ccc92aad
BLAKE2b-256 f8a6bd205678cf885b509596195198fd6343f57b46068d2d675ac267318b5f25

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