AI writes. SPARDA proves. A deterministic, offline gate that catches when an AI edit removes a guard, exposes a route, or breaks an invariant — no API key, right in the agent edit loop.
Drift inferred · capture-to-capture
No drift recorded — single capability capture; advisories appear once its surface changes.
transport stdio · http
verified
reported
listed in the official MCP registry counts 0 tools · 0 res
· 0 prompts
permission surface via code analysis
No tools enumerated yet for this server.
prompt-surface
shipped agent-instruction files + hidden-content / dangerous-code findings —
quoted from the analyzed source
analyzed commit cd266c3 · analyzer v30 · 5d ago
skills & prompt files 4
- agent-rules zyx77550-sparda-cd266c3/CLAUDE.md
- agent-rules zyx77550-sparda-cd266c3/GEMINI.md
- skill zyx77550-sparda-cd266c3/SKILL.md
- skill zyx77550-sparda-cd266c3/tools/publish/public/SKILL.md
danger signals1
- dynamic code execution eval() zyx77550-sparda-cd266c3/tests/cross-framework-verbs.test.js :96
const verbs = eval(m[1]);
evidence-backed
findings quoted directly from the published source artifact — not inferred
code files: 540
filesystem 114
- fs zyx77550-sparda-cd266c3/.github/sparda-pr-comment.mjs :14
import fs from 'node:fs'; - fs zyx77550-sparda-cd266c3/bench/check-readme.mjs :6
import fs from 'node:fs'; - fs zyx77550-sparda-cd266c3/bench/cve-replay.mjs :17
import fs from 'node:fs'; - fs zyx77550-sparda-cd266c3/bench/flywheel-bench.mjs :19
import fs from 'node:fs'; - fs zyx77550-sparda-cd266c3/bench/guard-removal-replay.mjs :14
import fs from 'node:fs'; - fs zyx77550-sparda-cd266c3/bench/repro.mjs :14
import fs from 'node:fs'; - fs zyx77550-sparda-cd266c3/bench/scale-gen.mjs :5
import fs from 'node:fs'; - fs zyx77550-sparda-cd266c3/bench/wedge.mjs :14
import fs from 'node:fs'; - fs (weak) zyx77550-sparda-cd266c3/docs/csop-handoff/adapter/sparda-to-csop.mjs :3
import fs from 'node:fs'; - fs zyx77550-sparda-cd266c3/extensions/vscode/src/extension.cjs :17
const fs = require('node:fs'); - fs (weak) zyx77550-sparda-cd266c3/integrations/claude-code/demo.mjs :15
import fs from 'node:fs'; - fs zyx77550-sparda-cd266c3/integrations/claude-code/sparda-prove.mjs :14
import fs from 'node:fs'; - fs (weak) zyx77550-sparda-cd266c3/scripts/corpus-oracle.mjs :37
import fs from 'node:fs'; - fs (weak) zyx77550-sparda-cd266c3/scripts/release-gate.mjs :31
import fs from 'node:fs'; - fs zyx77550-sparda-cd266c3/src/commands/apocalypse.js :9
import fs from 'node:fs'; - fs zyx77550-sparda-cd266c3/src/commands/badge.js :7
import fs from 'node:fs'; - fs zyx77550-sparda-cd266c3/src/commands/claude-hook.js :11
import fs from 'node:fs'; - fs (weak) zyx77550-sparda-cd266c3/src/commands/demo.js :8
import fs from 'node:fs'; - fs zyx77550-sparda-cd266c3/src/commands/doctor.js :2
import fs from 'node:fs'; - fs zyx77550-sparda-cd266c3/src/commands/dossier.js :8
import fs from 'node:fs'; - fs zyx77550-sparda-cd266c3/src/commands/enforce.js :28
import fs from 'node:fs'; - fs zyx77550-sparda-cd266c3/src/commands/evolve.js :7
import fs from 'node:fs'; - fs zyx77550-sparda-cd266c3/src/commands/gate.js :29
import fs from 'node:fs'; - fs zyx77550-sparda-cd266c3/src/commands/genome.js :10
import fs from 'node:fs'; - fs zyx77550-sparda-cd266c3/src/commands/grammar.js :7
import fs from 'node:fs'; - fs zyx77550-sparda-cd266c3/src/commands/heal.js :9
import fs from 'node:fs'; - fs zyx77550-sparda-cd266c3/src/commands/hook.js :2
import fs from 'node:fs'; - fs zyx77550-sparda-cd266c3/src/commands/immunize.js :8
import fs from 'node:fs'; - fs zyx77550-sparda-cd266c3/src/commands/init.js :3
import fs from 'node:fs'; - fs zyx77550-sparda-cd266c3/src/commands/mirror.js :8
import fs from 'node:fs'; - fs zyx77550-sparda-cd266c3/src/commands/negentropy.js :7
import fs from 'node:fs'; - fs zyx77550-sparda-cd266c3/src/commands/openapi.js :10
import fs from 'node:fs'; - fs zyx77550-sparda-cd266c3/src/commands/remove.js :2
import fs from 'node:fs'; - fs zyx77550-sparda-cd266c3/src/commands/report.js :6
import fs from 'node:fs'; - fs zyx77550-sparda-cd266c3/src/commands/review.js :15
import fs from 'node:fs'; - fs zyx77550-sparda-cd266c3/src/commands/seed.js :13
import fs from 'node:fs'; - fs zyx77550-sparda-cd266c3/src/commands/speculate.js :9
import fs from 'node:fs'; - fs zyx77550-sparda-cd266c3/src/commands/sync.js :2
import fs from 'node:fs'; - fs zyx77550-sparda-cd266c3/src/commands/timeless.js :9
import fs from 'node:fs'; - fs zyx77550-sparda-cd266c3/src/commands/twin.js :12
import fs from 'node:fs'; - fs zyx77550-sparda-cd266c3/src/detect.js :2
import fs from 'node:fs'; - fs zyx77550-sparda-cd266c3/src/flight/format.js :8
import fs from 'node:fs'; - fs zyx77550-sparda-cd266c3/src/generator/express.js :2
import fs from 'node:fs'; - fs zyx77550-sparda-cd266c3/src/generator/fastapi.js :2
import fs from 'node:fs'; - fs zyx77550-sparda-cd266c3/src/generator/manifest.js :2
import fs from 'node:fs'; - fs zyx77550-sparda-cd266c3/src/generator/nextjs.js :6
import fs from 'node:fs'; - fs zyx77550-sparda-cd266c3/src/index.js :3
import { readFileSync } from 'node:fs'; - fs zyx77550-sparda-cd266c3/src/parser/express.js :2
import fs from 'node:fs'; - fs zyx77550-sparda-cd266c3/src/parser/nextjs.js :7
import fs from 'node:fs'; - fs zyx77550-sparda-cd266c3/src/server/condenser.js :6
import fs from 'node:fs'; - fs zyx77550-sparda-cd266c3/src/server/persistence.js :21
import fs from 'node:fs'; - fs zyx77550-sparda-cd266c3/src/server/stdio.js :3
import fs from 'node:fs'; - fs zyx77550-sparda-cd266c3/src/ubg/express.js :7
import fs from 'node:fs'; - fs zyx77550-sparda-cd266c3/src/ubg/extract.js :9
import fs from 'node:fs'; - fs zyx77550-sparda-cd266c3/src/ubg/medusa.js :18
import fs from 'node:fs'; - fs zyx77550-sparda-cd266c3/src/ubg/nestjs.js :14
import fs from 'node:fs'; - fs zyx77550-sparda-cd266c3/src/ubg/nextjs.js :6
import fs from 'node:fs'; - fs zyx77550-sparda-cd266c3/src/ubg/openapi.js :12
import fs from 'node:fs'; - fs zyx77550-sparda-cd266c3/src/ubg/oracle-static.js :30
import fs from 'node:fs'; - fs zyx77550-sparda-cd266c3/src/ubg/prisma.js :10
import fs from 'node:fs'; - fs zyx77550-sparda-cd266c3/src/ubg/serialize.js :7
import fs from 'node:fs'; - fs zyx77550-sparda-cd266c3/src/ubg/sql.js :7
import fs from 'node:fs'; - fs zyx77550-sparda-cd266c3/src/ubg/strapi.js :27
import fs from 'node:fs'; - fs zyx77550-sparda-cd266c3/src/ubg/verify.js :7
import fs from 'node:fs'; - fs zyx77550-sparda-cd266c3/src/ubg/witness.js :23
import fs from 'node:fs'; - fs (weak) zyx77550-sparda-cd266c3/tests/badge.test.js :6
import fs from 'node:fs'; - fs (weak) zyx77550-sparda-cd266c3/tests/command-smoke.test.js :8
import fs from 'node:fs'; - fs (weak) zyx77550-sparda-cd266c3/tests/corpus-snapshot.test.js :8
import fs from 'node:fs'; - fs (weak) zyx77550-sparda-cd266c3/tests/cross-framework-verbs.test.js :14
import fs from 'node:fs'; - fs (weak) zyx77550-sparda-cd266c3/tests/demo.test.js :2
import fs from 'node:fs'; - fs (weak) zyx77550-sparda-cd266c3/tests/dossier.test.js :7
import fs from 'node:fs'; - fs (weak) zyx77550-sparda-cd266c3/tests/e2e/harness.mjs :9
import fs from 'node:fs'; - fs (weak) zyx77550-sparda-cd266c3/tests/e2e/phase1.mjs :2
import fs from 'node:fs'; - fs (weak) zyx77550-sparda-cd266c3/tests/enforce.test.js :13
import fs from 'node:fs'; - fs (weak) zyx77550-sparda-cd266c3/tests/flight.test.js :7
import fs from 'node:fs'; - fs (weak) zyx77550-sparda-cd266c3/tests/gossip.test.js :11
import fs from 'node:fs'; - fs (weak) zyx77550-sparda-cd266c3/tests/heal.test.js :6
import fs from 'node:fs'; - fs (weak) zyx77550-sparda-cd266c3/tests/helpers/copy-fixture.js :22
import fs from 'node:fs'; - fs (weak) zyx77550-sparda-cd266c3/tests/mutation/run.mjs :11
import fs from 'node:fs'; - fs (weak) zyx77550-sparda-cd266c3/tests/negentropy.test.js :5
import fs from 'node:fs'; - fs (weak) zyx77550-sparda-cd266c3/tests/nest-custom-resolver.test.js :21
import fs from 'node:fs'; - fs (weak) zyx77550-sparda-cd266c3/tests/nextjs.test.js :7
import fs from 'node:fs'; - fs (weak) zyx77550-sparda-cd266c3/tests/no-mutant-left-behind.test.js :36
import fs from 'node:fs'; - fs (weak) zyx77550-sparda-cd266c3/tests/no-silent-loss-fleet.test.js :23
import fs from 'node:fs'; - fs (weak) zyx77550-sparda-cd266c3/tests/no-silent-loss.test.js :18
import fs from 'node:fs'; - fs (weak) zyx77550-sparda-cd266c3/tests/packaging.test.js :10
import fs from 'node:fs'; - fs (weak) zyx77550-sparda-cd266c3/tests/param-auth-decorator.test.js :13
import fs from 'node:fs'; - fs (weak) zyx77550-sparda-cd266c3/tests/persistence.test.js :7
import fs from 'node:fs'; - fs (weak) zyx77550-sparda-cd266c3/tests/pr-comment-e2e.test.js :9
import fs from 'node:fs'; - fs (weak) zyx77550-sparda-cd266c3/tests/premise-convention.test.js :19
import fs from 'node:fs'; - fs (weak) zyx77550-sparda-cd266c3/tests/premise-wired-everywhere.test.js :22
import fs from 'node:fs'; - fs (weak) zyx77550-sparda-cd266c3/tests/probe.test.js :23
import fs from 'node:fs'; - fs (weak) zyx77550-sparda-cd266c3/tests/release-gate.test.js :17
import fs from 'node:fs'; - fs (weak) zyx77550-sparda-cd266c3/tests/release-sync.test.js :10
import fs from 'node:fs'; - fs (weak) zyx77550-sparda-cd266c3/tests/report.test.js :5
import fs from 'node:fs'; - fs (weak) zyx77550-sparda-cd266c3/tests/review.test.js :5
import fs from 'node:fs'; - fs (weak) zyx77550-sparda-cd266c3/tests/round3.test.js :6
import fs from 'node:fs'; - fs (weak) zyx77550-sparda-cd266c3/tests/router-selftest.cjs :3
const fs = require('fs'); - fs (weak) zyx77550-sparda-cd266c3/tests/sdk-effect.test.js :8
import fs from 'node:fs'; - fs (weak) zyx77550-sparda-cd266c3/tests/seed.test.js :6
import fs from 'node:fs'; - fs (weak) zyx77550-sparda-cd266c3/tests/sparda-prove-mcp.test.js :7
import fs from 'node:fs'; - fs (weak) zyx77550-sparda-cd266c3/tests/sparda.test.js :2
import fs from 'node:fs'; - fs (weak) zyx77550-sparda-cd266c3/tests/typeorm.test.js :9
import fs from 'node:fs'; - fs (weak) zyx77550-sparda-cd266c3/tests/ubg.test.js :4
import fs from 'node:fs'; - fs (weak) zyx77550-sparda-cd266c3/tests/unmeasured-is-not-a-pass.test.js :47
import fs from 'node:fs'; - fs (weak) zyx77550-sparda-cd266c3/tests/vscode-extension.test.js :15
import fs from 'node:fs'; - fs (weak) zyx77550-sparda-cd266c3/tests/witness.test.js :10
import fs from 'node:fs'; - fs (weak) zyx77550-sparda-cd266c3/tests/zero-day-effects.test.js :13
import fs from 'node:fs'; - fs (weak) zyx77550-sparda-cd266c3/tools/corpus/run.mjs :12
import fs from 'node:fs'; - fs zyx77550-sparda-cd266c3/tools/fuzzer/cleanup.mjs :1
import fs from 'node:fs'; - fs zyx77550-sparda-cd266c3/tools/fuzzer/ollama-fuzzer.mjs :1
import fs from 'node:fs'; - fs zyx77550-sparda-cd266c3/tools/publish/execute-sync.mjs :1
import fs from 'node:fs'; - fs (weak) zyx77550-sparda-cd266c3/tools/publish/publish-gate.test.js :12
import fs from 'node:fs'; - fs zyx77550-sparda-cd266c3/tools/publish/publish-public.mjs :16
import fs from 'node:fs';
shell / exec 39
- shell zyx77550-sparda-cd266c3/bench/cve-replay.mjs :20
import { execFileSync } from 'node:child_process'; - shell zyx77550-sparda-cd266c3/bench/flywheel-bench.mjs :23
import { spawn } from 'node:child_process'; - shell zyx77550-sparda-cd266c3/bench/guard-removal-replay.mjs :17
import { execFileSync } from 'node:child_process'; - shell zyx77550-sparda-cd266c3/bench/repro.mjs :17
import { execFileSync } from 'node:child_process'; - shell zyx77550-sparda-cd266c3/bench/wedge.mjs :18
import { execFileSync } from 'node:child_process'; - shell zyx77550-sparda-cd266c3/extensions/vscode/src/extension.cjs :16
const cp = require('node:child_process'); - shell (weak) zyx77550-sparda-cd266c3/integrations/claude-code/demo.mjs :14
import { execFileSync, spawnSync } from 'node:child_process'; - shell zyx77550-sparda-cd266c3/integrations/claude-code/sparda-prove.mjs :13
import { execFileSync, spawnSync } from 'node:child_process'; - shell (weak) zyx77550-sparda-cd266c3/scripts/corpus-oracle.mjs :39
import { execFileSync } from 'node:child_process'; - shell (weak) zyx77550-sparda-cd266c3/scripts/release-gate.mjs :33
import { execFileSync } from 'node:child_process'; - shell zyx77550-sparda-cd266c3/src/commands/heal.js :11
import { spawnSync } from 'node:child_process'; - shell zyx77550-sparda-cd266c3/src/commands/review.js :18
import { execFileSync } from 'node:child_process'; - shell zyx77550-sparda-cd266c3/src/commands/twin.js :89
if (new RegExp(`^${pattern}$`).test(pathname)) return { name, tool: t }; - shell zyx77550-sparda-cd266c3/src/detect.js :4
import { spawnSync } from 'node:child_process'; - shell zyx77550-sparda-cd266c3/src/flight/heal.js :139
if (new RegExp(`^${escaped}/?$`).test(url)) return n; - shell zyx77550-sparda-cd266c3/src/generator/fastapi.js :5
import { spawnSync } from 'node:child_process'; - shell zyx77550-sparda-cd266c3/src/parser/fastapi.js :2
import { spawnSync } from 'node:child_process'; - shell zyx77550-sparda-cd266c3/src/probe/express-shim.cjs :20
* SPARDA_IPC_PORT for spawn() callers. - shell zyx77550-sparda-cd266c3/src/probe/probe.js :14
import { fork, spawn } from 'node:child_process'; - shell zyx77550-sparda-cd266c3/src/server/confirmation.js :15
// node:child_process only. value-free: the dialog shows method+path+token-prefix, never an - shell zyx77550-sparda-cd266c3/src/ubg/fastapi.js :7
import { spawnSync } from 'node:child_process'; - shell zyx77550-sparda-cd266c3/src/ubg/mirror.js :253
return new RegExp(`^${escaped}/?$`); - shell (weak) zyx77550-sparda-cd266c3/tests/command-smoke.test.js :298
import { spawnSync } from 'node:child_process'; - shell (weak) zyx77550-sparda-cd266c3/tests/e2e/harness.mjs :8
import { spawn } from 'node:child_process'; - shell (weak) zyx77550-sparda-cd266c3/tests/genome.test.js :42
expect(a.id).toMatch(new RegExp(`^${ANTIBODY_VERSION}_[0-9a-f]{32}$`)); - shell (weak) zyx77550-sparda-cd266c3/tests/gossip.test.js :16
import { spawn, spawnSync } from 'node:child_process'; - shell (weak) zyx77550-sparda-cd266c3/tests/mutation/run.mjs :13
import { execFileSync } from 'node:child_process'; - shell (weak) zyx77550-sparda-cd266c3/tests/pr-comment-e2e.test.js :12
import { spawn, spawnSync } from 'node:child_process'; - shell (weak) zyx77550-sparda-cd266c3/tests/premise-convention.test.js :21
import { execFileSync } from 'node:child_process'; - shell (weak) zyx77550-sparda-cd266c3/tests/registration-invariant-fleet.test.js :26
import { spawnSync } from 'node:child_process'; - shell (weak) zyx77550-sparda-cd266c3/tests/review.test.js :8
import { execFileSync } from 'node:child_process'; - shell (weak) zyx77550-sparda-cd266c3/tests/sparda.test.js :5
import { spawn, spawnSync } from 'node:child_process'; - shell (weak) zyx77550-sparda-cd266c3/tests/ubg.test.js :7
import { spawnSync } from 'node:child_process'; - shell (weak) zyx77550-sparda-cd266c3/tests/wedge.test.js :9
import { execFileSync } from 'node:child_process'; - shell (weak) zyx77550-sparda-cd266c3/tools/corpus/run.mjs :14
import { spawnSync } from 'node:child_process'; - shell zyx77550-sparda-cd266c3/tools/fuzzer/ollama-fuzzer.mjs :4
import { execFileSync } from 'node:child_process'; - shell zyx77550-sparda-cd266c3/tools/publish/execute-sync.mjs :4
import { execFileSync } from 'node:child_process'; - shell (weak) zyx77550-sparda-cd266c3/tools/publish/publish-gate.test.js :15
import { execFileSync } from 'node:child_process'; - shell zyx77550-sparda-cd266c3/tools/publish/publish-public.mjs :19
import { execFileSync } from 'node:child_process';
network 32
- net zyx77550-sparda-cd266c3/.github/sparda-pr-comment.mjs :35
const res = await fetch(`${cfg.apiUrl}${url}`, { - net zyx77550-sparda-cd266c3/bench/flywheel-bench.mjs :22
import net from 'node:net'; - net (weak) zyx77550-sparda-cd266c3/scripts/release-gate.mjs :109
const res = await fetch(registryUrlFor(pkg.name, version), { method: 'HEAD' }); - net zyx77550-sparda-cd266c3/src/commands/doctor.js :62
const r = await fetch(`http://127.0.0.1:${m.port}/mcp/tools`, { - net zyx77550-sparda-cd266c3/src/commands/evolve.js :39
const res = await fetch(`http://127.0.0.1:${port}/mcp/invoke`, { - net zyx77550-sparda-cd266c3/src/commands/report.js :348
live = await fetch(`http://127.0.0.1:${manifest.port}/mcp/stats`, { - net zyx77550-sparda-cd266c3/src/commands/timeless.js :11
import http from 'node:http'; - net zyx77550-sparda-cd266c3/src/commands/twin.js :14
import http from 'node:http'; - net zyx77550-sparda-cd266c3/src/flight/box.js :32
// Node 18: fetch (undici) and crypto.randomUUID call Date.now()/Math.random() - net zyx77550-sparda-cd266c3/src/flight/replayer.js :9
import http from 'node:http'; - net zyx77550-sparda-cd266c3/src/probe/express-shim.cjs :34
const net = require('net'); - net zyx77550-sparda-cd266c3/src/server/stdio.js :140
await fetch(`${base}/mcp/tools`, { headers: hostHeaders(key, ctx) }) - net zyx77550-sparda-cd266c3/src/ubg/extract.js :2653
// fetch(url, { method: 'POST' }) — literal method option or nothing (SBIR §2.4) - net zyx77550-sparda-cd266c3/src/ubg/mirror.js :20
import http from 'node:http'; - net (weak) zyx77550-sparda-cd266c3/tests/badge.test.js :49
// zero-infra ethos: no external RESOURCE fetch (the xmlns namespace URI is not a fetch — - net (weak) zyx77550-sparda-cd266c3/tests/e2e/harness.mjs :66
const r = await fetch(`http://127.0.0.1:${this.port}/health`, { signal: AbortSignal.timeout(800) }); - net (weak) zyx77550-sparda-cd266c3/tests/fixtures/ubg-blindspots/src/index.js :3
import axios from 'axios'; - net (weak) zyx77550-sparda-cd266c3/tests/fixtures/ubg-express/src/app.js :45
await fetch('https://hooks.example.com/user-created', { method: 'POST' }); - net (weak) zyx77550-sparda-cd266c3/tests/fixtures/ubg-immune-observable/src/app.js :7
import axios from 'axios'; - net (weak) zyx77550-sparda-cd266c3/tests/fixtures/ubg-irreversible-fanout/src/messaging.controller.ts :29
await fetch('https://example.test/a'); - net (weak) zyx77550-sparda-cd266c3/tests/fixtures/ubg-semantics/src/app.js :47
await fetch('https://api.stripe.example/charge', { method: 'POST' }); - net (weak) zyx77550-sparda-cd266c3/tests/flight.test.js :10
import http from 'node:http'; - net (weak) zyx77550-sparda-cd266c3/tests/gossip.test.js :13
import net from 'node:net'; - net (weak) zyx77550-sparda-cd266c3/tests/heal.test.js :16
import http from 'node:http'; - net (weak) zyx77550-sparda-cd266c3/tests/immune-observable.test.js :2
// to hard-flag EVERY observable external call on a mutating route — including a generic fetch (a - net (weak) zyx77550-sparda-cd266c3/tests/mirror-stateful.test.js :29
const res = await fetch(base + p, { method }); - net (weak) zyx77550-sparda-cd266c3/tests/mutation/run.mjs :246
desc: 'apocalypse: hard-flag every observable incl. a generic fetch (autoimmunity → the O4 wolf-cry returns, ADR-072)', - net (weak) zyx77550-sparda-cd266c3/tests/pr-comment-e2e.test.js :8
import http from 'node:http'; - net (weak) zyx77550-sparda-cd266c3/tests/round3.test.js :94
const users = await fetch(`${base}/api/users`).then((r) => r.json()); - net (weak) zyx77550-sparda-cd266c3/tests/router-selftest.cjs :83
const r = await fetch(`${B}/invoke`, { - net (weak) zyx77550-sparda-cd266c3/tests/sparda.test.js :6
import http from 'node:http'; - net zyx77550-sparda-cd266c3/tools/fuzzer/ollama-fuzzer.mjs :46
const res = await fetch(OLLAMA_URL, {
secrets 6
- secrets zyx77550-sparda-cd266c3/.github/sparda-pr-comment.mjs :94
token: process.env.GITHUB_TOKEN, - secrets zyx77550-sparda-cd266c3/src/generator/manifest.js :7
if (process.env.SPARDA_LOCAL_KEY) { - secrets (weak) zyx77550-sparda-cd266c3/tests/fixtures/ubg-sdk-provenance/src/app.js :11
const stripe = Stripe(process.env.KEY); // factory idiom → labeled by provenance - secrets (weak) zyx77550-sparda-cd266c3/tests/nextjs.test.js :176
process.env.SPARDA_LOCAL_KEY = manifest.localKey; - secrets (weak) zyx77550-sparda-cd266c3/tests/router-selftest.cjs :10
process.env.SPARDA_LOCAL_KEY = 'testkey'; - secrets (weak) zyx77550-sparda-cd266c3/tests/sparda.test.js :1065
process.env.SPARDA_LOCAL_KEY = key;
database 20
- db zyx77550-sparda-cd266c3/bench/scale-gen.mjs :57
`const { PrismaClient } = require('@prisma/client');`, - db zyx77550-sparda-cd266c3/src/ubg/extract.js :579
// CommonJS destructured require — `const { PrismaClient } = require('@prisma/client')`. - db (weak) zyx77550-sparda-cd266c3/tests/fixtures/ubg-app-alias/src/app.js :6
const { PrismaClient } = require('@prisma/client'); - db (weak) zyx77550-sparda-cd266c3/tests/fixtures/ubg-app-alias/src/sub.js :2
const { PrismaClient } = require('@prisma/client'); - db (weak) zyx77550-sparda-cd266c3/tests/fixtures/ubg-computed-write/src/app.js :5
const { PrismaClient } = require('@prisma/client'); - db (weak) zyx77550-sparda-cd266c3/tests/fixtures/ubg-credential-gate/src/app.js :2
const { PrismaClient } = require('@prisma/client'); - db (weak) zyx77550-sparda-cd266c3/tests/fixtures/ubg-dynamic-effects/src/app.js :4
import { PrismaClient } from '@prisma/client'; - db (weak) zyx77550-sparda-cd266c3/tests/fixtures/ubg-guard-dominance/lib/prisma.js :1
import { PrismaClient } from '@prisma/client'; - db (weak) zyx77550-sparda-cd266c3/tests/fixtures/ubg-invisible-verbs/src/app.js :7
const { PrismaClient } = require('@prisma/client'); - db (weak) zyx77550-sparda-cd266c3/tests/fixtures/ubg-next-matcher/lib/prisma.js :1
import { PrismaClient } from '@prisma/client'; - db (weak) zyx77550-sparda-cd266c3/tests/fixtures/ubg-object-scope/src/app.js :7
const { PrismaClient } = require('@prisma/client'); - db (weak) zyx77550-sparda-cd266c3/tests/fixtures/ubg-ownership-assert/src/app.js :2
const { PrismaClient } = require('@prisma/client'); - db (weak) zyx77550-sparda-cd266c3/tests/fixtures/ubg-pathed-handler/src/admin.js :2
import { PrismaClient } from '@prisma/client'; - db (weak) zyx77550-sparda-cd266c3/tests/fixtures/ubg-pathed-handler/src/app.js :5
import { PrismaClient } from '@prisma/client'; - db (weak) zyx77550-sparda-cd266c3/tests/fixtures/ubg-prisma-folder/src/index.js :4
import { PrismaClient } from '@prisma/client'; - db (weak) zyx77550-sparda-cd266c3/tests/fixtures/ubg-router-use-order/src/admin.js :6
import { PrismaClient } from '@prisma/client'; - db (weak) zyx77550-sparda-cd266c3/tests/fixtures/ubg-scoped-middleware/src/app.js :6
import { PrismaClient } from '@prisma/client'; - db (weak) zyx77550-sparda-cd266c3/tests/fixtures/ubg-server-actions/lib/prisma.js :1
import { PrismaClient } from '@prisma/client'; - db (weak) zyx77550-sparda-cd266c3/tests/fixtures/ubg-taint-write/src/app.js :4
const { PrismaClient } = require('@prisma/client'); - db (weak) zyx77550-sparda-cd266c3/tests/zero-day-effects.test.js :111
const { PrismaClient } = require('@prisma/client');
install hooks 1
- prepublishOnly zyx77550-sparda-cd266c3/package.json :20
node scripts/release-gate.mjs
declared dependencies 12
- @modelcontextprotocol/sdk@1.29.0
- @babel/parser@8.0.4
- @babel/traverse@8.0.4
- @clack/prompts@1.7.0
- @eslint/js@^10.0.1
- @vitest/coverage-v8@^4.1.10
- eslint@^10.7.0
- eslint-config-prettier@^10.1.8
- express@^5.2.1
- globals@^17.7.0
- prettier@^3.8.4
- vitest@^4.1.10
obfuscation 2
- dynamic require()/import() zyx77550-sparda-cd266c3/docs/csop-handoff/adapter/sparda-to-csop.mjs :6
const { compileUBG } = await import(pathToFileURL(S + '/src/ubg/compile.js').href); - dynamic require()/import() zyx77550-sparda-cd266c3/src/commands/heal.js :194
const mod = await import(`${entry}?sparda-heal=${Date.now()}`);
perm:untrusted 2
- untrusted (weak) zyx77550-sparda-cd266c3/tests/gossip.test.js :185
fetch(`${base}/stats`, { headers: { 'x-sparda-key': key } }).then((r) => r.json()); - untrusted (weak) zyx77550-sparda-cd266c3/tests/round3.test.js :94
const users = await fetch(`${base}/api/users`).then((r) => r.json());