Skip to main content
Glama
DoobyDev

NetSpectre WebMCP Challenge Edition

by DoobyDev
README.md
# NetSpectre WebMCP Challenge Edition

NetSpectre Challenge Edition is a standalone, browser-based demonstration of
human-agent collaboration in a defensive cyber investigation. It was created
for the 2026 WebMCP Challenge and uses synthetic data exclusively.

This repository is **not** the NetSpectre commercial desktop product. It does
not contain NetSpectre's private investigation engine, production data,
customer information, credentials, or proprietary detection logic.

**Live demonstration:** https://netspectre-webmcp.stuhall44.chatgpt.site

## What the demonstration shows

The included fictional case concerns a supplier-impersonation and payment-
diversion attempt. A person and their agent share the same visible case state:

1. The agent obtains a concise case briefing.
2. It reviews preserved evidence metadata without opening or executing files.
3. It explains prioritised signals and their evidence links.
4. It prepares a finding as a draft.
5. The investigator explicitly reviews and approves the finding.
6. The agent generates a summary that reflects the recorded human decision.

## WebMCP tools

| Tool | Behaviour |
| --- | --- |
| `get_case_briefing` | Reads the active case, risk, confidence, and state. |
| `list_case_evidence` | Reads safe metadata for synthetic evidence. |
| `list_prioritised_signals` | Reads explainable signals above an optional confidence threshold. |
| `draft_investigation_finding` | Creates a visible draft that still requires human approval. |
| `generate_incident_summary` | Reads a summary of the current visible review state. |

The app feature-detects `document.modelContext.registerTool`, so its normal
interface continues to work in browsers without WebMCP support.

## Safety properties

- Synthetic evidence only.
- No live scanning, network requests, shell execution, or arbitrary file access.
- Evidence metadata is read-only and no suspicious material is executed.
- Agent-created findings remain drafts until a person approves them visibly.
- Tool inputs use narrow JSON schemas.
- Tool activity is reflected in the visible activity record.
- Outputs support rather than replace professional human judgement.

## Run locally

Use Node.js 22.13 or newer.

```sh
npm install
npm run dev
```

Open the printed local URL. For WebMCP discovery, use ChatGPT's built-in
browser or a supported Chrome build with WebMCP testing enabled.

## Build

```sh
npm run build
```

## Challenge work statement

This standalone WebMCP demonstration was created during the WebMCP Challenge
submission period. NetSpectre existed previously as a private Windows-first
desktop product; judges should evaluate the work in this repository as the new
challenge extension and demonstration.

## Licence boundary

The MIT licence in this repository applies only to the files contained in this
challenge-edition repository. It does not grant rights to the separate
NetSpectre commercial desktop application, its private source, data, brands,
or other proprietary materials.