Skip to content

omarmohelal/sechelix

v4.0.0-alpha.7Apache-2.0

Evidence-first application-security Agent Skill for repositories and environments you are authorized to test. Maps the attack surface, selects applicable security hypotheses from a 546-item catalog, hunts in parallel across specialist roles, then sends every candidate to an independent verifier whose job is to disprove it. Applicability resolves to APPLICABLE, NOT_APPLICABLE, UNKNOWN or BLOCKED so missing evidence is never read as absence; High and Critical findings require regression proof; and the release gate is fail-closed, returning PASS, PASS_WITH_KNOWN_RISK, BLOCKED or INCOMPLETE. Includes an UNTRUSTED_REPO mode that treats repository content as data and never as control instructions.

SecHelix

Every candidate finding goes to an independent verifier whose only job is to disprove it. The report shows you what it refuted and why — and returns INCOMPLETE rather than a clean PASS when it could not actually check.

Open source, Apache-2.0, for code you own or are authorized to test. Runs in Claude Code, Codex, Copilot and other Agent Skills-compatible agents; the Python runtime is optional.

It helps a coding agent:

  • map the attack surface and trust boundaries;
  • review only security checks that apply to the project;
  • investigate authentication, authorization, business logic, injection, SSRF, files, supply chain, AI/MCP and other security surfaces;
  • verify important candidates instead of reporting guesses;
  • fix the root cause;
  • add regression proof and retest;
  • return a clear release decision.

See it work in 90 seconds

git clone https://github.com/omarmohelal/SecHelix && cd SecHelix
python examples/expense-api/prove.py

A small multi-tenant API with two candidate issues. One is a real cross-tenant read that a scanner walks past, because the endpoint does have an authorization check — it just checks the wrong thing. The other is f-string SQL that every pattern matcher flags and that is not exploitable at all.

Walkthrough, root cause, the two-line fix and the regression proof: examples/expense-api.

Or take the same test in your browser — ten cases, three of them decoys, no signup: Can you tell the real bug from the decoy?

Install

Recommended for Agent Skills-compatible coding agents:

npx skills@latest add omarmohelal/SecHelix --skill sechelix

Then open the repository you want to review in your coding agent. The skill installs instructions and data only — no executable code. The optional runtime below is a separate, explicit install.

A compact edition, sechelix-lite, is a single runtime-free review skill (about 200 lines plus five references) for skill directories and hosts where a small context footprint matters. See docs/distribution/awesome-copilot.md.

Use it

Full security audit

Copy this into your agent:

Use SecHelix for a complete authorized security audit of this repository.
Start STATIC and use LOCAL only if it is safe and useful.
Map the attack surface and trust boundaries first.
Verify important candidates before reporting them.
Fix root causes, add regression tests, retest, and give me the final release gate.

Fast security review

Use SecHelix to triage this repository for security issues.
Prioritize authentication, authorization, business logic, secrets, injection, SSRF, file handling, supply chain, dangerous configuration, and AI/MCP surfaces.
Return evidence-backed findings and clearly mark anything unproven.

AI-built app launch audit

Use this before launching an AI-generated, agent-generated, rapidly prototyped, or vibe-coded application:

Use SecHelix's AI-Built App Launch Audit on this authorized application.
Evaluate launch checks 01-36 from references/ai-built-app-launch.md.
Do not mark PASS without exact code, configuration, policy, test, log, or safe runtime evidence.
For every FAIL or security-relevant UNKNOWN, give the realistic failure mode, smallest root-cause fix, and exact safe verification step.
After fixes, re-run the failed/unknown checks and produce the normal SecHelix release gate.

The launch profile covers practical pre-release failures around secrets, auth/authz, cross-user data, database/storage permissions, debug exposure, input validation, SQL/NoSQL injection, XSS/CSRF, uploads, traversal, SSRF, password reset, sessions/JWT, CORS, rate limiting, staging, default credentials, webhooks, payments/entitlements, IDOR/BOLA, sensitive logs, and production artifacts.

Review a pull request

Review this PR with SecHelix.
Focus on security changes introduced by the diff, verify important candidates, and tell me whether the PR introduces a verified blocker or known risk.

Fix findings

Use SecHelix Fix Mode on the verified findings.
Fix the root cause, look for variants of the same bug, add security regression tests, and retest the original finding.

More copy-paste workflows: Command Cookbook.

What should I ask SecHelix to do?

GoalAsk for
Full repository reviewcomplete security audit
Quick first passsecurity triage
AI-built/vibe-coded app before launchAI-Built App Launch Audit
Broken access controlauthorization / IDOR / BOLA audit
Login and sessionsauthentication / session / OAuth audit
Input handlinginjection / XSS / SSRF / files audit
Payments and workflowsbusiness logic / race / idempotency audit
Dependencies and CIsupply chain / CI/CD audit
LLMs, agents and toolsAI / Agent / MCP security audit
A code changePR security review
Existing verified issuesFix Mode
Release decisionrelease gate
Shareable outputsecurity report

You do not need to memorize special slash commands. SecHelix is primarily a skill: tell the coding agent what security job you want done.

How the review works

scope
  → map attack surface
  → select applicable checks
  → investigate
  → independently verify important candidates
  → fix root cause
  → add regression proof
  → retest
  → report + release gate

A scanner match or model suspicion is treated as a candidate, not automatically as a vulnerability.

A strong finding should show the affected surface, attacker control or security boundary involved, reachability, impact, root cause, safe evidence, the fix, and regression/retest status.

What SecHelix does not claim

  • It is not a certification. PASS means the release-gate rules found no unresolved blocking condition in what was reviewed, not that the software has no vulnerabilities.
  • On real code it found 2 of 12 known CVEs. A blinded run against the vulnerable and patched trees of 12 recent CVEs found 2 cleanly under the pre-registered rule, 3 with hand adjudication, and no finding it marked VERIFIED was one of the known defects (report). Precision is NOT_MEASURED.
  • The model still does the reasoning. SecHelix structures the review and labels unproven claims as unproven rather than dropping them: in that run 92 of 106 findings were marked LIKELY_BUT_UNPROVEN or HYPOTHESIS. It does not make a model see a bug it cannot reason about.
  • Host support varies. Installation is verified for the Claude Code plugin, the Agent Skills CLI, the portable bundle and the curated Copilot CLI plugin; other hosts are documented paths (compatibility).
  • Authorized targets only. It is not an internet scanner and ships no exploit payloads.

Optional CLI runtime

The Agent Skill works without the Python runtime. The runtime is optional and adds stored runs, coverage tracking, replayable evidence, reports, CI-friendly exit codes, and an MCP adapter.

Install it with:

pipx install sechelix
sechelix doctor

uv tool install sechelix and python -m pip install sechelix are also supported.

Useful CLI commands

CommandWhat it does
sechelix doctorShows available components and reasoning executors
sechelix audit . --executor claude-codeRuns an audit using Claude Code as the reasoning executor
sechelix audit . --executor gemini-cliRuns an audit using Gemini CLI as the reasoning executor
sechelix runsLists saved runs and checks their integrity
sechelix coverageShows what previous runs did not examine
sechelix reportRenders the latest saved run
sechelix replay <run_id>Replays a recorded run offline and checks consistency
sechelix mcp .Serves the local MCP adapter over stdio

Example:

sechelix doctor
sechelix audit . --executor claude-code
sechelix coverage
sechelix report --format markdown

sechelix audit . with the default --executor none intentionally does not pretend to analyze code. Reasoning nodes are blocked and the run remains incomplete until a real executor is configured.

For all CLI flags:

sechelix --help
sechelix audit --help

Advanced runtime guide: V4 Runtime Quickstart.

GitHub Action

- uses: omarmohelal/SecHelix@v4.0.0-alpha.7
  with:
    executor: none

Outputs PASS, PASS_WITH_KNOWN_RISK, BLOCKED or INCOMPLETE, writes SARIF for code scanning, and uploads the run as an artifact. The default executor: none deliberately reports INCOMPLETE rather than a green check it did not earn — configure a reasoning executor to get an actual review.

Full reference: GitHub Action.

MCP adapter

uvx sechelix mcp /path/to/the/repository

Seven tools over a root you choose, no shell, no network. Six only read; sechelix_audit writes only a run workspace inside that root. The root is the security boundary: point it at the repository under review, not at your home directory.

Reference: MCP adapter.

Execution modes

ModeUse it for
STATICSource, configuration and schema review without dynamic traffic
LOCALSafe dynamic proof against a local app and fixtures
STAGINGExplicitly authorized non-production testing
PRODUCTION_SAFEBounded, non-destructive verification only

Only test systems you own or are explicitly authorized to assess. See SECURITY.md.

Output

Depending on the workflow and available runtime, SecHelix can produce:

  • evidence-backed findings and refuted candidates;
  • root-cause remediation guidance or fixes;
  • security regression tests;
  • retest status;
  • Markdown, redacted JSON, SARIF or HTML reports;
  • a release decision: PASS, PASS_WITH_KNOWN_RISK, BLOCKED, or INCOMPLETE.

Documentation

Start with the practical docs and use the deeper material only when you need it:

The repository also contains detailed schemas, catalogs, adapters, evaluation fixtures and research material. They support the framework; you do not need to read them to start using SecHelix.

License

Apache-2.0. See LICENSE.