github HTML analyzed 434db57 deep scan unknown

Vaibhav91one/assay

github

🕸️ A self-healing scraper that abstains when it is not sure — and measures how often its heals are wrong.

maintainer
Vaibhav91one
licence
MIT
first seen
2026-08-22
last seen
2026-08-25
releases · 30d
0
short id

Drift inferred · capture-to-capture

No drift recorded — single capability capture; advisories appear once its surface changes.

capabilities 0 tools
transport stdio counts 0 tools · 0 res · 0 prompts permission surface via code analysis

No tools enumerated yet for this server.

skills & danger signals github-tarball
prompt-surface shipped agent-instruction files + hidden-content / dangerous-code findings — quoted from the analyzed source

analyzed commit 434db57 · analyzer v33 · 3w ago

danger signals39

code evidence vHEAD · github-tarball
evidence-backed findings quoted directly from the published source artifact — not inferred

code files: 372

filesystem 53

  • fs Vaibhav91one-assay-434db57/src/connectors/config.ts :23 import { readFile, writeFile, mkdir } from 'node:fs/promises';
  • fs Vaibhav91one-assay-434db57/src/mcp/server.ts :24 import { readdir } from 'node:fs/promises';
  • fs Vaibhav91one-assay-434db57/src/skills/page.ts :39 import { readFile, readdir } from 'node:fs/promises';
  • fs Vaibhav91one-assay-434db57/src/skills/store.ts :27 import { readFile } from 'node:fs/promises';
  • fs Vaibhav91one-assay-434db57/src/store/captures.ts :12 import { mkdir, writeFile, readFile, stat } from 'node:fs/promises';
  • fs (weak) Vaibhav91one-assay-434db57/test/actions-auth.test.ts :25 import { readdirSync, readFileSync } from 'node:fs';
  • fs (weak) Vaibhav91one-assay-434db57/test/api-scopes.test.ts :9 import { readdirSync } from 'node:fs';
  • fs (weak) Vaibhav91one-assay-434db57/test/assay-score.test.ts :28 import { readFileSync, readdirSync } from 'node:fs';
  • fs (weak) Vaibhav91one-assay-434db57/test/auth.test.ts :5 import { readFileSync, readdirSync } from 'node:fs';
  • fs (weak) Vaibhav91one-assay-434db57/test/baseline.test.ts :20 import { readFile, readdir } from 'node:fs/promises';
  • fs (weak) Vaibhav91one-assay-434db57/test/bd-diffgate.test.ts :14 import { readFile } from 'node:fs/promises';
  • fs (weak) Vaibhav91one-assay-434db57/test/bd-verify.test.ts :11 import { readFile } from 'node:fs/promises';
show 28 more
  • fs (weak) Vaibhav91one-assay-434db57/test/bench-live.test.ts :23 import { readFileSync, existsSync } from 'node:fs';
  • fs (weak) Vaibhav91one-assay-434db57/test/blocked.test.ts :12 import { readFile, readdir } from 'node:fs/promises';
  • fs (weak) Vaibhav91one-assay-434db57/test/brand-mark.test.ts :14 import { readFileSync } from 'node:fs';
  • fs (weak) Vaibhav91one-assay-434db57/test/button-recipe.test.ts :18 import { readFileSync, readdirSync, statSync } from 'node:fs';
  • fs (weak) Vaibhav91one-assay-434db57/test/chat-surface.test.ts :28 import { readFileSync } from 'node:fs';
  • fs (weak) Vaibhav91one-assay-434db57/test/cli.test.ts :11 import { mkdtemp, rm, writeFile, mkdir } from 'node:fs/promises';
  • fs (weak) Vaibhav91one-assay-434db57/test/composer-commands.test.ts :15 import { readFileSync } from 'node:fs';
  • fs (weak) Vaibhav91one-assay-434db57/test/connectors.test.ts :11 import { mkdtemp, rm, readFile } from 'node:fs/promises';
  • fs (weak) Vaibhav91one-assay-434db57/test/consensus.test.ts :16 import { readFile, readdir } from 'node:fs/promises';
  • fs (weak) Vaibhav91one-assay-434db57/test/contracts.test.ts :8 import { readFileSync } from 'node:fs';
  • fs (weak) Vaibhav91one-assay-434db57/test/env-names.test.ts :26 import { readFileSync, readdirSync } from 'node:fs';
  • fs (weak) Vaibhav91one-assay-434db57/test/fingerprint-artifact.test.ts :15 import { readFileSync } from 'node:fs';
  • fs (weak) Vaibhav91one-assay-434db57/test/library.test.ts :15 import { readFileSync } from 'node:fs';
  • fs (weak) Vaibhav91one-assay-434db57/test/settings-docs.test.ts :18 import { readFileSync, existsSync } from 'node:fs';
  • fs (weak) Vaibhav91one-assay-434db57/test/signin-keys.test.ts :26 import { readFileSync, readdirSync } from 'node:fs';
  • fs (weak) Vaibhav91one-assay-434db57/test/skills.test.ts :25 import { mkdtemp, rm } from 'node:fs/promises';
  • fs Vaibhav91one-assay-434db57/tools/audit.ts :10 import { readFile } from 'node:fs/promises';
  • fs Vaibhav91one-assay-434db57/tools/bd-create.ts :41 import { writeFile, mkdir } from 'node:fs/promises';
  • fs Vaibhav91one-assay-434db57/tools/bd-heal.ts :26 import { writeFile, readFile, mkdir } from 'node:fs/promises';
  • fs Vaibhav91one-assay-434db57/tools/bench-consensus.ts :31 import { readFile, readdir, writeFile, mkdir } from 'node:fs/promises';
  • fs Vaibhav91one-assay-434db57/tools/bench-live.ts :27 import { readFile, readdir, writeFile, mkdir } from 'node:fs/promises';
  • fs Vaibhav91one-assay-434db57/tools/bench-model.ts :31 import { readFile, readdir, writeFile, mkdir } from 'node:fs/promises';
  • fs Vaibhav91one-assay-434db57/tools/bench.ts :14 import { readFile, readdir, writeFile, mkdir } from 'node:fs/promises';
  • fs Vaibhav91one-assay-434db57/tools/cli/blast.ts :10 import { writeFile } from 'node:fs/promises';
  • fs Vaibhav91one-assay-434db57/tools/cli/contracts.ts :12 import { readFileSync, realpathSync } from 'node:fs';
  • fs Vaibhav91one-assay-434db57/tools/cli/incident.ts :14 import { writeFile } from 'node:fs/promises';
  • fs Vaibhav91one-assay-434db57/tools/cli/index.ts :53 import { readdir } from 'node:fs/promises';
  • fs (weak) Vaibhav91one-assay-434db57/tools/demo.ts :9 import { readFile, readdir } from 'node:fs/promises';

13 more not shown — this panel samples each group; the count above is the real total.

shell / exec 4

  • shell Vaibhav91one-assay-434db57/bin/assay.ts :22 import { spawnSync } from 'node:child_process';
  • shell Vaibhav91one-assay-434db57/src/ai/model.ts :34 import { execFileSync } from 'node:child_process';
  • shell (weak) Vaibhav91one-assay-434db57/test/cli.test.ts :10 import { spawnSync } from 'node:child_process';
  • shell (weak) Vaibhav91one-assay-434db57/test/fingerprint-artifact.test.ts :14 import { execFileSync } from 'node:child_process';

network 11

  • net Vaibhav91one-assay-434db57/src/bd/verify.ts :90 ({ html, via } = await fetch(url));
  • net Vaibhav91one-assay-434db57/src/connectors/scrapers.ts :866 res = await fetch(url, {
  • net Vaibhav91one-assay-434db57/src/skills/page.ts :41 import { BlockList, isIP } from 'node:net';
  • net Vaibhav91one-assay-434db57/tools/bd-create.ts :145 const res = await fetch(`${API}${path}`, {
  • net Vaibhav91one-assay-434db57/tools/bd-heal.ts :125 const res = await fetch(`${API}/${COLLECTOR}/${path}`, {
  • net Vaibhav91one-assay-434db57/tools/bench-live.ts :75 const res = await fetch(UNLOCKER, {
  • net Vaibhav91one-assay-434db57/tools/fetch-corpus.ts :37 const res = await fetch(url, {
  • net Vaibhav91one-assay-434db57/tools/selfheal.ts :121 const res = await fetch(url, {
  • net Vaibhav91one-assay-434db57/web/app/(app)/connect/actions.ts :58 res = await fetch('https://api.brightdata.com/zone/get_all_zones', {
  • net Vaibhav91one-assay-434db57/web/app/(app)/export-menu.tsx :48 const res = await fetch(`/api/conversations/${id}/export`, { cache: 'no-store' });
  • net Vaibhav91one-assay-434db57/web/lib/chat-stream.ts :80 const res = await fetch('/api/chat', {

secrets 21

  • secrets Vaibhav91one-assay-434db57/src/ai/model.ts :166 process.env.ANTHROPIC_API_KEY ? 'api-key'
  • secrets Vaibhav91one-assay-434db57/src/blast/index.ts :403 secret: process.env.ASSAY_WEBHOOK_SECRET || '',
  • secrets Vaibhav91one-assay-434db57/src/connectors/resend-bounce.ts :135 secret: process.env.ASSAY_WEBHOOK_SECRET || '',
  • secrets Vaibhav91one-assay-434db57/src/connectors/scrapers.ts :806 const t = process.env.BRIGHTDATA_API_TOKEN;
  • secrets Vaibhav91one-assay-434db57/src/notify.ts :101 apiKey = process.env.ASSAY_RESEND_KEY,
  • secrets Vaibhav91one-assay-434db57/src/skills/page.ts :349 const key = process.env.FIRECRAWL_API_KEY;
  • secrets (weak) Vaibhav91one-assay-434db57/test/ai.test.ts :115 process.env.ANTHROPIC_API_KEY = 'x';
  • secrets (weak) Vaibhav91one-assay-434db57/test/bd-catalogue.test.ts :28 const TOKEN = process.env.BRIGHTDATA_API_TOKEN;
  • secrets (weak) Vaibhav91one-assay-434db57/test/connectors.test.ts :71 const saved = process.env.BRIGHTDATA_API_TOKEN;
  • secrets (weak) Vaibhav91one-assay-434db57/test/env-names.test.ts :140 expect(notify).toContain('process.env.ASSAY_RESEND_KEY');
  • secrets (weak) Vaibhav91one-assay-434db57/test/scrapers.test.ts :60 process.env.BRIGHTDATA_API_TOKEN = 'test-token';
  • secrets (weak) Vaibhav91one-assay-434db57/test/signin-keys.test.ts :183 process.env.ANTHROPIC_API_KEY = SECRET;
show 9 more
  • secrets (weak) Vaibhav91one-assay-434db57/test/skills.test.ts :48 const saved = { store: process.env.ASSAY_SKILLS, key: process.env.FIRECRAWL_API_KEY };
  • secrets (weak) Vaibhav91one-assay-434db57/test/ssrf.test.ts :79 process.env.FIRECRAWL_API_KEY = 'sk-test';
  • secrets Vaibhav91one-assay-434db57/tools/bd-create.ts :99 const TOKEN = process.env.BRIGHTDATA_API_TOKEN;
  • secrets Vaibhav91one-assay-434db57/tools/bd-heal.ts :92 const TOKEN = process.env.BRIGHTDATA_API_TOKEN;
  • secrets Vaibhav91one-assay-434db57/tools/bench-live.ts :130 const token = process.env.BRIGHTDATA_API_TOKEN;
  • secrets Vaibhav91one-assay-434db57/tools/worker.ts :75 url: hook, secret: process.env.ASSAY_WEBHOOK_SECRET || '',
  • secrets Vaibhav91one-assay-434db57/web/app/(app)/connect/actions.ts :53 const token = process.env.BRIGHTDATA_API_TOKEN;
  • secrets Vaibhav91one-assay-434db57/web/app/api/v1/connectors/resend/bounce/route.ts :12 const secret = process.env.RESEND_WEBHOOK_SECRET;
  • secrets Vaibhav91one-assay-434db57/web/app/sign-in/keys.ts :140 set: Boolean(process.env.BRIGHTDATA_API_TOKEN),

database 1

  • db Vaibhav91one-assay-434db57/src/store/index.ts :4 import pg from 'pg';

declared dependencies 18

  • @modelcontextprotocol/sdk@^1.30.0
  • @anthropic-ai/claude-agent-sdk@^0.3.239
  • cheerio@^1.2.0
  • commander@^15.0.0
  • drizzle-orm@^0.45.2
  • drizzle-zod@^0.8.3
  • fastest-levenshtein@^1.0.16
  • pg@^8.23.0
  • yaml@^2.9.0
  • zod@^4.4.3
  • @types/node@^26.2.0
  • @types/pg@^8.23.1
show 6 more
  • dotenv@^17.4.2
  • drizzle-kit@^0.31.10
  • marked@^18.0.10
  • tsx@^4.23.12
  • typescript@^7.0.2
  • vitest@^4.1.11