MCP server: One MCP server.

SecHelix

@omarmohelalRun by its publisher: served from their own domain, namespace checked by the registry.MCP server · External

Evidence-first security review of authorized repositories. Read-only, root-confined, no shell.

Penetration testingv0.3.0Apache-2.0Python
Freeno charge per call

Runs on your machine from its package; the steps are below.

SecHelix — evidence-first application security for coding agents
From the README

What it does

  1. Reads
  2. Writes
  3. High impact

At most: only reads or looks up information.

What it costs

Free

Odel charges nothing per call. The publisher may charge for its own service.

Runs locally over stdio

This server isn't hosted — your MCP client launches it from a package registry. Use one of the commands below, or drop the config into your client (e.g. Claude Desktop).

PyPIsechelixv0.3.0

Run

uvx sechelix

MCP client config

{
  "mcpServers": {
    "sechelix": {
      "command": "uvx",
      "args": [
        "sechelix"
      ]
    }
  }
}
README9 min read

SecHelix — evidence-first application security for coding agents

Most AI security tools try to find more. SecHelix tries to prove itself wrong.

validation Apache-2.0

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

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

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

text
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

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

text
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

text
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

text
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

text
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.

Full local runtime: SecHelix + embedded Strix

For the complete local stack, including the exact Strix source revision that SecHelix has compatibility-tested, clone with submodules and run the bootstrap:

bash
git clone --recurse-submodules https://github.com/omarmohelal/SecHelix.git
cd SecHelix
bash scripts/bootstrap-full.sh

This materializes Strix under engines/strix inside the SecHelix checkout and installs both projects into one Python 3.12 virtual environment. The source is embedded for reproducible installation, while the SecHelix adapter remains the authorization/evidence boundary. OpenRouter setup and first-run commands are in docs/full-install.md.

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:

bash
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 audit . --resume-from .sechelix/checkpoints/RUN-....json --executor nexusResumes only unfinished nodes after verifying the sealed checkpoint against the same target, scope, graph and input world
sechelix launch-audit . --executor claude-codeRuns evidence-routed AI-built-app launch checks 19-36 without turning “no candidate” into PASS
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:

bash
sechelix doctor
sechelix audit . --executor claude-code
sechelix launch-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.

Audit and launch-audit runs now write a self-sealed node-boundary checkpoint under .sechelix/checkpoints/ by default. If the process or host dies, pass that file to --resume-from; completed node evidence is kept, remaining nodes can use a different executor/provider, and resume fails closed if the target commit, scope, graph, input world, budget limits, or checkpoint digest changed.

For all CLI flags:

bash
sechelix --help
sechelix audit --help

Advanced runtime guide: V4 Runtime Quickstart.

GitHub Action

yaml
- 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

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

Similar modules

Browse Penetration testing