-
Notifications
You must be signed in to change notification settings - Fork 292
docs(examples): add tripwire external project guide #244
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Open
neomatrix369
wants to merge
12
commits into
superlinked:main
Choose a base branch
from
neomatrix369:docs/upstream-tripwire-only
base: main
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
+593
−1
Open
Changes from 2 commits
Commits
Show all changes
12 commits
Select commit
Hold shift + click to select a range
5e373c2
docs(examples): add rag-params-finder external project guide
neomatrix369 18f0f6c
docs(examples): add tripwire external project guide
neomatrix369 1e3163e
fix(examples): point tripwire docs at published SIE setup paths
neomatrix369 42cf994
docs(examples): define External project guide status in gallery
neomatrix369 4cb9cb8
docs(examples): define External project guide status in gallery
neomatrix369 c2a8c89
Merge pull request #3 from neomatrix369/docs/examples-rag-params-finder
neomatrix369 683b20d
docs(examples): add rag-params-finder external project guide
neomatrix369 377d17e
Merge branch 'main' into docs/examples-tripwire
neomatrix369 38855f2
Merge pull request #4 from neomatrix369/docs/examples-tripwire
neomatrix369 a1fd758
fix(examples): address CodeRabbit tripwire gallery review
neomatrix369 5fcd264
Merge branch 'main' into docs/upstream-tripwire-only
neomatrix369 2cbca0e
fix(examples): caveat upstream SIE-only routing docs
neomatrix369 File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,49 @@ | ||
| # Scan AI skills and MCP servers, then triage with SIE | ||
|
|
||
| > Tripwire is a metal detector for AI tools — discover, scan in isolation, review | ||
| > findings in one dashboard. Optional Superlinked SIE routes findings after Live scans. | ||
|
|
||
| This is an **external project guide**. The runnable app lives in | ||
| [neomatrix369/tripwire](https://github.com/neomatrix369/tripwire). | ||
| This folder is the SIE-facing onboarding surface: short pages here, full detail | ||
| in that repo. | ||
|
|
||
| **SIE primitives used:** `generate` (chat completions via OpenAI-compatible | ||
| `/v1/chat/completions` for post-scan triage). SIE is **optional** — Mock demo and | ||
| Live scans work without it; routing runs only when `SIE_*` keys are set. | ||
|
|
||
| ## Who this is for | ||
|
|
||
| | You are… | Start here | | ||
| |---|---| | ||
| | New to SIE, found this in the gallery | [Getting started](./getting-started.md) → [SIE integration](./sie-integration.md) | | ||
| | New to Tripwire, want SIE triage | Same path — then [What SIE does here](./what-sie-does.md) | | ||
|
|
||
| Happy path for SIE: Mock demo first → Live scan (Supabase + Modal) → enable | ||
| hosted SIE → `tripwire route` (or auto-route after scan). | ||
|
|
||
| ## Start here | ||
|
|
||
| 1. [Getting started](./getting-started.md) — clone, Mock demo, then Live prerequisites | ||
| 2. [SIE integration](./sie-integration.md) — `SIE_*` keys, verify, route a batch | ||
| 3. [What SIE does here](./what-sie-does.md) — tiered router, Model Studio escalation | ||
| 4. [Troubleshooting](./troubleshooting.md) — short FAQ + deep-links | ||
|
|
||
| **Canonical docs in the project:** | ||
| [QUICKSTART](https://github.com/neomatrix369/tripwire/blob/main/QUICKSTART.md) · | ||
| [SIE setup](https://github.com/neomatrix369/tripwire/blob/main/docs/user-guide/sie-setup.md) · | ||
| [docs hub](https://github.com/neomatrix369/tripwire/blob/main/docs/README.md) | ||
|
|
||
| ## Ports cheat sheet | ||
|
|
||
| | Service | Port | Notes | | ||
| |---|---|---| | ||
| | Dashboard | `8765` | `node scripts/serve-dashboard.mjs` | | ||
| | SIE | Hosted | `https://api.superlinked.com` or EU endpoint — not self-hosted by default | | ||
|
|
||
| ## Attribution | ||
|
|
||
| Built and maintained in | ||
| [neomatrix369/tripwire](https://github.com/neomatrix369/tripwire) | ||
| ([license](https://github.com/neomatrix369/tripwire/blob/main/LICENSE)). | ||
| Architecture and deeper guides live in that repository. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,58 @@ | ||
| # Getting started (Mock first, then Live) | ||
|
|
||
| Goal: install the Tripwire CLI and see the Mock dashboard before adding cloud | ||
| accounts or SIE. | ||
|
|
||
| **Source of truth:** | ||
| [QUICKSTART.md](https://github.com/neomatrix369/tripwire/blob/main/QUICKSTART.md). | ||
|
|
||
| ## Prerequisites | ||
|
|
||
| - Node.js **22** | ||
| - Python **3.12** (scanners / tooling) | ||
| - Git and npm | ||
|
|
||
| Details: [prerequisites.md](https://github.com/neomatrix369/tripwire/blob/main/docs/user-guide/prerequisites.md). | ||
|
|
||
| ## Mock demo (no cloud accounts) | ||
|
|
||
| ```bash | ||
| git clone https://github.com/neomatrix369/tripwire.git | ||
| cd tripwire | ||
| cd cli && npm install && npm link && cd .. | ||
|
|
||
| tripwire scan --dry-discover ./fixtures/skills/safe-csv-cleaner | ||
| node scripts/serve-dashboard.mjs | ||
| ``` | ||
|
|
||
| Open **http://127.0.0.1:8765/** → choose **Mock (demo data)** in Guard. | ||
|
|
||
| More commands: | ||
| [setup-commands.md](https://github.com/neomatrix369/tripwire/blob/main/docs/user-guide/setup-commands.md). | ||
|
|
||
| ## Live path (before SIE) | ||
|
|
||
| SIE routing expects a completed **Live** scan batch. Minimum Viable Live: | ||
| **Supabase + Modal** (scanner vendor keys are optional and soft-skip if missing). | ||
|
|
||
| 1. Accounts: [supabase-setup](https://github.com/neomatrix369/tripwire/blob/main/docs/user-guide/supabase-setup.md) → | ||
| [modal-setup](https://github.com/neomatrix369/tripwire/blob/main/docs/user-guide/modal-setup.md) | ||
| 2. Keys: [env-vars.md](https://github.com/neomatrix369/tripwire/blob/main/docs/user-guide/env-vars.md) | ||
| 3. Bootstrap: | ||
|
|
||
| ```bash | ||
| cp .env.example .env | ||
| # fill SUPABASE_* and MODAL_TOKEN_* (and scanners you want) | ||
| tripwire setup | ||
| ./scripts/setup-modal.sh | ||
| tripwire scan ./fixtures/skills/safe-csv-cleaner | ||
| node scripts/serve-dashboard.mjs | ||
| # Open Live (Supabase) in the dashboard | ||
| ``` | ||
|
|
||
| Full Live checklist: | ||
| [QUICKSTART — Live](https://github.com/neomatrix369/tripwire/blob/main/QUICKSTART.md#live-advanced). | ||
|
|
||
| ## Next | ||
|
|
||
| Enable Superlinked routing: [SIE integration](./sie-integration.md). | ||
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,64 @@ | ||
| # SIE integration (tiered router) | ||
|
|
||
| SIE is **optional**. Missing `SIE_*` keys causes auto-route to warn and skip; the | ||
| scan itself still succeeds. | ||
|
coderabbitai[bot] marked this conversation as resolved.
Outdated
|
||
|
|
||
| **Source of truth:** | ||
| [docs/user-guide/sie-setup.md](https://github.com/neomatrix369/tripwire/blob/main/docs/user-guide/sie-setup.md). | ||
|
|
||
| Finish a Live scan path from [Getting started](./getting-started.md) before | ||
| relying on routing in the product UI. | ||
|
|
||
| ## Happy path — hosted Superlinked gateway | ||
|
|
||
| 1. Sign in at [console.superlinked.com](https://console.superlinked.com) → **Keys**. | ||
| 2. Put values in the **repo-root** `.env` (CLI does **not** load `prototypes/.env`): | ||
|
|
||
|
coderabbitai[bot] marked this conversation as resolved.
|
||
| ```bash | ||
| SIE_ENDPOINT=https://api.superlinked.com | ||
| # EU: https://eu.api.superlinked.com | ||
| SIE_API_KEY=sk-sie-… | ||
| # optional | ||
| SIE_MODEL=gen-4b | ||
| ``` | ||
|
|
||
| Key map: | ||
| [env-vars — tiered router](https://github.com/neomatrix369/tripwire/blob/main/docs/user-guide/env-vars.md#optional--tiered-router-sie--model-studio). | ||
|
|
||
| ## Verify SIE alone | ||
|
|
||
| ```bash | ||
| cd prototypes/sie-studio | ||
| python3 sie_studio.py list | ||
| python3 sie_studio.py generate "Reply with one word: ok" --model gen-4b | ||
| ``` | ||
|
|
||
| Sample CLI notes: | ||
| [prototypes/sie-studio](https://github.com/neomatrix369/tripwire/blob/main/prototypes/sie-studio/README.md). | ||
|
|
||
| ## Route after a Live scan | ||
|
|
||
| ```bash | ||
| tripwire scan ./fixtures/skills/safe-csv-cleaner # auto-routes when SIE_* set | ||
| # or | ||
| tripwire route --batch-id <batch_id> | ||
| node scripts/serve-dashboard.mjs | ||
| ``` | ||
|
|
||
| Look for pathway strips (Scan → SIE → …) and filters (**Escalated** / **SIE-only**): | ||
| [reading-router-results.md](https://github.com/neomatrix369/tripwire/blob/main/docs/user-guide/reading-router-results.md). | ||
|
|
||
| **First success:** a batch shows SIE routing strips in the Live dashboard (or | ||
| `tripwire route` completes without skipping for missing keys). | ||
|
|
||
| ## Optional — Model Studio escalation | ||
|
|
||
| Alibaba Cloud Model Studio runs only when SIE signals conflict, unusual status, | ||
| or low confidence. Configure after Part A in | ||
| [model-studio-setup.md](https://github.com/neomatrix369/tripwire/blob/main/docs/user-guide/model-studio-setup.md) | ||
| (`DASHSCOPE_*` / `ALIBABA_OPENAI_BASE_URL`). Review billing/quotas first. | ||
|
|
||
| ## Next | ||
|
|
||
| Understand the router design: [What SIE does here](./what-sie-does.md). | ||
| Stuck? [Troubleshooting](./troubleshooting.md). | ||
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,41 @@ | ||
| # Troubleshooting (SIE / router-focused) | ||
|
|
||
| Short FAQ for gallery readers. Full guides: | ||
| [sie-setup.md](https://github.com/neomatrix369/tripwire/blob/main/docs/user-guide/sie-setup.md), | ||
| [model-studio-setup.md](https://github.com/neomatrix369/tripwire/blob/main/docs/user-guide/model-studio-setup.md), | ||
| [setup-commands — when it fails](https://github.com/neomatrix369/tripwire/blob/main/docs/user-guide/setup-commands.md#when-it-fails), | ||
| [env-vars.md](https://github.com/neomatrix369/tripwire/blob/main/docs/user-guide/env-vars.md). | ||
|
|
||
| ## Route warns and skips | ||
|
|
||
| `SIE_ENDPOINT` and/or `SIE_API_KEY` missing from **repo-root** `.env`. The CLI | ||
| does not load `prototypes/.env`. Scan can still succeed. | ||
|
|
||
| ## `sie_studio.py` fails but `.env` looks fine | ||
|
|
||
| Confirm keys are in `prototypes/.env` for the sample CLI, or export the same | ||
| variables in the shell. Product routing still needs root `.env`. | ||
|
|
||
| ## No pathway strips in the dashboard | ||
|
|
||
| - You are on **Mock** — switch to **Live (Supabase)** after a real scan | ||
| - Batch was never routed — run `tripwire route --batch-id …` or re-scan with | ||
| `SIE_*` set | ||
| - Read filters: [reading-router-results.md](https://github.com/neomatrix369/tripwire/blob/main/docs/user-guide/reading-router-results.md) | ||
|
|
||
| ## Live scan “all clear” but a scanner was missing | ||
|
|
||
| Missing scanner keys **soft-skip** that engine — not a clean bill of health. | ||
| MVP Live only needs Supabase + Modal. | ||
|
|
||
| ## Model Studio never runs | ||
|
|
||
| Expected unless SIE escalates. Configure Part B only after SIE works; check | ||
| `DASHSCOPE_*` / region endpoint in [model-studio-setup](https://github.com/neomatrix369/tripwire/blob/main/docs/user-guide/model-studio-setup.md). | ||
|
|
||
| ## Still stuck? | ||
|
|
||
| 1. [QUICKSTART](https://github.com/neomatrix369/tripwire/blob/main/QUICKSTART.md) | ||
| 2. [docs hub](https://github.com/neomatrix369/tripwire/blob/main/docs/README.md) | ||
| 3. Open an issue on | ||
| [neomatrix369/tripwire](https://github.com/neomatrix369/tripwire/issues) |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,56 @@ | ||
| # What SIE does in Tripwire | ||
|
|
||
| Tripwire discovers AI skills and MCP servers, runs isolated safety scanners | ||
| (Modal + Cisco / Snyk / Tessl, etc.), stores findings in Supabase, and shows them | ||
| in one dashboard. **SIE is a post-scan tiered router**, not part of the core | ||
| scan path. | ||
|
|
||
| **Source of truth:** | ||
| [sie-setup.md](https://github.com/neomatrix369/tripwire/blob/main/docs/user-guide/sie-setup.md) · | ||
| [model-studio-setup.md](https://github.com/neomatrix369/tripwire/blob/main/docs/user-guide/model-studio-setup.md) · | ||
| [ADR-0016](https://github.com/neomatrix369/tripwire/blob/main/docs/adr/0016-tiered-router-sie-model-studio.md). | ||
|
|
||
| ## SIE primitives | ||
|
|
||
| | Primitive | Role in this project | | ||
| |---|---| | ||
| | `generate` | Triage scanner findings via OpenAI-compatible chat (`/v1/chat/completions`) | | ||
|
|
||
| Default model override: `SIE_MODEL` (default `gen-4b`). Endpoint + API key from | ||
| `SIE_ENDPOINT` / `SIE_API_KEY`. | ||
|
|
||
| ## Flow | ||
|
|
||
| ```text | ||
| Discover → Scan (Modal / scanners) → Store (Supabase) | ||
| │ | ||
| ▼ | ||
| SIE triage (optional) | ||
| │ | ||
| escalate? ──yes──► Model Studio | ||
| │ | ||
| ▼ | ||
| Dashboard pathway strips | ||
| ``` | ||
|
|
||
| Router findings use `scanner_source=tiered_router` and are excluded from severity | ||
| rollups — triage is separate from scanner severity. | ||
|
|
||
| ## vs Mock and Live without SIE | ||
|
|
||
| | Mode | Needs SIE? | | ||
| |---|---| | ||
| | Mock demo | No | | ||
| | Live scan + dashboard | No | | ||
| | Auto-route / `tripwire route` | Yes (`SIE_*`) | | ||
| | Model Studio second hop | SIE + Model Studio keys | | ||
|
|
||
| ## Sample prototypes | ||
|
|
||
| - [prototypes/sie-studio](https://github.com/neomatrix369/tripwire/tree/main/prototypes/sie-studio) — list / generate against SIE | ||
| - [prototypes/model-studio](https://github.com/neomatrix369/tripwire/tree/main/prototypes/model-studio) — escalation sample | ||
|
|
||
| ## Next | ||
|
|
||
| Wire keys and route: [SIE integration](./sie-integration.md). Problems: | ||
| [Troubleshooting](./troubleshooting.md). |
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.