Skip to content

docs(warhacker): drone-loses-contact end-to-end scenario + tamper test#101

Closed
stephenlutar2-hash wants to merge 1 commit into
mainfrom
perplexity/warhacker-scenario-2026-05-30
Closed

docs(warhacker): drone-loses-contact end-to-end scenario + tamper test#101
stephenlutar2-hash wants to merge 1 commit into
mainfrom
perplexity/warhacker-scenario-2026-05-30

Conversation

@stephenlutar2-hash
Copy link
Copy Markdown
Member

Why

At Warhacker (June 16–19, San Diego), Andrew Greene (Defense Unicorns)
explicitly asked for a "running deployment" that proves AI oversight
end-to-end — not slideware. This PR adds that scenario.

An autonomous-AI action proposal (a drone that has lost its C2 link proposing
to redirect into an unauthorized zone) flows through all five SZL substrate
modules and is denied, producing a tamper-evident DSSE receipt chain that
any reviewer in the room can verify themselves (Doctrine V7 §10 — no theater).

a11oy (orchestration) → sentra (security gates) → amaru (memory chain)
      → rosie (operator console) → vessels (operator UI)

What's in docs/warhacker-scenario/

  • scenario_drone_loses_contact.sh — single bash entry point, ≤90s on a warm
    cache, 7 steps across all 5 modules (live cluster or offline fixture mode).
  • scenario_drone_loses_contact.md — narrated walkthrough.
  • scenario_tamper_test.sh — mutate a receipt → DSSE verify fails → sentra
    alerts → rosie flags the chain break.
  • fixtures/proposal_rejected, proposal_accepted, receipt_chain
    (3-receipt DSSE chain), tampered_receipt, plus gen_fixtures.py.
    Signatures are real HMAC-SHA-256 over the canonical payload using the
    published demo key szl-warhacker-demo-2026.

The 18 verifiable proof points (1 per ~5s)

Every line is a discrete kubectl / curl / DSSE-verify command:

  • a11oy — PP1 pods Running · PP2 POST /api/v1/proposals · PP3 read 9-axis
    verdict · PP4 verify DSSE receipt signature.
  • sentra — PP5 deny-by-default alert in logs · PP6 confirm policy mode ·
    PP7 failing axis explicit in receipt (actorIdentity 0.42 < 0.90).
  • amaru — PP8 receipt chained (3 receipts) · PP9 prev_receipt_hash linkage
    INTACT · PP10 every receipt VERIFIED · PP11 σ-algebra node id recorded.
  • rosie — PP12 console pod Running · PP13 receipts surfaced for uav-7 ·
    PP14 replay view URL.
  • vessels — PP15 web pod Running · PP16 uav-7 marked REJECTED · PP17 fleet
    map URL.
  • provenance — PP18 deployed bundle is keyless-signed (cosign verify-blob).

Verification (CI-free, reproducible)

  • bash -n passes on both scripts.
  • python3 -m json.tool passes on all four fixtures.
  • DSSE spot-check: recomputing HMAC-SHA-256 over the canonical payload matches
    the stored signature; the tampered fixture fails verification (correct).

Scope

In-cluster scenario only. The UDS bundle / Zarf package build is owned by the
parallel Gap 1 effort (szl-uds-deployment, uds run start); this scenario
drives the already-deployed substrate and does not rebuild it. No module repos
touched — .github/docs/ only.

Real receipts, real DSSE signatures, real Lean reference (lutar-lean:
Lutar/PACBayes/CapabilityImprovementRate.lean@c4d1379568). No fake outputs.

Per UDS-bundle verification: only vessels ships a real signed Zarf package +
GHCR image, and szl-receipts ships a real Pepr admission policy + receipts
server. a11oy/amaru/sentra/rosie ship SBOMs only at uds-v0.3.0 (no images),
so they are NOT live cluster pods.

Revised the scenario to the REAL moving parts:
  workload (kubectl apply) -> Pepr szl-receipt-policy (admission webhook)
    -> DSSE HMAC-SHA-256 receipt -> szl-receipts-server /receipts
    -> kubectl annotations + cosign/HMAC verify  (tamper breaks it)

- Dropped the '5 modules running in real-time' framing.
- Fixtures now match the production receipt contract exactly
  (szl-receipt-on-deploy.ts): plain HMAC over payload bytes (no PAE wrapper),
  _type https://szlholdings.com/receipt/v1, demo key
  c3psLWRldi1kZW1vLWtleS0yMDI2LXdhcmhhY2tlcg==, keyid szl-dev-hmac-sha256-2026.
- Source talk track: szl-uds-deployment/docs/WARHACKER_DEMO.md.

Honest demo > theatrical demo. Doctrine V7 §10.

Signed-off-by: Stephen P. Lutar Jr. <stephenlutar2@gmail.com>
@stephenlutar2-hash stephenlutar2-hash force-pushed the perplexity/warhacker-scenario-2026-05-30 branch from 7fb7f14 to a9e0b64 Compare May 30, 2026 20:11
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant