Skip to content

[P0] Render the autonomous attack-resistance proof in the live dashboard #41

Description

@TFT444

Objective

Turn the hosted dashboard into a read-only visual observer of the authoritative solguard-security-proof output so a judge can see the autonomous attack, unsafe result, and SolGuard pre-signing block without reading CLI JSON.

Why this is required

PR #40 produces the deterministic problem-first proof, but the deployed dashboard still runs the older manual DemoRuntime scenarios from develop. The visual presentation must render computed proof evidence; it must not invent decisions, balances, signatures, or counters.

Parent tracking: #35

Scope

  • Expose a bounded backend operation that runs or streams one security-proof execution.
  • Render an automatic timeline: normal payments, compromised x402 request, unsafe signature and simulated loss, the identical request through SolGuard, pre-signing block, unchanged protected balance, and safe recovery.
  • Show the same canonical attack request digest on both sides.
  • Render decision, reasons, authorization, signer invocation, signing state, RPC state, and balances only from proof output.
  • Preserve explicit simulated, offline cryptographic, devnet, and not-submitted labels.
  • Provide one-click start, pause/replay, and deterministic reset.
  • Keep manual scenarios only as secondary inspection mode.

Security and evidence invariants

  • The browser cannot submit arbitrary payment or evidence fields.
  • Offline signatures are never presented as Solana transactions.
  • Missing, malformed, timed-out, or failed proof output shows failed/unknown, never success.
  • CLI JSON remains authoritative; the dashboard is only a renderer.

Acceptance criteria

  • One action starts the full sequence without per-payment human control.
  • Unsafe and protected panels show the same attack digest.
  • Protected attack shows BLOCK, no authorization, signer not invoked, no Solana signature, and unchanged balance.
  • Safe recovery is visible.
  • Every displayed value is derived from the proof response.
  • Hosted UI identifies source commit and evidence mode.
  • API tests cover success, malformed output, timeout, and process failure.
  • Browser E2E covers sequence, reset, and replay.
  • Ruff, format, strict mypy, full coverage, and CI pass.

Non-goals

Manual approvals, editable production administration, fabricated network activity, or replacing the headless proof.

Keywords

judge-demo proof-observer autonomous-agent wallet-drain pre-signing evidence-driven-ui

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    area: dashboardSecurity operations and observability interfacearea: demoDemonstration, presentation, and launch readinessarea: testingAutomated verification and adversarial testingpriority: P0Required for the minimum viable secure product

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions