neomatrix369/tripwire

Sandboxed security scanning for AI skills and MCP servers — precise findings, heatmap posture, fail-closed agent guard. Multi-scanner security platform for AI skills and MCP servers, scan what the agents install!

6

stars

428

commits

Python

primary language

Sep 9, 2026

updated

ai-agents
ai-security
cisco
devsecops
mcp
mcp-security
modal
model-routing
qwen
sandbox
scanner
security
security-scanner
sie
skills
snyk
superlinked
tessl
vulnerability-scanner
Browse cluster: Secret Detection & Data Leak Prevention

README

Tripwire

Discover and scan AI skills and MCP servers, then review the findings in one dashboard.

Python Node.js Docker Modal Supabase Cisco Skill/MCP Scanner Snyk Tessl DepShield Ossprey Superlinked SIE Alibaba Cloud Model Studio

CI Nightly Complexity Code Review Graph Security Stability Licensing Release License Last Commit Stars

Meterian Security / Stability / Licensing badges mirror the public Meterian project report (dependency and policy scan for this GitHub repo — not a Tripwire scan adapter). CI / Nightly / Complexity badges reflect GitHub Actions on main.

Tripwire banner

Where do you want to go?

If you want to…Go here
Try a hosted dashboard (no clone)Live demo on neomatrix369.github.io
Watch the demo walkthroughYouTube — Tripwire dashboard tour
Try a safe demo (no cloud accounts) — RecommendedQUICKSTART — Try the demo
Run a real Live scan — AdvancedQUICKSTART — Live
Change the codeCONTRIBUTING
Understand the systemArchitecture · docs hub · Status

What Tripwire does

Tripwire helps technical teams assess AI skills and MCP servers before they rely on them. It discovers targets, runs the enabled scanner adapters in an isolated Modal sandbox, stores findings in Supabase, and brings them together in one dashboard (Live or Mock).

Optionally, after each scan batch it runs a tiered router: Superlinked SIE triages findings, and Alibaba Cloud Model Studio escalates when scanners disagree or coverage looks incomplete (ADR-0016).

Providers and scanners

LayerProvider / toolRole
PlatformModalIsolated scan sandbox (Docker image + Python adapters)
PlatformSupabasePostgres + Realtime store for runs, scanners, findings
ScannerCisco Skill Scanner / MCP Scanner / AI DefenseSkill and MCP security inspection
ScannerSnyk (snyk-agent-scan)Depth / agent scan for skills and MCP servers
ScannerTesslFive skill capabilities: Lint (auth-free), Review (Quality), Scenario Generation, Eval, Review (Security)
ScannerDepShield (depshield-mcp)Dependency audit (npm + PyPI via OSV.dev); no credentials
ScannerOssprey (ossprey-cli)Malware / malicious-package scan (skills + MCP); needs OSSPREY_API_KEY
Router (optional)Superlinked SIECheap post-scan triage on every item
Router (optional)Alibaba Cloud Model StudioEscalation only when SIE signals

Missing Snyk / Cisco / Tessl / Ossprey keys → that scanner reports skipped / needs_setup / skipped_missing_credential rather than claiming a complete scan. DepShield always runs when the sandbox image includes it (no secret sync). Capability honesty and evidence states: docs/STATUS.md · inventory: ARCHITECTURE §0 · Ossprey key allowlist: OPTIONAL_SCANNER_KEYS.

Who Tripwire is for

Tripwire is currently an early-adopter tool with a hands-on setup and management component. It is a good fit if you are comfortable using a terminal and shell, managing local tooling and environment variables, editing .env and other configuration files carefully, creating cloud/vendor accounts, and using command output to resolve a setup issue.

You are...You want to...
An AI-tooling developer or teamAssess skills and MCP servers before using or sharing them
A platform, operations, or security practitionerRun and maintain scans for a team
A contributorExtend scanner support, the CLI, or the dashboard

You do not need to be a security specialist, but you should be ready to interpret findings and decide when to escalate them. The optional Mock preview is available for evaluating the dashboard without accounts; real scans require the setup below.

If you plan to change Tripwire, start the contributor setup after cloning: it installs the commit and push hooks before your first change.

Run your first Live scan

Follow this order before running a scan or opening the Live dashboard. The Quickstart supplies the commands; the linked guides explain each decision before you make it.

  1. Check the required tools and install the CLI.
  2. Create the accounts you need: Supabase, Modal, then add Snyk, Tessl, and Cisco (Skill/MCP LLM + optional AI Defense) credentials with the environment-variable procurement guide. DepShield needs no keys. Add OSSPREY_API_KEY when you have Ossprey access (otherwise that adapter skips safely). For optional post-scan routing (ADR-0016), also set up Superlinked SIE (required for routing) and optionally Alibaba Cloud Model Studio (escalation only). Key map for every .env name: env-vars.md (mirrors .env.example).
  3. Create .env only after you have the values, then fill it with env-vars.md as the single key reference.
  4. Bootstrap Supabase and deploy the Modal scan app with the Live setup commands.
  5. Run a fixture scan and open the Live dashboard from the Quickstart. After routing, use tripwire route to re-run a batch and read router results for pathway strips and Escalated / SIE-only filters.

Supabase and Modal are required for Live results. If Snyk, Tessl, Cisco, or Ossprey credentials are absent, Tripwire reports that scanner as skipped rather than calling the scan complete. SIE and Model Studio are optional: without SIE keys, scans still complete and auto-route logs a warning and skips. With SIE but without Model Studio, SIE-only reviews still log.

Preview the dashboard (optional)

Use Mock demo data only when you want a no-account look at the UI; it does not replace the Live setup above or produce a scan result. Prefer the hosted demo when you do not need a local clone, or watch the demo walkthrough on YouTube.

git clone https://github.com/neomatrix369/tripwire.git
cd tripwire
node scripts/serve-dashboard.mjs

Open http://127.0.0.1:8765/.

On the dashboard toolbar, Skills can be triaged by Tessl quality score using Quality ≥ 80, Quality < 80, and No quality score tabs (skills only; MCP servers are excluded from quality buckets but remain visible on all tabs).

The first visit shows a landing intro screen (threat statistics, architecture overview, shipped skills, and roadmap). Click Open Dashboard → to proceed to the scan results view. The "About" nav button toggles the intro back on at any time; the choice is remembered in sessionStorage.

Visual identity v2: cream paper, tan primary CTA, and AA-readable ink tokens (Fraunces display headings) — shipped via PR #96. Screenshots in docs/screenshots/ regenerated 2026-08-20.

After installing the CLI, you can also validate target discovery locally without accounts or a scan:

tripwire scan --dry-discover ./fixtures/skills/safe-csv-cleaner

What happens next

Tripwire’s Live path is a short pipeline. Each hop uses a concrete piece of the stack (same names as the badges above):

StepWhat runsStackSetup
DiscoverCLI finds skills / MCP servers (tripwire scan --dry-discover or a real scan)Node.js CLIsetup-commands
ScanAdapters run in an isolated sandboxModal (+ Docker), Cisco / Snyk / Tessl / DepShield / Osspreymodal-setup · env-vars
StoreFindings and scan_run rows land for the dashboardSupabase / Postgressupabase-setup
Route (optional)Every item through SIE; escalate only when signaledSuperlinked SIE → Alibaba Cloud Model Studio via tripwire route / auto-routesie-setup · model-studio-setup
ReviewHeatmap, drawers, pathway strips, Escalated / SIE-only filtersDashboard (Live or Mock)reading-router-results · screenshots

Mock skips Discover→Scan→Store and still shows Review (plus router fixtures). Without SIE keys, Route warns and skips; scanner results still store. Sample CLIs for router backends (no full batch): prototypes/sie-studio/, prototypes/model-studio/.

flowchart LR
  discover["Discover<br/>Node CLI"] --> scan["Scan<br/>Modal + Cisco/Snyk/Tessl/DepShield/Ossprey"]
  scan --> store["Store<br/>Supabase"]
  store --> route["Route optional<br/>SIE → Model Studio"]
  route --> review["Review<br/>Dashboard"]

How to read strips and filters after Route: reading-router-results.md.

Screenshots

CLI — real scan with Modal sandbox output CLI scan — Modal (live) Dashboard overview grid (Mock demo data) Dashboard — Mock overview Dashboard Escalated filter (Mock) Router — Escalated (Mock) Skill detail — prompt injection finding (Mock) Skill — Red (Mock) MCP server detail — command injection finding (Mock) MCP — Red (Mock)

Full gallery (SIE-only, severity filters, list view) → docs/screenshots/

Find the right guide

Your taskStart here
Check tools and technical fitPrerequisites
Follow the Install → Live path mapPath commands · onboarding cheatsheet
Create the Supabase projectSupabase setup
Deploy the Modal scan appModal setup
Procure scanner and router .env keysEnvironment variables
Run your first Live scanQuickstart · setup commands
Preview Mock UI or dry-discover locallyOptional local validation
Enable SIE / Model Studio routingSIE setup · Model Studio setup · tripwire route
Interpret pathway strips / Escalated / SIE-onlyReading router results
Browse CLI / dashboard screenshotsScreenshot gallery
Smoke-test SIE or Model Studio aloneSIE sample CLI · Model Studio sample CLI
Understand results and system shapeCapability status · Architecture · ADRs
Contribute or maintainContributing · command catalog
Report a vulnerabilitySECURITY

Full map (including planning / CI): docs/README.md.

Contributors

neomatrix369

396 commits

dependabot[bot]

23 commits

nooga

3 commits

neomatrix369/tripwire

Sandboxed security scanning for AI skills and MCP servers — precise findings, heatmap posture, fail-closed agent guard. Multi-scanner security platform for AI skills and MCP servers, scan what the agents install!

6

stars

428

commits

Python

primary language

Sep 9, 2026

updated

ai-agents
ai-security
cisco
devsecops
mcp
mcp-security
modal
model-routing
qwen
sandbox
scanner
security
security-scanner
sie
skills
snyk
superlinked
tessl
vulnerability-scanner
Browse cluster: Secret Detection & Data Leak Prevention

README

Tripwire

Discover and scan AI skills and MCP servers, then review the findings in one dashboard.

Python Node.js Docker Modal Supabase Cisco Skill/MCP Scanner Snyk Tessl DepShield Ossprey Superlinked SIE Alibaba Cloud Model Studio

CI Nightly Complexity Code Review Graph Security Stability Licensing Release License Last Commit Stars

Meterian Security / Stability / Licensing badges mirror the public Meterian project report (dependency and policy scan for this GitHub repo — not a Tripwire scan adapter). CI / Nightly / Complexity badges reflect GitHub Actions on main.

Tripwire banner

Where do you want to go?

If you want to…Go here
Try a hosted dashboard (no clone)Live demo on neomatrix369.github.io
Watch the demo walkthroughYouTube — Tripwire dashboard tour
Try a safe demo (no cloud accounts) — RecommendedQUICKSTART — Try the demo
Run a real Live scan — AdvancedQUICKSTART — Live
Change the codeCONTRIBUTING
Understand the systemArchitecture · docs hub · Status

What Tripwire does

Tripwire helps technical teams assess AI skills and MCP servers before they rely on them. It discovers targets, runs the enabled scanner adapters in an isolated Modal sandbox, stores findings in Supabase, and brings them together in one dashboard (Live or Mock).

Optionally, after each scan batch it runs a tiered router: Superlinked SIE triages findings, and Alibaba Cloud Model Studio escalates when scanners disagree or coverage looks incomplete (ADR-0016).

Providers and scanners

LayerProvider / toolRole
PlatformModalIsolated scan sandbox (Docker image + Python adapters)
PlatformSupabasePostgres + Realtime store for runs, scanners, findings
ScannerCisco Skill Scanner / MCP Scanner / AI DefenseSkill and MCP security inspection
ScannerSnyk (snyk-agent-scan)Depth / agent scan for skills and MCP servers
ScannerTesslFive skill capabilities: Lint (auth-free), Review (Quality), Scenario Generation, Eval, Review (Security)
ScannerDepShield (depshield-mcp)Dependency audit (npm + PyPI via OSV.dev); no credentials
ScannerOssprey (ossprey-cli)Malware / malicious-package scan (skills + MCP); needs OSSPREY_API_KEY
Router (optional)Superlinked SIECheap post-scan triage on every item
Router (optional)Alibaba Cloud Model StudioEscalation only when SIE signals

Missing Snyk / Cisco / Tessl / Ossprey keys → that scanner reports skipped / needs_setup / skipped_missing_credential rather than claiming a complete scan. DepShield always runs when the sandbox image includes it (no secret sync). Capability honesty and evidence states: docs/STATUS.md · inventory: ARCHITECTURE §0 · Ossprey key allowlist: OPTIONAL_SCANNER_KEYS.

Who Tripwire is for

Tripwire is currently an early-adopter tool with a hands-on setup and management component. It is a good fit if you are comfortable using a terminal and shell, managing local tooling and environment variables, editing .env and other configuration files carefully, creating cloud/vendor accounts, and using command output to resolve a setup issue.

You are...You want to...
An AI-tooling developer or teamAssess skills and MCP servers before using or sharing them
A platform, operations, or security practitionerRun and maintain scans for a team
A contributorExtend scanner support, the CLI, or the dashboard

You do not need to be a security specialist, but you should be ready to interpret findings and decide when to escalate them. The optional Mock preview is available for evaluating the dashboard without accounts; real scans require the setup below.

If you plan to change Tripwire, start the contributor setup after cloning: it installs the commit and push hooks before your first change.

Run your first Live scan

Follow this order before running a scan or opening the Live dashboard. The Quickstart supplies the commands; the linked guides explain each decision before you make it.

  1. Check the required tools and install the CLI.
  2. Create the accounts you need: Supabase, Modal, then add Snyk, Tessl, and Cisco (Skill/MCP LLM + optional AI Defense) credentials with the environment-variable procurement guide. DepShield needs no keys. Add OSSPREY_API_KEY when you have Ossprey access (otherwise that adapter skips safely). For optional post-scan routing (ADR-0016), also set up Superlinked SIE (required for routing) and optionally Alibaba Cloud Model Studio (escalation only). Key map for every .env name: env-vars.md (mirrors .env.example).
  3. Create .env only after you have the values, then fill it with env-vars.md as the single key reference.
  4. Bootstrap Supabase and deploy the Modal scan app with the Live setup commands.
  5. Run a fixture scan and open the Live dashboard from the Quickstart. After routing, use tripwire route to re-run a batch and read router results for pathway strips and Escalated / SIE-only filters.

Supabase and Modal are required for Live results. If Snyk, Tessl, Cisco, or Ossprey credentials are absent, Tripwire reports that scanner as skipped rather than calling the scan complete. SIE and Model Studio are optional: without SIE keys, scans still complete and auto-route logs a warning and skips. With SIE but without Model Studio, SIE-only reviews still log.

Preview the dashboard (optional)

Use Mock demo data only when you want a no-account look at the UI; it does not replace the Live setup above or produce a scan result. Prefer the hosted demo when you do not need a local clone, or watch the demo walkthrough on YouTube.

git clone https://github.com/neomatrix369/tripwire.git
cd tripwire
node scripts/serve-dashboard.mjs

Open http://127.0.0.1:8765/.

On the dashboard toolbar, Skills can be triaged by Tessl quality score using Quality ≥ 80, Quality < 80, and No quality score tabs (skills only; MCP servers are excluded from quality buckets but remain visible on all tabs).

The first visit shows a landing intro screen (threat statistics, architecture overview, shipped skills, and roadmap). Click Open Dashboard → to proceed to the scan results view. The "About" nav button toggles the intro back on at any time; the choice is remembered in sessionStorage.

Visual identity v2: cream paper, tan primary CTA, and AA-readable ink tokens (Fraunces display headings) — shipped via PR #96. Screenshots in docs/screenshots/ regenerated 2026-08-20.

After installing the CLI, you can also validate target discovery locally without accounts or a scan:

tripwire scan --dry-discover ./fixtures/skills/safe-csv-cleaner

What happens next

Tripwire’s Live path is a short pipeline. Each hop uses a concrete piece of the stack (same names as the badges above):

StepWhat runsStackSetup
DiscoverCLI finds skills / MCP servers (tripwire scan --dry-discover or a real scan)Node.js CLIsetup-commands
ScanAdapters run in an isolated sandboxModal (+ Docker), Cisco / Snyk / Tessl / DepShield / Osspreymodal-setup · env-vars
StoreFindings and scan_run rows land for the dashboardSupabase / Postgressupabase-setup
Route (optional)Every item through SIE; escalate only when signaledSuperlinked SIE → Alibaba Cloud Model Studio via tripwire route / auto-routesie-setup · model-studio-setup
ReviewHeatmap, drawers, pathway strips, Escalated / SIE-only filtersDashboard (Live or Mock)reading-router-results · screenshots

Mock skips Discover→Scan→Store and still shows Review (plus router fixtures). Without SIE keys, Route warns and skips; scanner results still store. Sample CLIs for router backends (no full batch): prototypes/sie-studio/, prototypes/model-studio/.

flowchart LR
  discover["Discover<br/>Node CLI"] --> scan["Scan<br/>Modal + Cisco/Snyk/Tessl/DepShield/Ossprey"]
  scan --> store["Store<br/>Supabase"]
  store --> route["Route optional<br/>SIE → Model Studio"]
  route --> review["Review<br/>Dashboard"]

How to read strips and filters after Route: reading-router-results.md.

Screenshots

CLI — real scan with Modal sandbox output CLI scan — Modal (live) Dashboard overview grid (Mock demo data) Dashboard — Mock overview Dashboard Escalated filter (Mock) Router — Escalated (Mock) Skill detail — prompt injection finding (Mock) Skill — Red (Mock) MCP server detail — command injection finding (Mock) MCP — Red (Mock)

Full gallery (SIE-only, severity filters, list view) → docs/screenshots/

Find the right guide

Your taskStart here
Check tools and technical fitPrerequisites
Follow the Install → Live path mapPath commands · onboarding cheatsheet
Create the Supabase projectSupabase setup
Deploy the Modal scan appModal setup
Procure scanner and router .env keysEnvironment variables
Run your first Live scanQuickstart · setup commands
Preview Mock UI or dry-discover locallyOptional local validation
Enable SIE / Model Studio routingSIE setup · Model Studio setup · tripwire route
Interpret pathway strips / Escalated / SIE-onlyReading router results
Browse CLI / dashboard screenshotsScreenshot gallery
Smoke-test SIE or Model Studio aloneSIE sample CLI · Model Studio sample CLI
Understand results and system shapeCapability status · Architecture · ADRs
Contribute or maintainContributing · command catalog
Report a vulnerabilitySECURITY

Full map (including planning / CI): docs/README.md.

Contributors

neomatrix369

396 commits

dependabot[bot]

23 commits

nooga

3 commits

Languages

Python

55.6%

JavaScript

23.7%

HTML

13.0%

Shell

6.6%

PLpgSQL

1.1%