HefestoAI

AI 与智能体

by artvepa80

面向pre-commit的代码质量守护工具,可检测AI生成代码中的语义漂移问题。

什么是 HefestoAI

面向pre-commit的代码质量守护工具,可检测AI生成代码中的语义漂移问题。

README

HefestoAI — release truth engine for AI-generated code

<p align="center"> <img src="assets/hefesto-demo.gif" alt="Hefesto Demo" width="700"> </p>

After your AI wrote the code, but before it ships. HefestoAI verifies that what your project declares — deps, configs, install artifacts — matches what it actually does.

PyPI version Python 3.10+ License: MIT Languages


Operational Truth Analyzers (v4.13.1)

HefestoAI's core contribution: detecting drift between what your project declares and what it does. These analyzers run automatically on every hefesto analyze and catch issues that linters and security scanners miss because they're not in any single file — they're in the inconsistency between files.

AnalyzerWhat it catchesRule ID
Imports vs DepsPython imports not declared in pyproject.toml or requirements.txtOT-IMPORTS-001
Docs vs EntrypointsCLI scripts in [project.scripts] missing from READMEOT-DOCS-001
Packaging ParityVersion mismatch between pyproject.toml, CHANGELOG, and README badgesOT-PKG-001/002
Install Artifact Parityaction.yml inputs not consumed; Dockerfile COPY sources missingOT-INSTALL-001/002
CI Config DriftPython version or flake8 config mismatch between local and CI workflowOT-CI-001/002/003
bash
# All operational truth findings appear in standard output
hefesto analyze . --severity MEDIUM

Quick Start

bash
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

IssueSeverityDescription
HARDCODED_SECRETCRITICALAPI keys, passwords in code
SQL_INJECTION_RISKHIGHString concatenation in queries
COMMAND_INJECTIONHIGHUnsafe shell command execution
PATH_TRAVERSALHIGHUnsafe file path handling
UNSAFE_DESERIALIZATIONHIGHpickle, yaml.unsafe_load
UNDECLARED_DEPENDENCYMEDIUMImport used but not in pyproject.toml
PACKAGING_VERSION_DRIFTMEDIUMVersion mismatch across pyproject/CHANGELOG/README
CI_CONFIG_DRIFTMEDIUM-HIGHLocal env vs CI configuration mismatch
INSTALL_ARTIFACT_DRIFTMEDIUM-HIGHaction.yml inputs or Dockerfile COPY out of sync
HIGH_COMPLEXITYHIGHCyclomatic complexity > 10
DEEP_NESTINGHIGHNesting depth > 4 levels
GOD_CLASSHIGHClasses > 500 lines
LONG_FUNCTIONMEDIUMFunctions > 50 lines
LONG_PARAMETER_LISTMEDIUMFunctions with > 5 parameters
python
# 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

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

Inputs:

InputDescriptionDefault
targetPath to analyze (file or directory).
fail_onExit with error if issues found at or above this severity levelCRITICAL
min_severityMinimum severity to reportLOW
formatOutput format (text, json, html)text
telemetryOpt-in to anonymous telemetry (1=enable)0

Outputs:

OutputDescription
exit_codeThe 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:

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

API Endpoints:

EndpointProtocolPath
MCPJSON-RPC 2.0/api/mcp-protocol
RESTHTTP GET/POST/api/mcp
OpenAPIOpenAPI 3.0/api/openapi.json
Q&ANatural Language/api/ask
ChangelogJSON/api/changelog.json
FAQJSON/api/faq.json

PR Review (v4.13.1)

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.

bash
# 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/:

TemplateUse caseIdempotent?
hefesto-pr-review-simple.ymlQuick onboarding, small reposNo (reruns duplicate)
hefesto-pr-review-deduped.ymlProduction CI, teamsYes (jq dedup pipeline)

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


Language Support

Code Languages

LanguageParserStatus
PythonNative ASTFull support
TypeScriptTreeSitterFull support¹
JavaScriptTreeSitterFull support¹
JavaTreeSitterFull support¹
GoTreeSitterFull support¹
RustTreeSitterFull support¹
C#TreeSitterFull support¹

¹ TreeSitter languages require the [multilang] extra: pip install "hefesto-ai[multilang]". Without it, files in these languages are skipped at parse time and Hefesto emits a stderr warning pointing to the install command (also exposed via report.meta.parser_failures in JSON output).

DevOps & Configuration

FormatAnalyzerRulesStatus
YAMLYamlAnalyzerGeneric YAML securityv4.4.0
TerraformTerraformAnalyzerTfSec-aligned rulesv4.4.0
ShellShellAnalyzerShellCheck-alignedv4.4.0
DockerfileDockerfileAnalyzerHadolint-alignedv4.4.0
SQLSqlAnalyzerSQL Injection preventionv4.4.0
PowerShellPS001-PS0066 security rulesv4.5.0
JSONJ001-J0055 security rulesv4.5.0
TOMLT001-T0033 security rulesv4.5.0
MakefileMF001-MF0055 security rulesv4.5.0
GroovyGJ001-GJ0055 security rulesv4.5.0
COBOLCobolGovernanceAnalyzerCOBOL001-COBOL007v4.12.0

Cloud Infrastructure

FormatAnalyzerFocusStatus
CloudFormationCloudFormationAnalyzerAWS IaC Securityv4.7.0
ARM TemplatesArmAnalyzerAzure IaC Securityv4.7.0
Helm ChartsHelmAnalyzerKubernetes Securityv4.7.0
ServerlessServerlessAnalyzerServerless Frameworkv4.7.0

Total: 7 code languages + 11 DevOps formats + 4 Cloud formats = 22 supported formats


Installation

bash
# FREE tier
pip install hefesto-ai

# Required for TypeScript, JavaScript, Java, Go, Rust, and C# analysis
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.13.1)

bash
# 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

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

Exit Codes

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

Gate Examples

bash
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:

bash
# 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

FeatureFREEPRO ($8/mo)OMEGA ($19/mo)
Static AnalysisYesYesYes
Security ScanningBasicAdvancedAdvanced
Pre-push HooksYesYesYes
22 Language SupportYesYesYes
ML EnhancementNoYesYes
REST APINoYesYes
BigQuery AnalyticsNoYesYes
IRIS MonitoringNoNoYes
Production CorrelationNoNoYes

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)

bash
# 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:

FeatureDefaultConfigure via
Host binding127.0.0.1 (loopback)HEFESTO_API_HOST
CORSLocalhost onlyHEFESTO_CORS_ORIGINS
API docsDisabled (404)HEFESTO_EXPOSE_DOCS=true
AuthOff (no key set)HEFESTO_API_KEY
Rate limit60 req/minHEFESTO_RATE_LIMIT_PER_MINUTE
Path sandboxcwd()HEFESTO_WORKSPACE_ROOT
bash
# 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

EndpointMethodDescription
/analyzePOSTAnalyze code
/healthGETHealth check (no auth required)
/pingGETFast health ping (no auth required)
/batchPOSTBatch analysis
/metricsGETQuality metrics
/historyGETAnalysis history
/webhookPOSTGitHub webhook
/statsGETStatistics
/validatePOSTValidate without storing

CI/CD Integration

GitHub Actions — Full Repo Analysis

yaml
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.13.1)

yaml
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

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

GitLab CI

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

Configuration

Environment Variables

bash
# 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)

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

yaml
# 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
bash
# 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:

ResourcePathDescription
Aggregates Contract v1docs/telemetry/AGGREGATES_CONTRACT.mdRow schema, units, validation checklist
JSONL Validatorscripts/validate_aggregates_jsonl.pyStdlib-only validator (no deps)
bash
# 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

CriterionHefestoSemgrepCodeRabbitQodoSnyk
AI-generated code focus✅ Primary use caseGeneric✅ Yes✅ YesGeneric
Declared-vs-real drift detection✅ Core feature
Operational truth analyzers✅ 5 analyzers
Languages supported22 formatsManyManyManyMany
Setup time< 5 min, no configConfig-heavyCloud signupCloud signupCloud signup
Where it runsLocal CLI / GitHub Action / pre-commit / MCPLocal / cloudCloud onlyCloud onlyCloud / CLI
PricingFree OSS / $8 Pro / $19 OMEGAFree OSS / Contact sales$24/dev/moFree Dev / $30/dev/mo$25/dev/mo*

*Snyk pricing is per product (Code, Open Source, Container, IaC); multi-product subscriptions cost more.

HefestoAI's niche: Detecting drift between what AI-generated code declares and what it does. Traditional tools validate code against language rules. HefestoAI validates code against the project's own declarations — its dependencies, its configs, its install artifacts.


Dogfooding (Honest Account)

We run HefestoAI's strict gate against HefestoAI's own code on every push to main. As of 2026-04-29, the gate is GREEN — but it took us 6 weeks of refactor to get there.

When we initially activated the gate in strict mode, it flagged 12 complexity findings in our own gate-internals code. We considered three responses: silence the findings (rejected — that's exactly the drift we critique), accept the override permanently (rejected — same reason), or refactor at root cause (chosen — took 1 PR, 4 commits, 2 days, plus a declared-vs-real drift discovery in our own positioning doc that we logged for fix).

The full audit and refactor history are tracked internally in our private repo. The override mechanics and reversion criteria are documented; the gate-internals refactor reduced two CRITICAL functions from cyclomatic complexity 33 → 1 and 25 → 6 respectively, all helpers under 10.


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:

bash
export HEFESTO_TELEMETRY=0

Contact

License

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


HefestoAI — release truth engine for AI-generated code. Verifies declared-vs-real drift before code ships.

(c) 2026 Narapa LLC, Miami, Florida

常见问题

HefestoAI 是什么?

面向pre-commit的代码质量守护工具,可检测AI生成代码中的语义漂移问题。

相关 Skills

Claude接口

by anthropics

Universal
热门

面向接入 Claude API、Anthropic SDK 或 Agent SDK 的开发场景,自动识别项目语言并给出对应示例与默认配置,快速搭建 LLM 应用。

想把Claude能力接进应用或智能体,用claude-api上手快、兼容Anthropic与Agent SDK,集成路径清晰又省心

AI 与智能体
未扫描165.3k

RAG架构师

by alirezarezvani

Universal
热门

聚焦生产级RAG系统设计与优化,覆盖文档切块、检索链路、索引构建、召回评估等关键环节,适合搭建可扩展、高准确率的知识库问答与检索增强应用。

面向RAG落地,把知识库、向量检索和生成链路系统串联起来,做架构设计时更清晰,也更少踩坑。

AI 与智能体
未扫描23.5k

多智能体架构

by alirezarezvani

Universal
热门

聚焦多智能体系统架构设计,梳理 Supervisor、Swarm、分层和 Pipeline 等模式,覆盖角色定义、通信协作与性能评估,适合规划稳健可扩展的 AI agent 编排方案。

帮你系统解决多智能体应用的架构设计与协同编排难题,适合构建复杂 AI 工作流,成熟度高、社区认可也很亮眼。

AI 与智能体
未扫描23.5k

相关 MCP Server

顺序思维

编辑精选

by Anthropic

热门

Sequential Thinking 是让 AI 通过动态思维链解决复杂问题的参考服务器。

这个服务器展示了如何让 Claude 像人类一样逐步推理,适合开发者学习 MCP 的思维链实现。但注意它只是个参考示例,别指望直接用在生产环境里。

AI 与智能体
89.1k

知识图谱记忆

编辑精选

by Anthropic

热门

Memory 是一个基于本地知识图谱的持久化记忆系统,让 AI 记住长期上下文。

帮 AI 和智能体补上“记不住”的短板,用本地知识图谱沉淀长期上下文,连续对话更聪明,数据也更可控。

AI 与智能体
89.1k

by deusdata

热门

持久化的代码库知识图谱,可跨会话保留上下文,在 session 重启或上下文压缩后仍能继续使用。

专治 AI 编程助手“会话失忆”,把代码库沉淀为持久知识图谱,重启或压缩上下文后也能无缝续上开发状态。

AI 与智能体
36.7k

评论