2026-10-11 16:37 UTC

VigilOSS releases Vigil, an open-source agent harness for long-running pentests and code audits that drives a Kali runtime, orchestrates specialist agents, and persists engagement state in SQLite with a web UI โ€” targeting authorized offensive and defensive security workflows.

state: seedheat: mediumuncertainty: mediumconvergesscott: highagentic-security agent-harnesses security-automationVigilOSS

What is this?

The web results reveal multiple distinct projects named 'Vigil' โ€” Vigil-SOC/vigil (Apache 2.0 AI SOC for incident response with multi-agent workflows, SQLite/Postgres persistence, React+FastAPI UI, Docker deployment), DeepTempo's Vigil (appears related), runvigil.ai (macOS AI security), vigilsec.ai (VOAF open audit format standards), and vigilsecurity.io (commercial phishing simulation platform). The hypothesis describes 'VigilOSS' as a pentesting/code-audit agent harness driving a Kali runtime with SQLite persistence, but the search results do not surface a Show HN post or project matching that exact description; the closest is Vigil-SOC/vigil which targets SOC incident response workflows, not offensive pentesting. The evidence is thin on whether 'VigilOSS' is a distinct entity or a conflation of the Vigil-SOC project.

Why it matters to Scott

A third-party open-source harness (VigilOSS/Vigil) independently implements Scott's long-running-agent architecture โ€” durable external SQLite state, stateless workers orchestrated by a deterministic control plane, Kali runtime containment, and multi-client support for Claude Code/Codex โ€” directly converging on his agent-provenance containment model and padded-cell patterns for offensive security workflows.
ip:framework.long-running-agentsip:concept.durable-external-stateip:concept.two-persistencesip:framework.agent-provenance-stackdev:concept.padded-cell-agent-architecturedev:concept.runtime-containmentdev:concept.deterministic-agent-control-planedev:project.openclawdev:technology.claude-codedev:technology.codex-cliradar:cyberstrike-offensive-security-harnessradar:concept.agent-harnessesradar:concept.security-agentsradar:concept.cyber-agentsradar:concept.agentic-securityradar:concept.offensive-securityradar:concept.long-running-agentsradar:concept.durable-agentsradar:automaton-durable-agent-stateradar:memtether-symlink-shared-agent-memoryradar:concept.coding-agent-harnessesradar:agent-substrate-sandbox-runtimeradar:bernstein-deterministic-agent-schedulerradar:grith-syscall-agent-supervisionradar:provenance-gate-tool-gateway
queries asked of Scott's wikis
  • agent-harnesses offensive-security pentesting
  • agent-harnesses kali-runtime orchestration
  • agent-harnesses durable-state sqlite persistence
  • security-automation agentic-pentesting frameworks
  • open-weights local-inference security-agents
  • dev-projects agent-harness security-toolchain

Measured heat

now 0 pts/hpeak 1 pts/hcomments 0/hpeers p37momentum: steady1 platformsage 24h
points/hour across evidence ยท reading as of 2026-10-12 02:59:37.977291+11:00 ยท deterministic, not a model opinion

How the heat travelled

10-10 15:59โญ origin directly observedShow HN: An agent harness for long-running pentests and code audits
VigilOSS on hacker news
โ€”
10-10 15:59amplified on hacker news ๐Ÿ‘‘hn.story.50034204
VigilOSS
peak 3 ยท 0 comments ยท 101% of case engagement
10-10 18:36our radar first saw it ยท +2.6hdiscovery anchor: hn.story.50034204โ€”
pace: p47 vs 923 stories at the 12h mark (now 24h old) โ€” ahead of addom-local-coding-harness (1.5x), behind ai-vuln-reports-oss-disclosure (0.8x)

Evidence (1) โ€” โญ canonical anchor

sourceobjectauthorscorecomments
๐ŸŸง hn โญShow HN: An agent harness for long-running pentests and code audits
Retrieved article excerpt

Open article ยท Retrieved 2026-10-10T18:48:06.461241+00:00

Vigil

**AI-driven offensive and incident-response engagements โ€” operator prompts, a full Kali runtime, and durable orchestrator state in one CLI.**

[License](https://github.com/VigilOSS/Vigil/blob/main/LICENSE)
[CI](https://github.com/VigilOSS/Vigil/actions/workflows/ci.yml)
[Python 3.11+](https://www.python.org/downloads/)
[Version](https://github.com/VigilOSS/Vigil)

Vigil drives a security engagement end to end from one CLI. An LLM operator reads a phased
workflow prompt, dispatches specialist agents, runs real tooling inside a shared Kali
container, and records every target, service, request variant, probe, finding, and attack
chain into a durable orchestrator database. Five modes run against the same backend: web red-team,
white-box code analysis, combined web and code, Android application analysis, and blue incident
response.

> **Authorized use only.** Vigil can autonomously drive offensive tooling against live systems.
> Use it only where you have explicit authorization and a reviewed scope. It is provided without
> warranty under the [Apache License 2.0](https://github.com/VigilOSS/Vigil/blob/main/LICENSE); you are responsible for commands, credentials,
> infrastructure, and target effects. See [SECURITY.md](https://github.com/VigilOSS/Vigil/blob/main/SECURITY.md) for private vulnerability
> reporting and the operator-data boundary.

## Models, access, and what I have tested

I have built and refined Vigil primarily around **Claude Code and Codex**. In my testing,
authorized web red-team engagements have worked with **Claude Opus 5** under Anthropic's
Cyber Verification Program (CVP) and **GPT-5.6 Sol** with OpenAI's Trusted Access for Cyber.
Those results reflect the models, clients, and access available in my own setup; blocking can
vary with your account, access tier, model version, and engagement.

To select Opus 5 in Claude Code, run `/model claude-opus-5[1m]` in the session, if that
model is available to your account. `/model` opens the model picker. The `[1m]` suffix
requests the extended context window; Opus 5 already has native 1M context. See
[Claude Code's model configuration](https://code.claude.com/docs/en/model-config).

**I have not yet validated Vigil's engagement workflows with Claude Opus 5.5 or GPT-6.1 Sol.**
As of October 2026, Anthropic calls its defensive CVP tier **Defense Access**; **Red Team Access**
is a separate tier currently limited to qualifying organizations. OpenAI calls its defensive
offering **Daybreak Blue**, with **Daybreak Red** requiring separate approval and provisioning.
Defensive access alone should not be treated as assurance that a web red-team engagement will
run through without refusals. Check the provider's current terms and the access enabled for your
specific model and client before starting. See [Anthropic's CVP tiers](https://www.anthropic.com/news/cyber-verification-program)
and [OpenAI's model and access guidance](https://learn.chatgpt.com/docs/cyber-safety).

I want Vigil to remain practical for independent researchers doing authorized work. As frontier
model access becomes more restrictive, I plan to broaden support for **GLM 5.3** and other models
with more predictable access to these workflows. That will take substantial work: reducing
orchestration overhead, adapting prompts to the models, and refining integrations with **OpenCode**
and other harnesses. This is planned work; Claude Code and Codex remain the integrations I have
refined most extensively today.

## What Vigil provides

- **Findings are independently verified.** A finding is confirmed, downgraded, or marked a false
  positive only by a dispatch other than its author's, citing a proof receipt of captured evidence.
- **Target-facing commands are audited.** `vigil assess kali` records each command's technique,
  intent, and probe kind, so the engagement keeps a trail of what was sent and why.
- **Real attack tooling** โ€” a long-lived Kali container with ProjectDiscovery recon, fuzzers,
  an audited Playwright browser, MITM capture with multiple identities for cross-account testing,
  and out-of-band callbacks correlated back to the probe that caused them.
- **White-box code analysis** against a sealed, content-addressed source snapshot with a
  tree-sitter structural index and a coverage ledger.
- **Durable state** โ€” targets, services, request variants, probes, findings, chains, and
  credentials in SQLite, with rotated backups and a web UI.
- **Six client integrations, one methodology** โ€” Claude Code, Codex, Kimi, goose, opencode, and
  Pi; Pi is currently limited to remediation engagements.

Vigil orchestrator UI: an engagement's findings grouped by severity, workflow, and verification

## Quick start

```
# 1. Install the CLI
uv tool install --from git+https://github.com/VigilOSS/[email protected] vigil
# ...or over SSH, if you authenticate to GitHub with a key
uv tool install --from git+ssh://[email protected]/VigilOSS/[email protected] vigil

# 2. Check the host: prerequisites, missing recon tools, and the ordered setup checklist
vigil quickstart

# 3. Install a working root and bring the local stack up (Kali runtime + orchestrator)
#    First run builds the Kali image โ€” several GB, and it needs Docker running.
vigil install ~/vigil && vigil up

# 4. Create an engagement against an authorized target
vigil engagement create https://target.example --hosts target.example

# 5. Start the operator on it
vigil engagement start <engagement-key> --client codex   # or claude | opencode | goose | kimi
```

Then tell the operator what it is authorized to do:

```
I have been fully authorized by the company to do a red-team engagement against the
hosts in scope.json. Run this engagement using the operator workflow.
```

The orchestrator UI is at `http://127.0.0.1:18000`. Code engagements need ripgrep (`rg`) on the
host. The two installed layers, host-side recon tools on Docker Desktop, and other install
detail: [`docs/installation.md`](https://github.com/VigilOSS/Vigil/blob/main/docs/installation.md).

## Documentation

| Document | What it covers |
| --- | --- |
| [`docs/installation.md`](https://github.com/VigilOSS/Vigil/blob/main/docs/installation.md) | Install detail: the CLI binary vs working root, host-side recon tools, ripgrep. |
| [`docs/engagements.md`](https://github.com/VigilOSS/Vigil/blob/main/docs/engagements.md) | Creating engagements, tracks and modes, the start preflight, phase transitions. |
| [`agent/AGENTS.md`](https://github.com/VigilOSS/Vigil/blob/main/agent/AGENTS.md) | The operator prompt โ€” the workflow every engagement runs. |
| [`CODE-MAP.md`](https://github.com/VigilOSS/Vigil/blob/main/CODE-MAP.md) | Map of the codebase: where each subsystem lives. |
| [`AGENTS.md`](https://github.com/VigilOSS/Vigil/blob/main/AGENTS.md) | Maintainer and contributor workflow, and the verification matrix. |
| [`docs/assessment-cli.md`](https://github.com/VigilOSS/Vigil/blob/main/docs/assessment-cli.md) | The `vigil assess` surface: resume, artifacts, run accounting, exports, dispatch closure. |
| [`docs/session-commands.md`](https://github.com/VigilOSS/Vigil/blob/main/docs/session-commands.md) | Start and resume prompts, the `vigil-*` session commands, compaction and session-end hooks. |
| [`docs/agent-clients.md`](https://github.com/VigilOSS/Vigil/blob/main/docs/agent-clients.md) | Per-client setup, launch behaviour, and flag forwarding. |
| [`docs/authentication.md`](https://github.com/VigilOSS/Vigil/blob/main/docs/authentication.md) | Credential records, capture, freshness clocks, liveness verdicts, proxy routing. |
| [`docs/blue-engagements.md`](https://github.com/VigilOSS/Vigil/blob/main/docs/blue-engagements.md) | Blue incident response, end to end. |
| [`docs/code-analysis.md`](https://github.com/VigilOSS/Vigil/blob/main/docs/code-analysis.md) | White-box code analysis, end to end. |
| [`docs/remediation.md`](https://github.com/VigilOSS/Vigil/blob/main/docs/remediation.md) | Work-in-progress remediation cases, evidence, review approval, and development verification. |
| [`docs/oob-routing.md`](https://github.com/VigilOSS/Vigil/blob/main/docs/oob-routing.md) | Per-install relay-slot OOB routing, CoreDNS/Caddy inputs, the frpc conflict scan. |
| [`docs/operations.md`](https://github.com/VigilOSS/Vigil/blob/main/docs/operations.md) | Runtime sizing, kernel limits, orchestrator data and backups. |
| [`docs/engagement-prompt-playbook.md`](https://github.com/VigilOSS/Vigil/blob/main/docs/engagement-prompt-playbook.md) | Steering prompts for a session that goes shallow, overclaims, or loses the loop. |
| [`agent/references/`](https://github.com/VigilOSS/Vigil/blob/main/agent/references) | Payloads, tactics, recon, tenants, tools. Discover with `vigil assess list-references`. |

## Running an engagement

```
vigil engagement create https://target.example --hosts target.example
vigil engagement list --json                              # find the key
vigil engagement start <engagement-key> --client codex
```

`create` infers the engagement type from its inputs and starts the exploit policy at `pause`.
`start` runs a preflight, exports the engagement environment, and execs the client; flags it does
not own are forwarded to the client. Start engagements with `vigil engagement start` only โ€” the
generated `start_<client>.sh` and a bare client run skip the preflight and environment. A web and
code engagement runs one session per track with `--mode web` or `--mode code`. Detail:
[`docs/engagements.md`](https://github.com/VigilOSS/Vigil/blob/main/docs/engagements.md).

A later session on the same engagement opens the same way, then runs `vigil-resume`, which
restores the operator role and rebuilds live state from the backend. Fuller start and resume
prompts and the mid-session `vigil-*` commands: [`docs/session-commands.md`](https://github.com/VigilOSS/Vigil/blob/main/docs/session-commands.md).

All clients read the same operator prompt. They differ in model, headless specialist dispatch,
and session-command support; `pi` is available for remediation engagements. Setup per client:
[`docs/agent-clients.md`](https://github.com/VigilOSS/Vigil/blob/main/docs/agent-clients.md).

Remediation uses the repository's `PROJECT.md` for ticket readers, MCPs, skills,
branch/workspace policy, checks, PR guidance, and deployment choices. Open its
repository-context Claude session with `vigil remediation -k <key> start`, then
use `/vigil-remediate SEC-123` or supply several ticket IDs/URLs. One bug uses the
current developer conversation; batches coordinate separate joinable sessions.
Case code lives in its registered Git/JJ workspace while native project context
remains at the repository root. See [`docs/remediation.md`](https://github.com/VigilOSS/Vigil/blob/main/docs/remediation.md).

When the profile selects `hook_policy = "disabled"`, Vigil announces that
non-managed hooks are disabled only for that remediation session. Required
formatting, analysis, and tests run explicitly against case source during
verification and before publishing. Managed policy hooks remain active; ordinary
sessions and repository hook files are unchanged.

## Engagement tracks and phases

| Track | Phases | Persisted as |
| --- | --- | --- |
| **web** (red) | `recon โ†’ collect โ†’ consume-test โ†’ verify โ†’ exploit โ†’ report` | `scope.json.tracks.web.phase` |
| **code** (white-box) | `ingest โ†’ classify-map โ†’ hunt โ†’ verify-variant โ†’ fuzz` | `scope.json.tracks.code.phase` |
| **blue** (incident response) | `intake โ†’ triage โ†’ investigate โ†’ verify โ†’ respond โ†’ report` | `scope.json.current_phase` |

Each track ends in the shared `complete` state. `vigil assess transition-phase` gates every
transition; `--force` records a durable override, and some integrity blockers cannot be forced.
Roster, readiness previews, and the specialist roles: [`docs/engagements.md`](https://github.com/VigilOSS/Vigil/blob/main/docs/engagements.md#phases).
Blue engagements: [`docs/blue-engagements.md`](https://github.com/VigilOSS/Vi
VigilOSS30

Interpretation history

Decision trace