Skip to content
SecHelixv3 alpha
GitHub
DocsContributeSupportWorkbenchGitHub
Back to overview
Five minutes, no account

Try SecHelix on a target that can prove it is wrong.

Install the Agent Skill, optionally add the runner, and audit a demo app where every vulnerable file has a clean twin. No signup, no email, no cloud, nothing leaves your machine.

01

Five commands

  1. 01

    Install the Agent Skill

    Works inside Claude Code, Codex and Copilot. No Python, no runner, no account.

    npx skills@latest add omarmohelal/SecHelix --skill sechelix
  2. 02

    Add the runner (optional)

    Only if you want the workflow driven by code instead of by an agent. The skill above keeps working without it.

    pipx install sechelix
  3. 03

    Check what is available

    Reports Python, Git, container runtime, network mode and whether a reasoning executor is configured. Optional components are allowed to be missing.

    sechelix doctor
  4. 04

    Audit the demo app

    Five vulnerable files, each paired with a clean counterpart that differs in exactly one security-relevant way.

    sechelix audit examples/demo-app
  5. 05

    Open the evidence

    Every node has a record, including the ones that did not run. Nothing disappears from a report.

    sechelix report --format html > report.html
02

Your first run will say INCOMPLETE. That is correct.

The runner orchestrates; it does not reason about code. With no reasoning executor configured, every specialist lane is BLOCKED and the run refuses to make a claim in either direction.

sechelix audit examples/demo-app
  BLOCKED    authorization   no reasoning executor configured; this node
                             analyses code and cannot be answered by the
                             runner alone
  SUCCEEDED  map
  BLOCKED    verify          dependency not satisfied: authorization
  BLOCKED    gate            dependency not satisfied: verify

RESULT  INCOMPLETE - unsatisfied mandatory nodes: gate, verify
        No security claim can be made from this run.

The alternative would be worse. A stub returning “no findings” produces a report indistinguishable from a genuine clean audit, and a fail-closed release gate would hand out a pass for a run in which nothing was examined. To analyse code, point the runner at a reasoning executor with --executor.

03

Why the demo app has clean twins

A target that only contains bugs measures whether a tool finds things. It cannot measure whether the tool stops — an agent that flags every line scores perfectly on a vulnerable-only corpus and is useless in a real repository. Each pair differs in exactly one security-relevant way, so a false positive is visible.

Object authorization

The clean version: ownership is checked before the object is returned.

Business logic

The clean version: the refund is bounded by what was actually paid.

Outbound request

The clean version: the destination is validated against an allowlist.

Template rendering

The clean version: user text is escaped rather than interpolated.

Concurrency

The clean version: the redemption is atomic and idempotent.

A tool that reports the five vulnerable files and says nothing about the clean ones has done well. These are teaching examples, not a benchmark: too few and too obvious to measure anything, and no accuracy claim should be made from them.

04

What runs where

  • Nothing leaves your machine. STATIC is the default and performs no network access at all — it will refuse to issue a network grant.
  • No account, ever, for the offline path. Install, doctor, audit, report, replay and coverage all work with no signup and no key.
  • The runner is optional. The Agent Skill is the product; a test asserts the skill ships no copy of the runner and that the core never imports it.
  • Run data is local and gitignored. Everything lands in .sechelix/runs/, with credential-shaped values redacted on write.
Only on systems you are authorized to test

The demo app is safe because it is yours and it is local.

Runner quickstart Source on GitHub