#174 by GitHub stars

vercel-labs/deepsec

Deepsec is a security harness for finding vulnerabilities in your codebase powered by coding agents

History

Review weekly changes to SKILL.md before updating. Dates mark the weeks in which we observed each version; checks apply to the recorded commits.

View weekly changes

SKILL.md

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Network or broad shell

First observation → 4fa67220aff6

No earlier version was observed for comparison.

Compare on GitHub

packages/deepsec/SKILL.md

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Network or broad shell

First observation → 4fa67220aff6

No earlier version was observed for comparison.

Compare on GitHub

View on GitHubAdd to my skills

Verified commit 4fa67220aff67ac93dfc840206d3d32bfa4411ec

git clone --filter=blob:none --no-checkout https://github.com/vercel-labs/deepsec.git .hotskills/vercel-labs-deepsec && git -C .hotskills/vercel-labs-deepsec checkout --detach 4fa67220aff67ac93dfc840206d3d32bfa4411ec # Copy each selected skill directory from .hotskills/vercel-labs-deepsec into .claude/skills/<skill-name>/
git clone --filter=blob:none --no-checkout https://github.com/vercel-labs/deepsec.git .hotskills/vercel-labs-deepsec && git -C .hotskills/vercel-labs-deepsec checkout --detach 4fa67220aff67ac93dfc840206d3d32bfa4411ec # Copy each selected skill directory from .hotskills/vercel-labs-deepsec into .agents/skills/<skill-name>/
8.4kGitHub stars
70stars in 7 days
2skills in this repository
2commits in 30 days

Heat

6.5
  • Star growth, last 7 daysAhead of 81% of tracked repositories
  • Star growth, last 24 hoursAhead of 83% of tracked repositories
  • Rank movement, last 7 daysAhead of 61% of tracked repositories
  • Commits, last 30 daysAhead of 60% of tracked repositories
  • Accounts asking about it through MCP, last 7 daysNot available
  • Hot votes this weekAhead of 0% of tracked repositories

Heat never changes the order by stars, and sponsorship never touches it. How heat works

Stars over time

Aug 2, 2026Nov 6, 20268,359

Individual skills in this repository

How it works

deepsec

When your agent uses it

Run deepsec, an AI-powered cyber-security vulnerability scanner. Activates when the user invokes /deepsec, asks to run deepsec, or wants to scan their repo, branch, or uncommitted changes for vulnerabilities.

What it loads into context

Frontmatter

52 tokens

Always available to the agent

SKILL.md

1,191 tokens

When the skill is activated

Reference documents

66,904 tokens

Loaded on request

Token counts are estimates. Scripts run separately; they are not counted as reference context.

The playbook

  1. 1. Ask for scope first
  2. 2. Detect onboarding state
  3. 3. Onboard without full processing
  4. 4. Run the scoped processing
  5. 5. Interpret results
  6. Going deeper

Scripts executed separately

  • .deepsec/deepsec.config.ts
  • .deepsec/matchers/archive-extraction-untrusted.ts
  • .deepsec/package.json
  • e2e/bundle.test.ts
  • e2e/pipeline-sandbox.test.ts
  • e2e/pipeline.test.ts
  • e2e/scan.test.ts
  • e2e/vitest.config.ts
  • fixtures/vulnerable-app/package.json
  • fixtures/vulnerable-app/src/api/admin.ts
  • fixtures/vulnerable-app/src/api/upload.ts
  • fixtures/vulnerable-app/src/api/users.ts
  • fixtures/vulnerable-app/src/components/comment.tsx
  • fixtures/vulnerable-app/src/config.ts
  • fixtures/vulnerable-app/src/lib/crypto.ts
  • fixtures/vulnerable-app/src/lib/db.ts
  • fixtures/vulnerable-app/src/lib/fetch-proxy.ts
  • fixtures/vulnerable-app/src/utils/exec-helper.ts
  • fixtures/vulnerable-app/src/utils/redirect.ts
  • package.json
  • packages/core/package.json
  • packages/core/src/__tests__/finding-id.test.ts
  • packages/core/src/__tests__/paths.test.ts
  • packages/core/src/__tests__/run.test.ts
  • packages/core/src/__tests__/schemas.test.ts
  • packages/core/src/__tests__/severity.test.ts
  • packages/core/src/__tests__/shutdown.test.ts
  • packages/core/src/config.ts
  • packages/core/src/finding-id.ts
  • packages/core/src/index.ts
  • packages/core/src/paths.ts
  • packages/core/src/plugin.ts
  • packages/core/src/run.ts
  • packages/core/src/schemas.ts
  • packages/core/src/types.ts
  • packages/core/vitest.config.ts
  • packages/processor/package.json
  • packages/processor/src/__tests__/attribution.test.ts
  • packages/processor/src/__tests__/batch.test.ts
  • packages/processor/src/__tests__/codex-setup.test.ts
  • packages/processor/src/__tests__/pi-sdk-tools.test.ts
  • packages/processor/src/__tests__/process-revalidate.test.ts
  • packages/processor/src/__tests__/prompt-assemble.test.ts
  • packages/processor/src/__tests__/prompt-samples.fixtures.ts
  • packages/processor/src/__tests__/prompt-samples.test.ts
  • packages/processor/src/__tests__/reconcile.test.ts
  • packages/processor/src/__tests__/registry.test.ts
  • packages/processor/src/__tests__/shared.test.ts
  • packages/processor/src/__tests__/stub-agent.ts
  • packages/processor/src/agents/claude-agent-sdk.ts
  • packages/processor/src/agents/codex-sdk.ts
  • packages/processor/src/agents/codex-wrapper.sh
  • packages/processor/src/agents/pi-sdk.ts
  • packages/processor/src/agents/registry.ts
  • packages/processor/src/agents/shared.ts
  • packages/processor/src/agents/types.ts
  • packages/processor/src/batch.ts
  • packages/processor/src/enrich.ts
  • packages/processor/src/index.ts
  • packages/processor/src/prompt/assemble.ts
  • packages/processor/src/prompt/core.ts
  • packages/processor/src/prompt/file-language.ts
  • packages/processor/src/prompt/highlights.ts
  • packages/processor/src/prompt/index.ts
  • packages/processor/src/prompt/slug-notes.ts
  • packages/processor/src/reconcile.ts
  • packages/processor/src/setup-agent.ts
  • packages/processor/src/triage.ts
  • packages/processor/vitest.config.ts
  • packages/scanner/package.json
  • packages/scanner/src/__tests__/declarative-matcher.test.ts
  • packages/scanner/src/__tests__/detect-tech.test.ts
  • packages/scanner/src/__tests__/framework-matchers.test.ts
  • packages/scanner/src/__tests__/matcher-examples.test.ts
  • packages/scanner/src/__tests__/matchers.test.ts
  • packages/scanner/src/__tests__/scan-files.test.ts
  • packages/scanner/src/__tests__/windows-paths.test.ts
  • packages/scanner/src/declarative-matcher.ts
  • packages/scanner/src/detect-tech.ts
  • packages/scanner/src/index.ts
  • packages/scanner/src/matcher-registry.ts
  • packages/scanner/src/matchers/agent-loop-no-cap.ts
  • packages/scanner/src/matchers/agent-tool-definition.ts
  • packages/scanner/src/matchers/agentic-untrusted-prompt-input.ts
  • packages/scanner/src/matchers/algorithm-confusion.ts
  • packages/scanner/src/matchers/android-manifest-export.ts
  • packages/scanner/src/matchers/apex-rest-resource.ts
  • packages/scanner/src/matchers/auth-bypass.ts
  • packages/scanner/src/matchers/azure-function-handler.ts
  • packages/scanner/src/matchers/cache-key-poisoning.ts
  • packages/scanner/src/matchers/cache-key-scope.ts
  • packages/scanner/src/matchers/clj-ring-handler.ts
  • packages/scanner/src/matchers/connectrpc-handler-impl.ts
  • packages/scanner/src/matchers/cors-wildcard.ts
  • packages/scanner/src/matchers/cr-kemal-route.ts
  • packages/scanner/src/matchers/cron-secret-check.ts
  • packages/scanner/src/matchers/cross-tenant-id.ts
  • packages/scanner/src/matchers/crypto-usage.ts
  • packages/scanner/src/matchers/dangerous-html.ts
  • packages/scanner/src/matchers/dart-shelf-handler.ts
  • packages/scanner/src/matchers/debug-endpoint.ts
  • packages/scanner/src/matchers/dev-auth-bypass.ts
  • packages/scanner/src/matchers/dockerfile-curl-pipe-unverified.ts
  • packages/scanner/src/matchers/dockerfile-from-mutable-tag.ts
  • packages/scanner/src/matchers/dockerfile-run-as-root.ts
  • packages/scanner/src/matchers/dotnet-aspnet-controller.ts
  • packages/scanner/src/matchers/dotnet-azure-function.ts
  • packages/scanner/src/matchers/dotnet-minimal-api.ts
  • packages/scanner/src/matchers/dotnet-razor-pages.ts
  • packages/scanner/src/matchers/dotnet-sql-raw.ts
  • packages/scanner/src/matchers/drizzle-mass-assignment.ts
  • packages/scanner/src/matchers/drizzle-raw-sql.ts
  • packages/scanner/src/matchers/env-exposure.ts
  • packages/scanner/src/matchers/env-var-as-bool.ts
  • packages/scanner/src/matchers/erl-cowboy-handler.ts
  • packages/scanner/src/matchers/error-message-leak.ts
  • packages/scanner/src/matchers/event-handler-mismatch.ts
  • packages/scanner/src/matchers/ex-phoenix-controller.ts
  • packages/scanner/src/matchers/expensive-api-abuse.ts
  • packages/scanner/src/matchers/fs-write-symlink-boundary.ts
  • packages/scanner/src/matchers/gcp-cloud-function.ts
  • packages/scanner/src/matchers/git-provider-url-injection.ts
  • packages/scanner/src/matchers/github-workflow-security.ts
  • packages/scanner/src/matchers/go-buffalo-route.ts
  • packages/scanner/src/matchers/go-chi-route.ts
  • packages/scanner/src/matchers/go-cobra-command.ts
  • packages/scanner/src/matchers/go-command-injection.ts
  • packages/scanner/src/matchers/go-echo-route.ts
  • packages/scanner/src/matchers/go-embed-asset.ts
  • packages/scanner/src/matchers/go-fiber-route.ts
  • packages/scanner/src/matchers/go-gin-route.ts
  • packages/scanner/src/matchers/go-gorilla-route.ts
  • packages/scanner/src/matchers/go-http-handler.ts
  • packages/scanner/src/matchers/go-sql-raw.ts
  • packages/scanner/src/matchers/go-ssrf.ts
  • packages/scanner/src/matchers/iam-permissions.ts
  • packages/scanner/src/matchers/index.ts
  • packages/scanner/src/matchers/insecure-crypto.ts
  • packages/scanner/src/matchers/ios-url-scheme.ts
  • packages/scanner/src/matchers/js-astro-endpoint.ts
  • packages/scanner/src/matchers/js-bullmq-processor.ts
  • packages/scanner/src/matchers/js-bun-serve.ts
  • packages/scanner/src/matchers/js-deno-route.ts
  • packages/scanner/src/matchers/js-express-route.ts
  • packages/scanner/src/matchers/js-fastify-route.ts
  • packages/scanner/src/matchers/js-graphql-resolver.ts
  • packages/scanner/src/matchers/js-hapi-route.ts
  • packages/scanner/src/matchers/js-hono-route.ts
  • packages/scanner/src/matchers/js-koa-route.ts
  • packages/scanner/src/matchers/js-nestjs-controller.ts
  • packages/scanner/src/matchers/js-nextjs-catch-all-route-auth.ts
  • packages/scanner/src/matchers/js-nextjs-catchall-router.ts
  • packages/scanner/src/matchers/js-nextjs-edge-sandbox.ts
  • packages/scanner/src/matchers/js-nextjs-fw-server-action.ts
  • packages/scanner/src/matchers/js-nextjs-image-optimizer.ts
  • packages/scanner/src/matchers/js-nextjs-internal-header.ts
  • packages/scanner/src/matchers/js-nextjs-middleware-only-auth.ts
  • packages/scanner/src/matchers/js-nextjs-middleware.ts
  • packages/scanner/src/matchers/js-nextjs-page-data-fetch.ts
  • packages/scanner/src/matchers/js-nextjs-page-without-auth-fetch.ts
  • packages/scanner/src/matchers/js-nextjs-route-handlers.ts
  • packages/scanner/src/matchers/js-nextjs-server-action-no-auth.ts
  • packages/scanner/src/matchers/js-nextjs-server-action.ts
  • packages/scanner/src/matchers/js-nextjs-server-actions.ts
  • packages/scanner/src/matchers/js-nextjs-untrusted-fetch.ts
  • packages/scanner/src/matchers/js-nextjs-use-server-export.ts
  • packages/scanner/src/matchers/js-nosql-injection.ts
  • packages/scanner/src/matchers/js-nuxt-route.ts
  • packages/scanner/src/matchers/js-react-unsafe-json-in-html.ts
  • packages/scanner/src/matchers/js-remix-route.ts
  • packages/scanner/src/matchers/js-socketio-handler.ts
  • packages/scanner/src/matchers/js-solidstart-action.ts
  • packages/scanner/src/matchers/js-sql-raw.ts
  • packages/scanner/src/matchers/js-sveltekit-route.ts
  • packages/scanner/src/matchers/js-workers-fetch.ts
  • packages/scanner/src/matchers/jvm-jaxrs-resource.ts
  • packages/scanner/src/matchers/jvm-ktor-route.ts
  • packages/scanner/src/matchers/jvm-micronaut-controller.ts
  • packages/scanner/src/matchers/jvm-spring-controller.ts
  • packages/scanner/src/matchers/jvm-sql-raw.ts
  • packages/scanner/src/matchers/jwt-handling.ts
  • packages/scanner/src/matchers/k8s-secret-reference.ts
  • packages/scanner/src/matchers/k8s-secrets-init-container.ts
  • packages/scanner/src/matchers/lambda-aws-handler.ts
  • packages/scanner/src/matchers/lua-crypto-weakness.ts
  • packages/scanner/src/matchers/lua-ngx-exec.ts
  • packages/scanner/src/matchers/lua-regex-bypass.ts
  • packages/scanner/src/matchers/lua-shared-dict-poisoning.ts
  • packages/scanner/src/matchers/lua-string-concat-url.ts
  • packages/scanner/src/matchers/mcp-tool-handler.ts
  • packages/scanner/src/matchers/missing-auth.ts
  • packages/scanner/src/matchers/missing-await.ts
  • packages/scanner/src/matchers/non-atomic-operation.ts
  • packages/scanner/src/matchers/non-atomic-read-delete.ts
  • packages/scanner/src/matchers/oauth-flow.ts
  • packages/scanner/src/matchers/object-injection.ts
  • packages/scanner/src/matchers/open-redirect.ts
  • packages/scanner/src/matchers/path-traversal.ts
  • packages/scanner/src/matchers/php-cakephp-controller.ts
  • packages/scanner/src/matchers/php-codeigniter-controller.ts
  • packages/scanner/src/matchers/php-drupal-controller.ts
  • packages/scanner/src/matchers/php-laravel-route.ts
  • packages/scanner/src/matchers/php-magento-controller.ts
  • packages/scanner/src/matchers/php-slim-route.ts
  • packages/scanner/src/matchers/php-sql-raw.ts
  • packages/scanner/src/matchers/php-symfony-controller.ts
  • packages/scanner/src/matchers/php-wordpress-rest.ts
  • packages/scanner/src/matchers/php-yii-controller.ts
  • packages/scanner/src/matchers/postmessage-origin.ts
  • packages/scanner/src/matchers/prisma-raw-sql.ts
  • packages/scanner/src/matchers/process-env-access.ts
  • packages/scanner/src/matchers/prompt-leaks-system-prompt.ts
  • packages/scanner/src/matchers/proto-rpc-surface.ts
  • packages/scanner/src/matchers/public-endpoint.ts
  • packages/scanner/src/matchers/py-aiohttp-route.ts
  • packages/scanner/src/matchers/py-airflow-dag.ts
  • packages/scanner/src/matchers/py-bottle-route.ts
  • packages/scanner/src/matchers/py-celery-task.ts
  • packages/scanner/src/matchers/py-django-view.ts
  • packages/scanner/src/matchers/py-falcon-resource.ts
  • packages/scanner/src/matchers/py-fastapi-route.ts
  • packages/scanner/src/matchers/py-flask-route.ts
  • packages/scanner/src/matchers/py-nosql-injection.ts
  • packages/scanner/src/matchers/py-sanic-route.ts
  • packages/scanner/src/matchers/py-sql-raw.ts
  • packages/scanner/src/matchers/py-starlette-route.ts
  • packages/scanner/src/matchers/py-tornado-handler.ts
  • packages/scanner/src/matchers/rate-limit-bypass.ts
  • packages/scanner/src/matchers/rb-grape-endpoint.ts
  • packages/scanner/src/matchers/rb-hanami-action.ts
  • packages/scanner/src/matchers/rb-rails-controller.ts
  • packages/scanner/src/matchers/rb-roda-route.ts
  • packages/scanner/src/matchers/rb-sinatra-route.ts
  • packages/scanner/src/matchers/rb-sql-raw.ts
  • packages/scanner/src/matchers/rce.ts
  • packages/scanner/src/matchers/response-header-leak.ts
  • packages/scanner/src/matchers/rs-actix-route.ts
  • packages/scanner/src/matchers/rs-axum-route.ts
  • packages/scanner/src/matchers/rs-lambda-runtime.ts
  • packages/scanner/src/matchers/rs-poem-route.ts
  • packages/scanner/src/matchers/rs-rocket-route.ts
  • packages/scanner/src/matchers/rs-sql-raw.ts
  • packages/scanner/src/matchers/rs-tide-route.ts
  • packages/scanner/src/matchers/rs-tonic-grpc.ts
  • packages/scanner/src/matchers/rs-warp-filter.ts
  • packages/scanner/src/matchers/sandbox-runtime-script.ts
  • packages/scanner/src/matchers/secret-env-var.ts
  • packages/scanner/src/matchers/secret-in-fallback.ts
  • packages/scanner/src/matchers/secret-in-log.ts
  • packages/scanner/src/matchers/secrets-exposure.ts
  • packages/scanner/src/matchers/secrets-plaintext-exposure.ts
  • packages/scanner/src/matchers/security-behind-flag.ts
  • packages/scanner/src/matchers/sensitive-data-in-traces.ts
  • packages/scanner/src/matchers/service-entry-point.ts
  • packages/scanner/src/matchers/session-cookie-config.ts
  • packages/scanner/src/matchers/slack-signing-verification.ts
  • packages/scanner/src/matchers/snowflake-bigquery-sql.ts
  • packages/scanner/src/matchers/soql-injection.ts
  • packages/scanner/src/matchers/spread-operator-injection.ts
  • packages/scanner/src/matchers/sql-injection.ts
  • packages/scanner/src/matchers/ssrf.ts
  • packages/scanner/src/matchers/streaming-endpoint.ts
  • packages/scanner/src/matchers/swift-vapor-route.ts
  • packages/scanner/src/matchers/test-header-bypass.ts
  • packages/scanner/src/matchers/tf-encryption-missing.ts
  • packages/scanner/src/matchers/tf-iac-surface.ts
  • packages/scanner/src/matchers/tf-iam-wildcard.ts
  • packages/scanner/src/matchers/tf-module-unpinned.ts
  • packages/scanner/src/matchers/tf-public-ingress.ts
  • packages/scanner/src/matchers/tf-secret-in-data.ts
  • packages/scanner/src/matchers/trpc-public-procedure.ts
  • packages/scanner/src/matchers/unix-socket-listener.ts
  • packages/scanner/src/matchers/unsafe-deserialization.ts
  • packages/scanner/src/matchers/unsafe-redirect.ts
  • packages/scanner/src/matchers/untrusted-redirect-following.ts
  • packages/scanner/src/matchers/unverified-lookup.ts
  • packages/scanner/src/matchers/url-regex-validation.ts
  • packages/scanner/src/matchers/utils.ts
  • packages/scanner/src/matchers/webhook-handler.ts
  • packages/scanner/src/matchers/xss.ts
  • packages/scanner/src/matchers/zod-passthrough-mass-assignment.ts
  • packages/scanner/src/types.ts
  • packages/scanner/vitest.config.ts
  • packages/website/app/api/search/route.ts
  • packages/website/app/docs/[...slug]/page.tsx
  • packages/website/app/docs/layout.tsx
  • packages/website/app/docs/page.tsx
  • packages/website/app/layout.tsx
  • packages/website/app/page.tsx
  • packages/website/app/rss.xml/route.ts
  • packages/website/components/geistdocs/mdx-components.tsx
  • packages/website/components/geistdocs/provider.tsx
  • packages/website/components/run-command.tsx
  • packages/website/eslint.config.mjs
  • packages/website/lib/geistdocs/config.tsx
  • packages/website/lib/geistdocs/fonts.ts
  • packages/website/lib/geistdocs/source.ts
  • packages/website/next.config.ts
  • packages/website/package.json
  • packages/website/postcss.config.mjs
  • packages/website/source.config.ts
  • samples/webapp/deepsec.config.ts
  • samples/webapp/matchers/webapp-debug-flag.ts
  • samples/webapp/matchers/webapp-route-no-rate-limit.ts
  • samples/webapp/package.json
  • vitest.workspace.ts

Files

  • .agents/skills/technical-writer/SKILL.mddoc15,718 bytes
  • .agents/skills/technical-writer/references/content-patterns.mddoc5,501 bytes
  • .agents/skills/technical-writer/references/editorial-standards.mddoc8,424 bytes
  • .agents/skills/technical-writer/references/technical-verification.mddoc9,688 bytes
  • .deepsec/.gitignoreasset486 bytes
  • .deepsec/AGENTS.mddoc841 bytes
  • .deepsec/README.mddoc5,812 bytes
  • .deepsec/data/deepsec/INFO.mddoc6,480 bytes
  • .deepsec/data/deepsec/SETUP.mddoc2,274 bytes
  • .deepsec/data/deepsec/files/.env.local.jsonasset3,359 bytes
  • .deepsec/data/deepsec/files/.github/workflows/ci.yml.jsonasset5,975 bytes
  • .deepsec/data/deepsec/files/.github/workflows/deepsec.yml.jsonasset8,345 bytes
  • .deepsec/data/deepsec/files/.github/workflows/e2e-live-sandbox.yml.jsonasset2,401 bytes
  • .deepsec/data/deepsec/files/.github/workflows/release.yml.jsonasset6,395 bytes
  • .deepsec/data/deepsec/files/e2e/vitest.config.ts.jsonasset2,380 bytes
  • .deepsec/data/deepsec/files/packages/core/src/paths.ts.jsonasset6,696 bytes
  • .deepsec/data/deepsec/files/packages/core/src/plugin.ts.jsonasset2,550 bytes
  • .deepsec/data/deepsec/files/packages/core/src/run.ts.jsonasset10,372 bytes
  • .deepsec/data/deepsec/files/packages/core/src/schemas.ts.jsonasset2,255 bytes
  • .deepsec/data/deepsec/files/packages/core/src/types.ts.jsonasset2,508 bytes
  • .deepsec/data/deepsec/files/packages/deepsec/src/cli.ts.jsonasset4,384 bytes
  • .deepsec/data/deepsec/files/packages/deepsec/src/commands/export.ts.jsonasset7,900 bytes
  • .deepsec/data/deepsec/files/packages/deepsec/src/commands/init-project.ts.jsonasset8,867 bytes
  • .deepsec/data/deepsec/files/packages/deepsec/src/commands/init.ts.jsonasset3,705 bytes
  • .deepsec/data/deepsec/files/packages/deepsec/src/commands/metrics.ts.jsonasset6,049 bytes
  • .deepsec/data/deepsec/files/packages/deepsec/src/commands/process.ts.jsonasset2,489 bytes
  • .deepsec/data/deepsec/files/packages/deepsec/src/commands/report.ts.jsonasset2,336 bytes
  • .deepsec/data/deepsec/files/packages/deepsec/src/commands/sandbox-all.ts.jsonasset6,519 bytes
  • .deepsec/data/deepsec/files/packages/deepsec/src/commands/sandbox-process.ts.jsonasset2,803 bytes
  • .deepsec/data/deepsec/files/packages/deepsec/src/commands/scan.ts.jsonasset3,126 bytes
  • .deepsec/data/deepsec/files/packages/deepsec/src/data-commit.ts.jsonasset13,215 bytes
  • .deepsec/data/deepsec/files/packages/deepsec/src/file-sources.ts.jsonasset2,567 bytes
  • .deepsec/data/deepsec/files/packages/deepsec/src/pr-comment.ts.jsonasset2,597 bytes
  • .deepsec/data/deepsec/files/packages/deepsec/src/preflight.ts.jsonasset11,392 bytes
  • .deepsec/data/deepsec/files/packages/deepsec/src/resolve-project-id.ts.jsonasset3,016 bytes
  • .deepsec/data/deepsec/files/packages/deepsec/src/sandbox/download.ts.jsonasset17,536 bytes
  • .deepsec/data/deepsec/files/packages/deepsec/src/sandbox/merge-records.ts.jsonasset9,332 bytes
  • .deepsec/data/deepsec/files/packages/deepsec/src/sandbox/orchestrator.ts.jsonasset6,641 bytes
  • .deepsec/data/deepsec/files/packages/deepsec/src/sandbox/request-proxy.mjs.jsonasset2,714 bytes
  • .deepsec/data/deepsec/files/packages/deepsec/src/sandbox/setup.ts.jsonasset9,328 bytes
  • .deepsec/data/deepsec/files/packages/deepsec/src/sandbox/state.ts.jsonasset5,732 bytes
  • .deepsec/data/deepsec/files/packages/deepsec/src/sandbox/upload.ts.jsonasset9,216 bytes
  • .deepsec/data/deepsec/files/packages/processor/src/agents/claude-agent-sdk.ts.jsonasset2,655 bytes
  • .deepsec/data/deepsec/files/packages/processor/src/agents/codex-sdk.ts.jsonasset41,224 bytes
  • .deepsec/data/deepsec/files/packages/processor/src/agents/shared.ts.jsonasset11,184 bytes
  • .deepsec/data/deepsec/files/packages/processor/src/enrich.ts.jsonasset7,570 bytes
  • .deepsec/data/deepsec/files/packages/processor/src/index.ts.jsonasset15,148 bytes
  • .deepsec/data/deepsec/files/packages/processor/src/prompt/core.ts.jsonasset5,132 bytes
  • .deepsec/data/deepsec/files/packages/processor/src/prompt/highlights.ts.jsonasset11,439 bytes
  • .deepsec/data/deepsec/files/packages/processor/src/prompt/slug-notes.ts.jsonasset10,548 bytes
  • .deepsec/data/deepsec/files/packages/processor/src/triage.ts.jsonasset2,297 bytes
  • .deepsec/data/deepsec/files/packages/scanner/src/detect-tech.ts.jsonasset2,544 bytes
  • .deepsec/data/deepsec/files/packages/scanner/src/index.ts.jsonasset8,064 bytes
  • .deepsec/data/deepsec/files/packages/scanner/src/matchers/agent-loop-no-cap.ts.jsonasset7,009 bytes
  • .deepsec/data/deepsec/files/packages/scanner/src/matchers/agent-tool-definition.ts.jsonasset14,358 bytes
  • .deepsec/data/deepsec/files/packages/scanner/src/matchers/agentic-untrusted-prompt-input.ts.jsonasset10,835 bytes
  • .deepsec/data/deepsec/files/packages/scanner/src/matchers/algorithm-confusion.ts.jsonasset8,150 bytes
  • .deepsec/data/deepsec/files/packages/scanner/src/matchers/all-route-handlers.ts.jsonasset2,876 bytes
  • .deepsec/data/deepsec/files/packages/scanner/src/matchers/all-server-actions.ts.jsonasset1,923 bytes
  • .deepsec/data/deepsec/files/packages/scanner/src/matchers/android-manifest-export.ts.jsonasset1,699 bytes
  • .deepsec/data/deepsec/files/packages/scanner/src/matchers/apex-rest-resource.ts.jsonasset2,330 bytes
  • .deepsec/data/deepsec/files/packages/scanner/src/matchers/auth-bypass.ts.jsonasset5,485 bytes
  • .deepsec/data/deepsec/files/packages/scanner/src/matchers/azure-function-handler.ts.jsonasset2,398 bytes
  • .deepsec/data/deepsec/files/packages/scanner/src/matchers/cache-key-poisoning.ts.jsonasset10,381 bytes
  • .deepsec/data/deepsec/files/packages/scanner/src/matchers/cache-key-scope.ts.jsonasset6,128 bytes
  • .deepsec/data/deepsec/files/packages/scanner/src/matchers/catch-all-route-auth.ts.jsonasset2,390 bytes
  • .deepsec/data/deepsec/files/packages/scanner/src/matchers/catchall-router.ts.jsonasset2,354 bytes
  • .deepsec/data/deepsec/files/packages/scanner/src/matchers/clj-ring-handler.ts.jsonasset2,322 bytes
  • .deepsec/data/deepsec/files/packages/scanner/src/matchers/connectrpc-handler-impl.ts.jsonasset2,427 bytes
  • .deepsec/data/deepsec/files/packages/scanner/src/matchers/cors-wildcard.ts.jsonasset6,035 bytes
  • .deepsec/data/deepsec/files/packages/scanner/src/matchers/cr-kemal-route.ts.jsonasset2,287 bytes
  • .deepsec/data/deepsec/files/packages/scanner/src/matchers/cron-secret-check.ts.jsonasset4,510 bytes
  • .deepsec/data/deepsec/files/packages/scanner/src/matchers/cross-tenant-id.ts.jsonasset5,820 bytes
  • .deepsec/data/deepsec/files/packages/scanner/src/matchers/crypto-usage.ts.jsonasset6,774 bytes
  • .deepsec/data/deepsec/files/packages/scanner/src/matchers/dangerous-html.ts.jsonasset14,360 bytes
  • .deepsec/data/deepsec/files/packages/scanner/src/matchers/dart-shelf-handler.ts.jsonasset5,035 bytes
  • .deepsec/data/deepsec/files/packages/scanner/src/matchers/debug-endpoint.ts.jsonasset6,937 bytes
  • .deepsec/data/deepsec/files/packages/scanner/src/matchers/dev-auth-bypass.ts.jsonasset12,658 bytes
  • .deepsec/data/deepsec/files/packages/scanner/src/matchers/dockerfile-curl-pipe-unverified.ts.jsonasset2,421 bytes
  • .deepsec/data/deepsec/files/packages/scanner/src/matchers/dockerfile-from-mutable-tag.ts.jsonasset2,332 bytes
  • .deepsec/data/deepsec/files/packages/scanner/src/matchers/dockerfile-run-as-root.ts.jsonasset2,409 bytes
  • .deepsec/data/deepsec/files/packages/scanner/src/matchers/dotnet-aspnet-controller.ts.jsonasset2,361 bytes
  • .deepsec/data/deepsec/files/packages/scanner/src/matchers/dotnet-azure-function.ts.jsonasset2,365 bytes
  • .deepsec/data/deepsec/files/packages/scanner/src/matchers/dotnet-minimal-api.ts.jsonasset2,338 bytes
  • .deepsec/data/deepsec/files/packages/scanner/src/matchers/dotnet-razor-pages.ts.jsonasset2,365 bytes
  • .deepsec/data/deepsec/files/packages/scanner/src/matchers/dotnet-sql-raw.ts.jsonasset7,236 bytes
  • .deepsec/data/deepsec/files/packages/scanner/src/matchers/drizzle-mass-assignment.ts.jsonasset3,817 bytes
  • .deepsec/data/deepsec/files/packages/scanner/src/matchers/drizzle-raw-sql.ts.jsonasset6,446 bytes
  • .deepsec/data/deepsec/files/packages/scanner/src/matchers/env-exposure.ts.jsonasset11,276 bytes
  • .deepsec/data/deepsec/files/packages/scanner/src/matchers/env-var-as-bool.ts.jsonasset7,645 bytes
  • .deepsec/data/deepsec/files/packages/scanner/src/matchers/erl-cowboy-handler.ts.jsonasset834 bytes
  • .deepsec/data/deepsec/files/packages/scanner/src/matchers/error-message-leak.ts.jsonasset1,831 bytes
  • .deepsec/data/deepsec/files/packages/scanner/src/matchers/event-handler-mismatch.ts.jsonasset4,771 bytes
  • .deepsec/data/deepsec/files/packages/scanner/src/matchers/ex-phoenix-controller.ts.jsonasset2,759 bytes
  • .deepsec/data/deepsec/files/packages/scanner/src/matchers/expensive-api-abuse.ts.jsonasset16,756 bytes
  • .deepsec/data/deepsec/files/packages/scanner/src/matchers/framework-edge-sandbox.ts.jsonasset1,890 bytes
  • .deepsec/data/deepsec/files/packages/scanner/src/matchers/framework-image-optimizer.ts.jsonasset2,830 bytes
  • .deepsec/data/deepsec/files/packages/scanner/src/matchers/framework-internal-header.ts.jsonasset3,723 bytes
  • .deepsec/data/deepsec/files/packages/scanner/src/matchers/framework-server-action.ts.jsonasset3,887 bytes
  • .deepsec/data/deepsec/files/packages/scanner/src/matchers/framework-untrusted-fetch.ts.jsonasset2,950 bytes
  • .deepsec/data/deepsec/files/packages/scanner/src/matchers/fs-write-symlink-boundary.ts.jsonasset5,001 bytes
  • .deepsec/data/deepsec/files/packages/scanner/src/matchers/gcp-cloud-function.ts.jsonasset879 bytes
  • .deepsec/data/deepsec/files/packages/scanner/src/matchers/git-provider-url-injection.ts.jsonasset5,347 bytes
  • .deepsec/data/deepsec/files/packages/scanner/src/matchers/github-workflow-security.ts.jsonasset1,857 bytes
  • .deepsec/data/deepsec/files/packages/scanner/src/matchers/go-buffalo-route.ts.jsonasset1,614 bytes
  • .deepsec/data/deepsec/files/packages/scanner/src/matchers/go-chi-route.ts.jsonasset1,595 bytes
  • .deepsec/data/deepsec/files/packages/scanner/src/matchers/go-cobra-command.ts.jsonasset2,332 bytes
  • .deepsec/data/deepsec/files/packages/scanner/src/matchers/go-command-injection.ts.jsonasset2,368 bytes
  • .deepsec/data/deepsec/files/packages/scanner/src/matchers/go-echo-route.ts.jsonasset2,298 bytes
  • .deepsec/data/deepsec/files/packages/scanner/src/matchers/go-embed-asset.ts.jsonasset2,355 bytes
  • .deepsec/data/deepsec/files/packages/scanner/src/matchers/go-fiber-route.ts.jsonasset2,292 bytes
  • .deepsec/data/deepsec/files/packages/scanner/src/matchers/go-gin-route.ts.jsonasset2,303 bytes
  • .deepsec/data/deepsec/files/packages/scanner/src/matchers/go-gorilla-route.ts.jsonasset2,302 bytes
  • .deepsec/data/deepsec/files/packages/scanner/src/matchers/go-http-handler.ts.jsonasset3,146 bytes
  • .deepsec/data/deepsec/files/packages/scanner/src/matchers/go-sql-raw.ts.jsonasset5,947 bytes
  • .deepsec/data/deepsec/files/packages/scanner/src/matchers/go-ssrf.ts.jsonasset4,947 bytes
  • .deepsec/data/deepsec/files/packages/scanner/src/matchers/iam-permissions.ts.jsonasset2,373 bytes
  • .deepsec/data/deepsec/files/packages/scanner/src/matchers/index.ts.jsonasset6,073 bytes
  • .deepsec/data/deepsec/files/packages/scanner/src/matchers/insecure-crypto.ts.jsonasset7,698 bytes
  • .deepsec/data/deepsec/files/packages/scanner/src/matchers/ios-url-scheme.ts.jsonasset2,350 bytes
  • .deepsec/data/deepsec/files/packages/scanner/src/matchers/js-astro-endpoint.ts.jsonasset3,804 bytes
  • .deepsec/data/deepsec/files/packages/scanner/src/matchers/js-bullmq-processor.ts.jsonasset2,327 bytes
  • .deepsec/data/deepsec/files/packages/scanner/src/matchers/js-bun-serve.ts.jsonasset2,312 bytes
  • .deepsec/data/deepsec/files/packages/scanner/src/matchers/js-deno-route.ts.jsonasset2,708 bytes
  • .deepsec/data/deepsec/files/packages/scanner/src/matchers/js-express-route.ts.jsonasset2,661 bytes
  • .deepsec/data/deepsec/files/packages/scanner/src/matchers/js-fastify-route.ts.jsonasset2,793 bytes
  • .deepsec/data/deepsec/files/packages/scanner/src/matchers/js-graphql-resolver.ts.jsonasset2,331 bytes
  • .deepsec/data/deepsec/files/packages/scanner/src/matchers/js-hapi-route.ts.jsonasset2,309 bytes
  • .deepsec/data/deepsec/files/packages/scanner/src/matchers/js-hono-route.ts.jsonasset2,665 bytes
  • .deepsec/data/deepsec/files/packages/scanner/src/matchers/js-koa-route.ts.jsonasset2,636 bytes
  • .deepsec/data/deepsec/files/packages/scanner/src/matchers/js-nestjs-controller.ts.jsonasset3,206 bytes
  • .deepsec/data/deepsec/files/packages/scanner/src/matchers/js-nextjs-catch-all-route-auth.ts.jsonasset2,344 bytes
  • .deepsec/data/deepsec/files/packages/scanner/src/matchers/js-nextjs-catchall-router.ts.jsonasset5,984 bytes
  • .deepsec/data/deepsec/files/packages/scanner/src/matchers/js-nextjs-edge-sandbox.ts.jsonasset3,404 bytes
  • .deepsec/data/deepsec/files/packages/scanner/src/matchers/js-nextjs-fw-server-action.ts.jsonasset2,380 bytes
  • .deepsec/data/deepsec/files/packages/scanner/src/matchers/js-nextjs-image-optimizer.ts.jsonasset2,405 bytes
  • .deepsec/data/deepsec/files/packages/scanner/src/matchers/js-nextjs-internal-header.ts.jsonasset2,785 bytes
  • .deepsec/data/deepsec/files/packages/scanner/src/matchers/js-nextjs-middleware-only-auth.ts.jsonasset2,759 bytes
  • .deepsec/data/deepsec/files/packages/scanner/src/matchers/js-nextjs-middleware.ts.jsonasset6,913 bytes
  • .deepsec/data/deepsec/files/packages/scanner/src/matchers/js-nextjs-page-data-fetch.ts.jsonasset4,921 bytes
  • .deepsec/data/deepsec/files/packages/scanner/src/matchers/js-nextjs-page-without-auth-fetch.ts.jsonasset2,343 bytes
  • .deepsec/data/deepsec/files/packages/scanner/src/matchers/js-nextjs-route-handlers.ts.jsonasset7,489 bytes
  • .deepsec/data/deepsec/files/packages/scanner/src/matchers/js-nextjs-server-action-no-auth.ts.jsonasset3,487 bytes
  • .deepsec/data/deepsec/files/packages/scanner/src/matchers/js-nextjs-server-action.ts.jsonasset2,318 bytes
  • .deepsec/data/deepsec/files/packages/scanner/src/matchers/js-nextjs-server-actions.ts.jsonasset2,405 bytes
  • .deepsec/data/deepsec/files/packages/scanner/src/matchers/js-nextjs-untrusted-fetch.ts.jsonasset4,571 bytes
  • .deepsec/data/deepsec/files/packages/scanner/src/matchers/js-nextjs-use-server-export.ts.jsonasset2,352 bytes
  • .deepsec/data/deepsec/files/packages/scanner/src/matchers/js-nosql-injection.ts.jsonasset6,556 bytes
  • .deepsec/data/deepsec/files/packages/scanner/src/matchers/js-nuxt-route.ts.jsonasset2,354 bytes
  • .deepsec/data/deepsec/files/packages/scanner/src/matchers/js-react-unsafe-json-in-html.ts.jsonasset10,028 bytes
  • .deepsec/data/deepsec/files/packages/scanner/src/matchers/js-remix-route.ts.jsonasset2,861 bytes
  • .deepsec/data/deepsec/files/packages/scanner/src/matchers/js-socketio-handler.ts.jsonasset2,732 bytes
  • .deepsec/data/deepsec/files/packages/scanner/src/matchers/js-solidstart-action.ts.jsonasset2,357 bytes
  • .deepsec/data/deepsec/files/packages/scanner/src/matchers/js-sql-raw.ts.jsonasset14,563 bytes
  • .deepsec/data/deepsec/files/packages/scanner/src/matchers/js-sveltekit-route.ts.jsonasset4,306 bytes
  • .deepsec/data/deepsec/files/packages/scanner/src/matchers/js-workers-fetch.ts.jsonasset2,348 bytes
  • .deepsec/data/deepsec/files/packages/scanner/src/matchers/jvm-jaxrs-resource.ts.jsonasset2,328 bytes
  • .deepsec/data/deepsec/files/packages/scanner/src/matchers/jvm-ktor-route.ts.jsonasset2,289 bytes
  • .deepsec/data/deepsec/files/packages/scanner/src/matchers/jvm-micronaut-controller.ts.jsonasset2,342 bytes
  • .deepsec/data/deepsec/files/packages/scanner/src/matchers/jvm-spring-controller.ts.jsonasset2,340 bytes
  • .deepsec/data/deepsec/files/packages/scanner/src/matchers/jvm-sql-raw.ts.jsonasset9,742 bytes
  • .deepsec/data/deepsec/files/packages/scanner/src/matchers/jwt-handling.ts.jsonasset10,394 bytes
  • .deepsec/data/deepsec/files/packages/scanner/src/matchers/k8s-secret-reference.ts.jsonasset2,398 bytes
  • .deepsec/data/deepsec/files/packages/scanner/src/matchers/k8s-secrets-init-container.ts.jsonasset2,391 bytes
  • .deepsec/data/deepsec/files/packages/scanner/src/matchers/lambda-aws-handler.ts.jsonasset3,526 bytes
  • .deepsec/data/deepsec/files/packages/scanner/src/matchers/lua-crypto-weakness.ts.jsonasset3,620 bytes
  • .deepsec/data/deepsec/files/packages/scanner/src/matchers/lua-ngx-exec.ts.jsonasset2,690 bytes
  • .deepsec/data/deepsec/files/packages/scanner/src/matchers/lua-regex-bypass.ts.jsonasset4,202 bytes
  • .deepsec/data/deepsec/files/packages/scanner/src/matchers/lua-shared-dict-poisoning.ts.jsonasset3,535 bytes
  • .deepsec/data/deepsec/files/packages/scanner/src/matchers/lua-string-concat-url.ts.jsonasset3,205 bytes
  • .deepsec/data/deepsec/files/packages/scanner/src/matchers/mcp-tool-handler.ts.jsonasset3,526 bytes
  • .deepsec/data/deepsec/files/packages/scanner/src/matchers/missing-auth.ts.jsonasset3,372 bytes
  • .deepsec/data/deepsec/files/packages/scanner/src/matchers/missing-await.ts.jsonasset9,013 bytes
  • .deepsec/data/deepsec/files/packages/scanner/src/matchers/nextjs-middleware-only-auth.ts.jsonasset2,825 bytes
  • .deepsec/data/deepsec/files/packages/scanner/src/matchers/nextjs-middleware.ts.jsonasset3,233 bytes
  • .deepsec/data/deepsec/files/packages/scanner/src/matchers/non-atomic-operation.ts.jsonasset4,533 bytes
  • .deepsec/data/deepsec/files/packages/scanner/src/matchers/non-atomic-read-delete.ts.jsonasset7,531 bytes
  • .deepsec/data/deepsec/files/packages/scanner/src/matchers/oauth-flow.ts.jsonasset2,173 bytes
  • .deepsec/data/deepsec/files/packages/scanner/src/matchers/object-injection.ts.jsonasset4,753 bytes
  • .deepsec/data/deepsec/files/packages/scanner/src/matchers/open-redirect.ts.jsonasset8,197 bytes
  • .deepsec/data/deepsec/files/packages/scanner/src/matchers/page-data-fetch.ts.jsonasset3,551 bytes
  • .deepsec/data/deepsec/files/packages/scanner/src/matchers/page-without-auth-fetch.ts.jsonasset3,538 bytes
  • .deepsec/data/deepsec/files/packages/scanner/src/matchers/path-traversal.ts.jsonasset4,667 bytes
  • .deepsec/data/deepsec/files/packages/scanner/src/matchers/php-cakephp-controller.ts.jsonasset3,541 bytes
  • .deepsec/data/deepsec/files/packages/scanner/src/matchers/php-codeigniter-controller.ts.jsonasset1,748 bytes
  • .deepsec/data/deepsec/files/packages/scanner/src/matchers/php-drupal-controller.ts.jsonasset1,668 bytes
  • .deepsec/data/deepsec/files/packages/scanner/src/matchers/php-laravel-route.ts.jsonasset2,837 bytes
  • .deepsec/data/deepsec/files/packages/scanner/src/matchers/php-magento-controller.ts.jsonasset1,702 bytes
  • .deepsec/data/deepsec/files/packages/scanner/src/matchers/php-slim-route.ts.jsonasset2,730 bytes
  • .deepsec/data/deepsec/files/packages/scanner/src/matchers/php-sql-raw.ts.jsonasset5,295 bytes
  • .deepsec/data/deepsec/files/packages/scanner/src/matchers/php-symfony-controller.ts.jsonasset1,733 bytes
  • .deepsec/data/deepsec/files/packages/scanner/src/matchers/php-wordpress-rest.ts.jsonasset2,337 bytes
  • .deepsec/data/deepsec/files/packages/scanner/src/matchers/php-yii-controller.ts.jsonasset2,357 bytes
  • .deepsec/data/deepsec/files/packages/scanner/src/matchers/postmessage-origin.ts.jsonasset5,226 bytes
  • .deepsec/data/deepsec/files/packages/scanner/src/matchers/prisma-raw-sql.ts.jsonasset4,800 bytes
  • .deepsec/data/deepsec/files/packages/scanner/src/matchers/process-env-access.ts.jsonasset4,755 bytes
  • .deepsec/data/deepsec/files/packages/scanner/src/matchers/prompt-leaks-system-prompt.ts.jsonasset8,856 bytes
  • .deepsec/data/deepsec/files/packages/scanner/src/matchers/proto-rpc-surface.ts.jsonasset2,343 bytes
  • .deepsec/data/deepsec/files/packages/scanner/src/matchers/public-endpoint.ts.jsonasset2,349 bytes
  • .deepsec/data/deepsec/files/packages/scanner/src/matchers/py-aiohttp-route.ts.jsonasset2,657 bytes
  • .deepsec/data/deepsec/files/packages/scanner/src/matchers/py-airflow-dag.ts.jsonasset2,354 bytes
  • .deepsec/data/deepsec/files/packages/scanner/src/matchers/py-bottle-route.ts.jsonasset2,303 bytes
  • .deepsec/data/deepsec/files/packages/scanner/src/matchers/py-celery-task.ts.jsonasset2,349 bytes
  • .deepsec/data/deepsec/files/packages/scanner/src/matchers/py-django-view.ts.jsonasset2,368 bytes
  • .deepsec/data/deepsec/files/packages/scanner/src/matchers/py-falcon-resource.ts.jsonasset2,333 bytes
  • .deepsec/data/deepsec/files/packages/scanner/src/matchers/py-fastapi-route.ts.jsonasset3,806 bytes
  • .deepsec/data/deepsec/files/packages/scanner/src/matchers/py-flask-route.ts.jsonasset4,489 bytes
  • .deepsec/data/deepsec/files/packages/scanner/src/matchers/py-nosql-injection.ts.jsonasset3,305 bytes
  • .deepsec/data/deepsec/files/packages/scanner/src/matchers/py-sanic-route.ts.jsonasset4,083 bytes
  • .deepsec/data/deepsec/files/packages/scanner/src/matchers/py-sql-raw.ts.jsonasset5,657 bytes
  • .deepsec/data/deepsec/files/packages/scanner/src/matchers/py-starlette-route.ts.jsonasset2,791 bytes
  • .deepsec/data/deepsec/files/packages/scanner/src/matchers/py-tornado-handler.ts.jsonasset2,331 bytes
  • .deepsec/data/deepsec/files/packages/scanner/src/matchers/rate-limit-bypass.ts.jsonasset6,243 bytes
  • .deepsec/data/deepsec/files/packages/scanner/src/matchers/rb-grape-endpoint.ts.jsonasset2,294 bytes
  • .deepsec/data/deepsec/files/packages/scanner/src/matchers/rb-hanami-action.ts.jsonasset2,323 bytes
  • .deepsec/data/deepsec/files/packages/scanner/src/matchers/rb-rails-controller.ts.jsonasset2,724 bytes
  • .deepsec/data/deepsec/files/packages/scanner/src/matchers/rb-roda-route.ts.jsonasset2,266 bytes
  • .deepsec/data/deepsec/files/packages/scanner/src/matchers/rb-sinatra-route.ts.jsonasset2,282 bytes
  • .deepsec/data/deepsec/files/packages/scanner/src/matchers/rb-sql-raw.ts.jsonasset4,178 bytes
  • .deepsec/data/deepsec/files/packages/scanner/src/matchers/rce.ts.jsonasset6,389 bytes
  • .deepsec/data/deepsec/files/packages/scanner/src/matchers/response-header-leak.ts.jsonasset6,555 bytes
  • .deepsec/data/deepsec/files/packages/scanner/src/matchers/rs-actix-route.ts.jsonasset2,306 bytes
  • .deepsec/data/deepsec/files/packages/scanner/src/matchers/rs-axum-route.ts.jsonasset3,957 bytes
  • .deepsec/data/deepsec/files/packages/scanner/src/matchers/rs-lambda-runtime.ts.jsonasset2,314 bytes
  • .deepsec/data/deepsec/files/packages/scanner/src/matchers/rs-poem-route.ts.jsonasset2,276 bytes
  • .deepsec/data/deepsec/files/packages/scanner/src/matchers/rs-rocket-route.ts.jsonasset2,305 bytes
  • .deepsec/data/deepsec/files/packages/scanner/src/matchers/rs-sql-raw.ts.jsonasset6,050 bytes
  • .deepsec/data/deepsec/files/packages/scanner/src/matchers/rs-tide-route.ts.jsonasset2,613 bytes
  • .deepsec/data/deepsec/files/packages/scanner/src/matchers/rs-tonic-grpc.ts.jsonasset2,293 bytes
  • .deepsec/data/deepsec/files/packages/scanner/src/matchers/rs-warp-filter.ts.jsonasset2,315 bytes
  • .deepsec/data/deepsec/files/packages/scanner/src/matchers/sandbox-runtime-script.ts.jsonasset2,792 bytes
  • .deepsec/data/deepsec/files/packages/scanner/src/matchers/secret-env-var.ts.jsonasset7,191 bytes
  • .deepsec/data/deepsec/files/packages/scanner/src/matchers/secret-in-fallback.ts.jsonasset8,395 bytes
  • .deepsec/data/deepsec/files/packages/scanner/src/matchers/secret-in-log.ts.jsonasset7,637 bytes
  • .deepsec/data/deepsec/files/packages/scanner/src/matchers/secrets-exposure.ts.jsonasset6,392 bytes
  • .deepsec/data/deepsec/files/packages/scanner/src/matchers/secrets-plaintext-exposure.ts.jsonasset4,634 bytes
  • .deepsec/data/deepsec/files/packages/scanner/src/matchers/security-behind-flag.ts.jsonasset6,032 bytes
  • .deepsec/data/deepsec/files/packages/scanner/src/matchers/sensitive-data-in-traces.ts.jsonasset6,209 bytes
  • .deepsec/data/deepsec/files/packages/scanner/src/matchers/server-action-no-auth.ts.jsonasset2,399 bytes
  • .deepsec/data/deepsec/files/packages/scanner/src/matchers/server-action.ts.jsonasset2,721 bytes
  • .deepsec/data/deepsec/files/packages/scanner/src/matchers/service-entry-point.ts.jsonasset2,380 bytes
  • .deepsec/data/deepsec/files/packages/scanner/src/matchers/session-cookie-config.ts.jsonasset12,089 bytes
  • .deepsec/data/deepsec/files/packages/scanner/src/matchers/slack-signing-verification.ts.jsonasset7,787 bytes
  • .deepsec/data/deepsec/files/packages/scanner/src/matchers/snowflake-bigquery-sql.ts.jsonasset5,226 bytes
  • .deepsec/data/deepsec/files/packages/scanner/src/matchers/soql-injection.ts.jsonasset5,442 bytes
  • .deepsec/data/deepsec/files/packages/scanner/src/matchers/spread-operator-injection.ts.jsonasset4,854 bytes
  • .deepsec/data/deepsec/files/packages/scanner/src/matchers/sql-injection.ts.jsonasset15,846 bytes
  • .deepsec/data/deepsec/files/packages/scanner/src/matchers/ssrf.ts.jsonasset5,110 bytes
  • .deepsec/data/deepsec/files/packages/scanner/src/matchers/streaming-endpoint.ts.jsonasset3,153 bytes
  • .deepsec/data/deepsec/files/packages/scanner/src/matchers/swift-vapor-route.ts.jsonasset4,868 bytes
  • .deepsec/data/deepsec/files/packages/scanner/src/matchers/test-header-bypass.ts.jsonasset15,016 bytes
  • .deepsec/data/deepsec/files/packages/scanner/src/matchers/tf-encryption-missing.ts.jsonasset2,413 bytes
  • .deepsec/data/deepsec/files/packages/scanner/src/matchers/tf-iac-surface.ts.jsonasset2,447 bytes
  • .deepsec/data/deepsec/files/packages/scanner/src/matchers/tf-iam-wildcard.ts.jsonasset2,379 bytes
  • .deepsec/data/deepsec/files/packages/scanner/src/matchers/tf-module-unpinned.ts.jsonasset6,187 bytes
  • .deepsec/data/deepsec/files/packages/scanner/src/matchers/tf-public-ingress.ts.jsonasset2,319 bytes
  • .deepsec/data/deepsec/files/packages/scanner/src/matchers/tf-secret-in-data.ts.jsonasset3,692 bytes
  • .deepsec/data/deepsec/files/packages/scanner/src/matchers/trpc-public-procedure.ts.jsonasset2,984 bytes
  • .deepsec/data/deepsec/files/packages/scanner/src/matchers/unix-socket-listener.ts.jsonasset2,367 bytes
  • .deepsec/data/deepsec/files/packages/scanner/src/matchers/unsafe-deserialization.ts.jsonasset5,523 bytes
  • .deepsec/data/deepsec/files/packages/scanner/src/matchers/unsafe-json-in-html.ts.jsonasset10,771 bytes
  • .deepsec/data/deepsec/files/packages/scanner/src/matchers/unsafe-redirect.ts.jsonasset9,373 bytes
  • .deepsec/data/deepsec/files/packages/scanner/src/matchers/untrusted-redirect-following.ts.jsonasset11,429 bytes
  • .deepsec/data/deepsec/files/packages/scanner/src/matchers/unverified-lookup.ts.jsonasset5,877 bytes
  • .deepsec/data/deepsec/files/packages/scanner/src/matchers/url-regex-validation.ts.jsonasset7,044 bytes
  • .deepsec/data/deepsec/files/packages/scanner/src/matchers/use-server-export.ts.jsonasset2,381 bytes
  • .deepsec/data/deepsec/files/packages/scanner/src/matchers/webhook-handler.ts.jsonasset3,319 bytes
  • .deepsec/data/deepsec/files/packages/scanner/src/matchers/xss.ts.jsonasset7,899 bytes
  • .deepsec/data/deepsec/files/packages/scanner/src/matchers/zod-passthrough-mass-assignment.ts.jsonasset9,411 bytes
  • .deepsec/data/deepsec/files/samples/webapp/matchers/webapp-debug-flag.ts.jsonasset2,804 bytes
  • .deepsec/data/deepsec/files/samples/webapp/matchers/webapp-route-no-rate-limit.ts.jsonasset2,494 bytes
  • .deepsec/data/deepsec/tech.jsonasset204 bytes
  • .deepsec/deepsec.config.tsruns425 bytes
  • .deepsec/matchers/archive-extraction-untrusted.tsruns3,636 bytes
  • .deepsec/package.jsonruns305 bytes
  • .deepsec/pnpm-lock.yamlasset197 bytes
  • .deepsec/pnpm-workspace.yamlasset297 bytes
  • .deepsec/tsconfig.jsonasset341 bytes
  • .env.exampleasset571 bytes
  • .github/ISSUE_TEMPLATE/bug.mddoc718 bytes
  • .github/ISSUE_TEMPLATE/feature.mddoc489 bytes
  • .github/ISSUE_TEMPLATE/matcher-suggestion.mddoc989 bytes
  • .github/PULL_REQUEST_TEMPLATE.mddoc558 bytes
  • .github/workflows/bump-version.ymlasset9,970 bytes
  • .github/workflows/ci.ymlasset1,745 bytes
  • .github/workflows/deepsec.ymlasset4,007 bytes
  • .github/workflows/e2e-live-sandbox.ymlasset1,182 bytes
  • .github/workflows/release.ymlasset6,430 bytes
  • .gitignoreasset197 bytes
  • CLAUDE.mddoc1,856 bytes
  • CODE_OF_CONDUCT.mddoc466 bytes
  • CONTRIBUTING.mddoc5,629 bytes
  • LICENSEasset11,358 bytes
  • NOTICEasset134 bytes
  • README.mddoc7,882 bytes
  • SECURITY.mddoc322 bytes
  • SKILL.mdcore4,972 bytes
  • SKILL.mdcore4,972 bytes
  • biome.jsonasset1,445 bytes
  • docs/architecture.mddoc8,624 bytes
  • docs/configuration.mddoc7,926 bytes
  • docs/data-layout.mddoc11,005 bytes
  • docs/faq.mddoc7,328 bytes
  • docs/getting-started.mddoc8,864 bytes
  • docs/meta.jsonasset234 bytes
  • docs/models.mddoc10,316 bytes
  • docs/plugins.mddoc7,764 bytes
  • docs/reviewing-changes.mddoc10,231 bytes
  • docs/supported-tech.mddoc8,307 bytes
  • docs/vercel-setup.mddoc8,157 bytes
  • docs/writing-matchers.mddoc6,658 bytes
  • e2e/bundle.test.tsruns30,819 bytes
  • e2e/pipeline-sandbox.test.tsruns17,905 bytes
  • e2e/pipeline.test.tsruns12,683 bytes
  • e2e/scan.test.tsruns6,012 bytes
  • e2e/vitest.config.tsruns1,048 bytes
  • fixtures/vulnerable-app/package.jsonruns72 bytes
  • fixtures/vulnerable-app/src/api/admin.tsruns519 bytes
  • fixtures/vulnerable-app/src/api/upload.tsruns517 bytes
  • fixtures/vulnerable-app/src/api/users.tsruns602 bytes
  • fixtures/vulnerable-app/src/components/comment.tsxruns616 bytes
  • fixtures/vulnerable-app/src/config.tsruns465 bytes
  • fixtures/vulnerable-app/src/lib/crypto.tsruns690 bytes
  • fixtures/vulnerable-app/src/lib/db.tsruns653 bytes
  • fixtures/vulnerable-app/src/lib/fetch-proxy.tsruns493 bytes
  • fixtures/vulnerable-app/src/utils/exec-helper.tsruns653 bytes
  • fixtures/vulnerable-app/src/utils/redirect.tsruns453 bytes
  • knip.jsonasset1,245 bytes
  • package.jsonruns1,753 bytes
  • packages/core/package.jsonruns229 bytes
  • packages/core/src/__tests__/finding-id.test.tsruns3,334 bytes
  • packages/core/src/__tests__/paths.test.tsruns2,188 bytes
  • packages/core/src/__tests__/run.test.tsruns7,787 bytes
  • packages/core/src/__tests__/schemas.test.tsruns5,226 bytes
  • packages/core/src/__tests__/severity.test.tsruns4,034 bytes
  • packages/core/src/__tests__/shutdown.test.tsruns6,472 bytes
  • packages/core/src/config.tsruns3,867 bytes
  • packages/core/src/finding-id.tsruns2,456 bytes
  • packages/core/src/index.tsruns203 bytes
  • packages/core/src/paths.tsruns3,824 bytes
  • packages/core/src/plugin.tsruns6,622 bytes
  • packages/core/src/run.tsruns16,284 bytes
  • packages/core/src/schemas.tsruns9,941 bytes
  • packages/core/src/types.tsruns10,760 bytes
  • packages/core/tsconfig.jsonasset137 bytes
  • packages/core/vitest.config.tsruns159 bytes
  • packages/processor/package.jsonruns485 bytes
  • packages/processor/src/__tests__/attribution.test.tsruns3,627 bytes
  • packages/processor/src/__tests__/batch.test.tsruns1,737 bytes
  • packages/processor/src/__tests__/codex-setup.test.tsruns618 bytes
  • packages/processor/src/__tests__/pi-sdk-tools.test.tsruns8,554 bytes
  • packages/processor/src/__tests__/process-revalidate.test.tsruns59,424 bytes
  • packages/processor/src/__tests__/prompt-assemble.test.tsruns3,585 bytes
  • packages/processor/src/__tests__/prompt-samples.fixtures.tsruns10,851 bytes
  • packages/processor/src/__tests__/prompt-samples.test.tsruns4,523 bytes
  • packages/processor/src/__tests__/reconcile.test.tsruns15,508 bytes
  • packages/processor/src/__tests__/registry.test.tsruns2,049 bytes
  • packages/processor/src/__tests__/shared.test.tsruns25,130 bytes
  • packages/processor/src/__tests__/stub-agent.tsruns3,027 bytes
  • packages/processor/src/agents/claude-agent-sdk.tsruns28,486 bytes
  • packages/processor/src/agents/codex-sdk.tsruns49,670 bytes
  • packages/processor/src/agents/codex-wrapper.shruns990 bytes
  • packages/processor/src/agents/pi-sdk.tsruns40,395 bytes
  • packages/processor/src/agents/registry.tsruns373 bytes
  • packages/processor/src/agents/shared.tsruns46,515 bytes
  • packages/processor/src/agents/types.tsruns4,906 bytes
  • packages/processor/src/batch.tsruns1,291 bytes
  • packages/processor/src/enrich.tsruns8,578 bytes
  • packages/processor/src/index.tsruns63,641 bytes
  • packages/processor/src/prompt/assemble.tsruns7,422 bytes
  • packages/processor/src/prompt/core.tsruns7,103 bytes
  • packages/processor/src/prompt/file-language.tsruns1,489 bytes
  • packages/processor/src/prompt/highlights.tsruns45,059 bytes
  • packages/processor/src/prompt/index.tsruns327 bytes
  • packages/processor/src/prompt/slug-notes.tsruns20,757 bytes
  • packages/processor/src/reconcile.tsruns10,739 bytes
  • packages/processor/src/setup-agent.tsruns869 bytes
  • packages/processor/src/triage.tsruns8,568 bytes
  • packages/processor/tsconfig.jsonasset137 bytes
  • packages/processor/vitest.config.tsruns164 bytes
  • packages/scanner/package.jsonruns319 bytes
  • packages/scanner/src/__tests__/declarative-matcher.test.tsruns5,315 bytes
  • packages/scanner/src/__tests__/detect-tech.test.tsruns6,962 bytes
  • packages/scanner/src/__tests__/framework-matchers.test.tsruns6,867 bytes
  • packages/scanner/src/__tests__/matcher-examples.test.tsruns5,787 bytes
  • packages/scanner/src/__tests__/matchers.test.tsruns4,956 bytes
  • packages/scanner/src/__tests__/scan-files.test.tsruns4,085 bytes
  • packages/scanner/src/__tests__/windows-paths.test.tsruns2,452 bytes
  • packages/scanner/src/declarative-matcher.tsruns9,898 bytes
  • packages/scanner/src/detect-tech.tsruns17,214 bytes
  • packages/scanner/src/index.tsruns25,492 bytes
  • packages/scanner/src/matcher-registry.tsruns649 bytes
  • packages/scanner/src/matchers/agent-loop-no-cap.tsruns3,244 bytes
  • packages/scanner/src/matchers/agent-tool-definition.tsruns3,171 bytes
  • packages/scanner/src/matchers/agentic-untrusted-prompt-input.tsruns4,214 bytes
  • packages/scanner/src/matchers/algorithm-confusion.tsruns1,842 bytes
  • packages/scanner/src/matchers/android-manifest-export.tsruns1,879 bytes
  • packages/scanner/src/matchers/apex-rest-resource.tsruns1,841 bytes
  • packages/scanner/src/matchers/auth-bypass.tsruns1,556 bytes
  • packages/scanner/src/matchers/azure-function-handler.tsruns1,865 bytes
  • packages/scanner/src/matchers/cache-key-poisoning.tsruns2,460 bytes
  • packages/scanner/src/matchers/cache-key-scope.tsruns3,133 bytes
  • packages/scanner/src/matchers/clj-ring-handler.tsruns1,659 bytes
  • packages/scanner/src/matchers/connectrpc-handler-impl.tsruns3,210 bytes
  • packages/scanner/src/matchers/cors-wildcard.tsruns1,791 bytes
  • packages/scanner/src/matchers/cr-kemal-route.tsruns1,594 bytes
  • packages/scanner/src/matchers/cron-secret-check.tsruns3,148 bytes
  • packages/scanner/src/matchers/cross-tenant-id.tsruns2,718 bytes
  • packages/scanner/src/matchers/crypto-usage.tsruns7,374 bytes
  • packages/scanner/src/matchers/dangerous-html.tsruns2,482 bytes
  • packages/scanner/src/matchers/dart-shelf-handler.tsruns1,751 bytes
  • packages/scanner/src/matchers/debug-endpoint.tsruns2,771 bytes
  • packages/scanner/src/matchers/dev-auth-bypass.tsruns3,402 bytes
  • packages/scanner/src/matchers/dockerfile-curl-pipe-unverified.tsruns2,569 bytes
  • packages/scanner/src/matchers/dockerfile-from-mutable-tag.tsruns1,968 bytes
  • packages/scanner/src/matchers/dockerfile-run-as-root.tsruns2,663 bytes
  • packages/scanner/src/matchers/dotnet-aspnet-controller.tsruns1,659 bytes
  • packages/scanner/src/matchers/dotnet-azure-function.tsruns1,634 bytes
  • packages/scanner/src/matchers/dotnet-minimal-api.tsruns1,539 bytes
  • packages/scanner/src/matchers/dotnet-razor-pages.tsruns1,564 bytes
  • packages/scanner/src/matchers/dotnet-sql-raw.tsruns3,487 bytes
  • packages/scanner/src/matchers/drizzle-mass-assignment.tsruns3,445 bytes
  • packages/scanner/src/matchers/drizzle-raw-sql.tsruns3,371 bytes
  • packages/scanner/src/matchers/env-exposure.tsruns2,957 bytes
  • packages/scanner/src/matchers/env-var-as-bool.tsruns1,753 bytes
  • packages/scanner/src/matchers/erl-cowboy-handler.tsruns1,314 bytes
  • packages/scanner/src/matchers/error-message-leak.tsruns2,712 bytes
  • packages/scanner/src/matchers/event-handler-mismatch.tsruns3,408 bytes
  • packages/scanner/src/matchers/ex-phoenix-controller.tsruns1,775 bytes
  • packages/scanner/src/matchers/expensive-api-abuse.tsruns6,706 bytes
  • packages/scanner/src/matchers/fs-write-symlink-boundary.tsruns4,296 bytes
  • packages/scanner/src/matchers/gcp-cloud-function.tsruns1,844 bytes
  • packages/scanner/src/matchers/git-provider-url-injection.tsruns1,525 bytes
  • packages/scanner/src/matchers/github-workflow-security.tsruns4,480 bytes
  • packages/scanner/src/matchers/go-buffalo-route.tsruns1,350 bytes
  • packages/scanner/src/matchers/go-chi-route.tsruns1,610 bytes
  • packages/scanner/src/matchers/go-cobra-command.tsruns1,576 bytes
  • packages/scanner/src/matchers/go-command-injection.tsruns965 bytes
  • packages/scanner/src/matchers/go-echo-route.tsruns1,464 bytes
  • packages/scanner/src/matchers/go-embed-asset.tsruns2,092 bytes
  • packages/scanner/src/matchers/go-fiber-route.tsruns1,478 bytes
  • packages/scanner/src/matchers/go-gin-route.tsruns1,586 bytes
  • packages/scanner/src/matchers/go-gorilla-route.tsruns1,430 bytes
  • packages/scanner/src/matchers/go-http-handler.tsruns1,594 bytes
  • packages/scanner/src/matchers/go-sql-raw.tsruns3,375 bytes
  • packages/scanner/src/matchers/go-ssrf.tsruns1,475 bytes
  • packages/scanner/src/matchers/iam-permissions.tsruns2,015 bytes
  • packages/scanner/src/matchers/index.tsruns23,985 bytes
  • packages/scanner/src/matchers/insecure-crypto.tsruns2,234 bytes
  • packages/scanner/src/matchers/ios-url-scheme.tsruns1,952 bytes
  • packages/scanner/src/matchers/js-astro-endpoint.tsruns1,582 bytes
  • packages/scanner/src/matchers/js-bullmq-processor.tsruns1,425 bytes
  • packages/scanner/src/matchers/js-bun-serve.tsruns1,279 bytes
  • packages/scanner/src/matchers/js-deno-route.tsruns1,499 bytes
  • packages/scanner/src/matchers/js-express-route.tsruns1,926 bytes
  • packages/scanner/src/matchers/js-fastify-route.tsruns1,580 bytes
  • packages/scanner/src/matchers/js-graphql-resolver.tsruns1,656 bytes
  • packages/scanner/src/matchers/js-hapi-route.tsruns1,286 bytes
  • packages/scanner/src/matchers/js-hono-route.tsruns1,352 bytes
  • packages/scanner/src/matchers/js-koa-route.tsruns1,558 bytes
  • packages/scanner/src/matchers/js-nestjs-controller.tsruns1,460 bytes
  • packages/scanner/src/matchers/js-nextjs-catch-all-route-auth.tsruns2,625 bytes
  • packages/scanner/src/matchers/js-nextjs-catchall-router.tsruns3,440 bytes
  • packages/scanner/src/matchers/js-nextjs-edge-sandbox.tsruns3,544 bytes
  • packages/scanner/src/matchers/js-nextjs-fw-server-action.tsruns3,536 bytes
  • packages/scanner/src/matchers/js-nextjs-image-optimizer.tsruns3,603 bytes
  • packages/scanner/src/matchers/js-nextjs-internal-header.tsruns3,266 bytes
  • packages/scanner/src/matchers/js-nextjs-middleware-only-auth.tsruns2,846 bytes
  • packages/scanner/src/matchers/js-nextjs-middleware.tsruns3,234 bytes
  • packages/scanner/src/matchers/js-nextjs-page-data-fetch.tsruns2,218 bytes
  • packages/scanner/src/matchers/js-nextjs-page-without-auth-fetch.tsruns2,452 bytes
  • packages/scanner/src/matchers/js-nextjs-route-handlers.tsruns2,758 bytes
  • packages/scanner/src/matchers/js-nextjs-server-action-no-auth.tsruns2,760 bytes
  • packages/scanner/src/matchers/js-nextjs-server-action.tsruns2,584 bytes
  • packages/scanner/src/matchers/js-nextjs-server-actions.tsruns2,934 bytes
  • packages/scanner/src/matchers/js-nextjs-untrusted-fetch.tsruns3,245 bytes
  • packages/scanner/src/matchers/js-nextjs-use-server-export.tsruns2,419 bytes
  • packages/scanner/src/matchers/js-nosql-injection.tsruns3,538 bytes
  • packages/scanner/src/matchers/js-nuxt-route.tsruns1,380 bytes
  • packages/scanner/src/matchers/js-react-unsafe-json-in-html.tsruns3,067 bytes
  • packages/scanner/src/matchers/js-remix-route.tsruns1,570 bytes
  • packages/scanner/src/matchers/js-socketio-handler.tsruns1,532 bytes
  • packages/scanner/src/matchers/js-solidstart-action.tsruns1,326 bytes
  • packages/scanner/src/matchers/js-sql-raw.tsruns6,704 bytes
  • packages/scanner/src/matchers/js-sveltekit-route.tsruns1,743 bytes
  • packages/scanner/src/matchers/js-workers-fetch.tsruns1,723 bytes
  • packages/scanner/src/matchers/jvm-jaxrs-resource.tsruns1,554 bytes
  • packages/scanner/src/matchers/jvm-ktor-route.tsruns1,356 bytes
  • packages/scanner/src/matchers/jvm-micronaut-controller.tsruns1,413 bytes
  • packages/scanner/src/matchers/jvm-spring-controller.tsruns1,443 bytes
  • packages/scanner/src/matchers/jvm-sql-raw.tsruns5,298 bytes
  • packages/scanner/src/matchers/jwt-handling.tsruns2,508 bytes
  • packages/scanner/src/matchers/k8s-secret-reference.tsruns3,913 bytes
  • packages/scanner/src/matchers/k8s-secrets-init-container.tsruns3,172 bytes
  • packages/scanner/src/matchers/lambda-aws-handler.tsruns2,025 bytes
  • packages/scanner/src/matchers/lua-crypto-weakness.tsruns1,423 bytes
  • packages/scanner/src/matchers/lua-ngx-exec.tsruns1,166 bytes
  • packages/scanner/src/matchers/lua-regex-bypass.tsruns1,902 bytes
  • packages/scanner/src/matchers/lua-shared-dict-poisoning.tsruns1,218 bytes
  • packages/scanner/src/matchers/lua-string-concat-url.tsruns1,291 bytes
  • packages/scanner/src/matchers/mcp-tool-handler.tsruns4,250 bytes
  • packages/scanner/src/matchers/missing-auth.tsruns3,253 bytes
  • packages/scanner/src/matchers/missing-await.tsruns2,611 bytes
  • packages/scanner/src/matchers/non-atomic-operation.tsruns2,524 bytes
  • packages/scanner/src/matchers/non-atomic-read-delete.tsruns3,495 bytes
  • packages/scanner/src/matchers/oauth-flow.tsruns2,183 bytes
  • packages/scanner/src/matchers/object-injection.tsruns1,635 bytes
  • packages/scanner/src/matchers/open-redirect.tsruns1,590 bytes
  • packages/scanner/src/matchers/path-traversal.tsruns2,037 bytes
  • packages/scanner/src/matchers/php-cakephp-controller.tsruns1,611 bytes
  • packages/scanner/src/matchers/php-codeigniter-controller.tsruns1,742 bytes
  • packages/scanner/src/matchers/php-drupal-controller.tsruns1,697 bytes
  • packages/scanner/src/matchers/php-laravel-route.tsruns2,771 bytes
  • packages/scanner/src/matchers/php-magento-controller.tsruns1,810 bytes
  • packages/scanner/src/matchers/php-slim-route.tsruns1,625 bytes
  • packages/scanner/src/matchers/php-sql-raw.tsruns3,928 bytes
  • packages/scanner/src/matchers/php-symfony-controller.tsruns1,728 bytes
  • packages/scanner/src/matchers/php-wordpress-rest.tsruns1,980 bytes
  • packages/scanner/src/matchers/php-yii-controller.tsruns1,829 bytes
  • packages/scanner/src/matchers/postmessage-origin.tsruns1,951 bytes
  • packages/scanner/src/matchers/prisma-raw-sql.tsruns3,098 bytes
  • packages/scanner/src/matchers/process-env-access.tsruns1,652 bytes
  • packages/scanner/src/matchers/prompt-leaks-system-prompt.tsruns4,215 bytes
  • packages/scanner/src/matchers/proto-rpc-surface.tsruns3,615 bytes
  • packages/scanner/src/matchers/public-endpoint.tsruns1,278 bytes
  • packages/scanner/src/matchers/py-aiohttp-route.tsruns1,457 bytes
  • packages/scanner/src/matchers/py-airflow-dag.tsruns1,697 bytes
  • packages/scanner/src/matchers/py-bottle-route.tsruns1,131 bytes
  • packages/scanner/src/matchers/py-celery-task.tsruns1,260 bytes
  • packages/scanner/src/matchers/py-django-view.tsruns1,876 bytes
  • packages/scanner/src/matchers/py-falcon-resource.tsruns1,424 bytes
  • packages/scanner/src/matchers/py-fastapi-route.tsruns1,425 bytes
  • packages/scanner/src/matchers/py-flask-route.tsruns1,351 bytes
  • packages/scanner/src/matchers/py-nosql-injection.tsruns2,706 bytes
  • packages/scanner/src/matchers/py-sanic-route.tsruns1,378 bytes
  • packages/scanner/src/matchers/py-sql-raw.tsruns4,427 bytes
  • packages/scanner/src/matchers/py-starlette-route.tsruns1,365 bytes
  • packages/scanner/src/matchers/py-tornado-handler.tsruns1,369 bytes
  • packages/scanner/src/matchers/rate-limit-bypass.tsruns2,974 bytes
  • packages/scanner/src/matchers/rb-grape-endpoint.tsruns1,184 bytes
  • packages/scanner/src/matchers/rb-hanami-action.tsruns1,185 bytes
  • packages/scanner/src/matchers/rb-rails-controller.tsruns1,810 bytes
  • packages/scanner/src/matchers/rb-roda-route.tsruns1,164 bytes
  • packages/scanner/src/matchers/rb-sinatra-route.tsruns1,183 bytes
  • packages/scanner/src/matchers/rb-sql-raw.tsruns3,038 bytes
  • packages/scanner/src/matchers/rce.tsruns1,517 bytes
  • packages/scanner/src/matchers/response-header-leak.tsruns1,687 bytes
  • packages/scanner/src/matchers/rs-actix-route.tsruns1,416 bytes
  • packages/scanner/src/matchers/rs-axum-route.tsruns1,711 bytes
  • packages/scanner/src/matchers/rs-lambda-runtime.tsruns1,282 bytes
  • packages/scanner/src/matchers/rs-poem-route.tsruns1,244 bytes
  • packages/scanner/src/matchers/rs-rocket-route.tsruns1,270 bytes
  • packages/scanner/src/matchers/rs-sql-raw.tsruns3,180 bytes
  • packages/scanner/src/matchers/rs-tide-route.tsruns1,164 bytes
  • packages/scanner/src/matchers/rs-tonic-grpc.tsruns1,425 bytes
  • packages/scanner/src/matchers/rs-warp-filter.tsruns1,221 bytes
  • packages/scanner/src/matchers/sandbox-runtime-script.tsruns4,625 bytes
  • packages/scanner/src/matchers/secret-env-var.tsruns2,130 bytes
  • packages/scanner/src/matchers/secret-in-fallback.tsruns1,769 bytes
  • packages/scanner/src/matchers/secret-in-log.tsruns2,491 bytes
  • packages/scanner/src/matchers/secrets-exposure.tsruns4,311 bytes
  • packages/scanner/src/matchers/secrets-plaintext-exposure.tsruns3,775 bytes
  • packages/scanner/src/matchers/security-behind-flag.tsruns2,650 bytes
  • packages/scanner/src/matchers/sensitive-data-in-traces.tsruns3,352 bytes
  • packages/scanner/src/matchers/service-entry-point.tsruns2,985 bytes
  • packages/scanner/src/matchers/session-cookie-config.tsruns3,969 bytes
  • packages/scanner/src/matchers/slack-signing-verification.tsruns4,614 bytes
  • packages/scanner/src/matchers/snowflake-bigquery-sql.tsruns3,956 bytes
  • packages/scanner/src/matchers/soql-injection.tsruns3,541 bytes
  • packages/scanner/src/matchers/spread-operator-injection.tsruns1,509 bytes
  • packages/scanner/src/matchers/sql-injection.tsruns2,922 bytes
  • packages/scanner/src/matchers/ssrf.tsruns4,235 bytes
  • packages/scanner/src/matchers/streaming-endpoint.tsruns3,188 bytes
  • packages/scanner/src/matchers/swift-vapor-route.tsruns1,809 bytes
  • packages/scanner/src/matchers/test-header-bypass.tsruns2,850 bytes
  • packages/scanner/src/matchers/tf-encryption-missing.tsruns4,173 bytes
  • packages/scanner/src/matchers/tf-iac-surface.tsruns4,917 bytes
  • packages/scanner/src/matchers/tf-iam-wildcard.tsruns2,961 bytes
  • packages/scanner/src/matchers/tf-module-unpinned.tsruns4,137 bytes
  • packages/scanner/src/matchers/tf-public-ingress.tsruns4,616 bytes
  • packages/scanner/src/matchers/tf-secret-in-data.tsruns3,261 bytes
  • packages/scanner/src/matchers/trpc-public-procedure.tsruns3,203 bytes
  • packages/scanner/src/matchers/unix-socket-listener.tsruns3,117 bytes
  • packages/scanner/src/matchers/unsafe-deserialization.tsruns1,684 bytes
  • packages/scanner/src/matchers/unsafe-redirect.tsruns2,825 bytes
  • packages/scanner/src/matchers/untrusted-redirect-following.tsruns3,991 bytes
  • packages/scanner/src/matchers/unverified-lookup.tsruns2,922 bytes
  • packages/scanner/src/matchers/url-regex-validation.tsruns2,478 bytes
  • packages/scanner/src/matchers/utils.tsruns1,042 bytes
  • packages/scanner/src/matchers/webhook-handler.tsruns2,371 bytes
  • packages/scanner/src/matchers/xss.tsruns1,507 bytes
  • packages/scanner/src/matchers/zod-passthrough-mass-assignment.tsruns2,906 bytes
  • packages/scanner/src/types.tsruns1,094 bytes
  • packages/scanner/tsconfig.jsonasset137 bytes
  • packages/scanner/vitest.config.tsruns162 bytes
  • packages/website/.gitignoreasset523 bytes
  • packages/website/README.mddoc1,450 bytes
  • packages/website/app/api/search/route.tsruns255 bytes
  • packages/website/app/docs/[...slug]/page.tsxruns2,231 bytes
  • packages/website/app/docs/layout.tsxruns587 bytes
  • packages/website/app/docs/page.tsxruns122 bytes
  • packages/website/app/favicon.icoasset25,931 bytes
  • packages/website/app/globals.cssasset605 bytes
  • packages/website/app/layout.tsxruns1,272 bytes
  • packages/website/app/page.tsxruns1,807 bytes
  • packages/website/app/rss.xml/route.tsruns1,129 bytes
  • packages/website/components/geistdocs/mdx-components.tsxruns224 bytes
  • packages/website/components/geistdocs/provider.tsxruns400 bytes
  • packages/website/components/run-command.tsxruns1,838 bytes
  • packages/website/eslint.config.mjsruns483 bytes
  • packages/website/lib/geistdocs/config.tsxruns1,881 bytes
  • packages/website/lib/geistdocs/fonts.tsruns338 bytes
  • packages/website/lib/geistdocs/source.tsruns249 bytes
  • packages/website/next.config.tsruns934 bytes
  • packages/website/package.jsonruns791 bytes
  • packages/website/pnpm-lock.yamlasset407,082 bytes
  • packages/website/pnpm-workspace.yamlasset475 bytes
  • packages/website/postcss.config.mjsruns94 bytes
  • packages/website/public/file.svgasset391 bytes
  • packages/website/public/globe.svgasset1,035 bytes
  • packages/website/public/next.svgasset1,375 bytes
  • packages/website/public/vercel.svgasset128 bytes
  • packages/website/public/window.svgasset385 bytes
  • packages/website/source.config.tsruns570 bytes
  • packages/website/tsconfig.jsonasset666 bytes
  • pnpm-lock.yamlasset505,930 bytes
  • pnpm-workspace.yamlasset27 bytes
  • prompt-samples/01-empty-project.mddoc9,083 bytes
  • prompt-samples/02-nextjs-tsx-batch.mddoc10,785 bytes
  • prompt-samples/03-django-py-batch.mddoc10,274 bytes
  • prompt-samples/04-polyglot-python-batch-filters-other-techs.mddoc10,236 bytes
  • prompt-samples/05-polyglot-typescript-batch-filters-other-techs.mddoc11,418 bytes
  • prompt-samples/06-polyglot-mixed-batch.mddoc12,065 bytes
  • prompt-samples/07-overflow-fallback.mddoc10,866 bytes
  • prompt-samples/08-with-info-and-append.mddoc10,782 bytes
  • prompt-samples/09-laravel-php-batch.mddoc10,250 bytes
  • prompt-samples/10-rails-rb-batch.mddoc10,494 bytes
  • prompt-samples/11-go-multi-framework-batch.mddoc10,491 bytes
  • samples/README.mddoc658 bytes
  • samples/webapp/INFO.mddoc3,288 bytes
  • samples/webapp/README.mddoc2,030 bytes
  • samples/webapp/config.jsonasset629 bytes
  • samples/webapp/deepsec.config.tsruns987 bytes
  • samples/webapp/matchers/webapp-debug-flag.tsruns1,542 bytes
  • samples/webapp/matchers/webapp-route-no-rate-limit.tsruns1,864 bytes
  • samples/webapp/package.jsonruns212 bytes
  • tsconfig.base.jsonasset436 bytes
  • vitest.workspace.tsruns111 bytes
Read SKILL.md

# /deepsec — scan this repository with deepsec

`deepsec` is an AI-powered vulnerability scanner.

- Modern AI models are great at security code review.
- Most review solutions only run on pull requests.
- That means most legacy code was never reviewed, and your code from 6
  months ago was reviewed by older models.
- Instead deepsec does security review on ALL of your existing code using
  scaled VM fanout.
- Vercel's deepsec is open source, runs in your own infrastructure, and
  supports strong agent sandboxing.

A fast regex scan flags candidate files, then AI agents investigate each 
View the complete source on GitHub

Skills included

  • deepsec
  • deepsec-docs

Repository facts

License
Apache-2.0
Created
Apr 30, 2026
Last pushed
Nov 4, 2026
Forks
515
Open issues
28
Project activity
Active

Rank over the last 12 weeks

Now #174 · best #147 · down 12 in 30 days

  1. #171 on Oct 30
  2. #172 from Oct 31 to Nov 2
  3. #173 on Nov 3
  4. #172 on Nov 4
  5. #173 on Nov 5
  6. #174 since Nov 6
58 earlier periods
  1. #157 on Aug 2
  2. #158 on Aug 7
  3. #159 on Aug 8
  4. #158 on Aug 9
  5. #161 on Aug 10
  6. #162 on Aug 11
  7. #161 on Aug 12
  8. #153 on Aug 13
  9. #149 on Aug 14
  10. #148 from Aug 15 to Aug 16
  11. #149 on Aug 17
  12. #150 from Aug 18 to Aug 19
  13. #149 on Aug 20
  14. #148 on Aug 21
  15. #147 on Aug 22
  16. #149 on Aug 23
  17. #150 from Aug 24 to Aug 29
  18. #149 from Aug 30 to Aug 31
  19. #152 on Sep 1
  20. #150 on Sep 2
  21. #152 on Sep 3
  22. #150 on Sep 4
  23. #152 on Sep 5
  24. #151 on Sep 6
  25. #153 from Sep 7 to Sep 9
  26. #156 on Sep 10
  27. #154 on Sep 11
  28. #156 from Sep 12 to Sep 13
  29. #157 from Sep 14 to Sep 15
  30. #156 on Sep 16
  31. #158 on Sep 17
  32. #159 on Sep 18
  33. #157 on Sep 19
  34. #159 from Sep 20 to Sep 21
  35. #158 on Sep 22
  36. #159 on Sep 23
  37. #158 from Sep 24 to Sep 25
  38. #159 from Sep 26 to Sep 27
  39. #161 from Sep 28 to Sep 29
  40. #159 on Sep 30
  41. #161 from Oct 1 to Oct 2
  42. #159 from Oct 3 to Oct 4
  43. #160 from Oct 5 to Oct 6
  44. #162 on Oct 7
  45. #161 on Oct 8
  46. #162 on Oct 9
  47. #161 on Oct 10
  48. #162 from Oct 11 to Oct 12
  49. #163 from Oct 13 to Oct 14
  50. #162 on Oct 15
  51. #160 on Oct 16
  52. #164 on Oct 17
  53. #166 on Oct 18
  54. #165 on Oct 19
  55. #166 from Oct 20 to Oct 23
  56. #167 on Oct 24
  57. #169 on Oct 25
  58. #170 from Oct 28 to Oct 29

Before you install

Network or broad shell

Automated signals, not a guarantee

Checked Nov 2, 2026

Not fully analyzed: some files were too long, unreadable or missing. This never lowers the level.

Show 7 notes
  • SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • pnpm-lock.yaml:10648 Analysis incomplete: regex work limit reached
  • packages/deepsec/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • packages/deepsec/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • packages/deepsec/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • packages/deepsec/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • packages/deepsec/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
Show all 1,965 signals by file

.deepsec/README.md

  • Network accessline 3
    This directory holds the [deepsec](https://www.npmjs.com/package/deepsec)
  • Network accessline 137
    Or browse on [GitHub](https://github.com/vercel/deepsec/tree/main/docs).
  • Network accessline 138
    [GitHub](https://github.com/vercel/deepsec/tree/main/docs).

.deepsec/data/deepsec/INFO.md

  • Access to secretsline 64
    [Credential-related source omitted]
  • Access to secretsline 65
    [Credential-related source omitted]
  • Access to secretsline 78
    [Credential-related source omitted]

.deepsec/data/deepsec/files/.env.local.json

  • Access to secretsline 11
    [Credential-related source omitted]

.deepsec/data/deepsec/files/.github/workflows/deepsec.yml.json

  • Access to secretsline 29
    [Credential-related source omitted]
  • Access to secretsline 40
    [Credential-related source omitted]
  • Access to secretsline 50
    [Credential-related source omitted]

.deepsec/data/deepsec/files/.github/workflows/e2e-live-sandbox.yml.json

  • Access to secretsline 12
    [Credential-related source omitted]

.deepsec/data/deepsec/files/packages/core/src/run.ts.json

  • Network accessline 25
    43       ],       "snippet": "    // Convert SSH to HTTPS\n    const https = remote.replace(/^git@github\\.com:/, \"https://github.com/\").replace(/\\.git$/, \"\");\n    if (https.includes(\"github.com\")) {\n      return `${https}/blob/${b
  • Network accessline 26
    ],       "snippet": "    // Convert SSH to HTTPS\n    const https = remote.replace(/^git@github\\.com:/, \"https://github.com/\").replace(/\\.git$/, \"\");\n    if (https.includes(\"github.com\")) {\n      return `${https}/blob/${branch}`;\
  • Network accessline 27
    "snippet": "    // Convert SSH to HTTPS\n    const https = remote.replace(/^git@github\\.com:/, \"https://github.com/\").replace(/\\.git$/, \"\");\n    if (https.includes(\"github.com\")) {\n      return `${https}/blob/${branch}`;\n    }",

.deepsec/data/deepsec/files/packages/deepsec/src/commands/export.ts.json

  • Network accessline 28
    158       ],       "snippet": "        ...owners.oncall.slice(0, 3).map((o) => {\n          const gh = o.github_username\n            ? ` • [@${o.github_username}](https://github.com/${o.github_username})`\n            : \"\";\n          re
  • Network accessline 29
    ],       "snippet": "        ...owners.oncall.slice(0, 3).map((o) => {\n          const gh = o.github_username\n            ? ` • [@${o.github_username}](https://github.com/${o.github_username})`\n            : \"\";\n          return `- ${
  • Network accessline 30
    "snippet": "        ...owners.oncall.slice(0, 3).map((o) => {\n          const gh = o.github_username\n            ? ` • [@${o.github_username}](https://github.com/${o.github_username})`\n            : \"\";\n          return `- ${o.name} <
  • Network accessline 65
    159       ],       "snippet": "        ...owners.oncall.slice(0, 3).map((o) => {\n          const gh = o.github_username\n            ? ` • [@${o.github_username}](https://github.com/${o.github_username})`\n            : \"\";\n          re
  • Network accessline 66
    ],       "snippet": "        ...owners.oncall.slice(0, 3).map((o) => {\n          const gh = o.github_username\n            ? ` • [@${o.github_username}](https://github.com/${o.github_username})`\n            : \"\";\n          return `- ${
  • Network accessline 67
    "snippet": "        ...owners.oncall.slice(0, 3).map((o) => {\n          const gh = o.github_username\n            ? ` • [@${o.github_username}](https://github.com/${o.github_username})`\n            : \"\";\n          return `- ${o.name} <

.deepsec/data/deepsec/files/packages/deepsec/src/data-commit.ts.json

  • Network accessline 40
    "vulnSlug": "rce",       "title": "Shell command injection via JSON.stringify in git commit message",       "description": "Line 31 builds a shell command string with `git commit -m ${JSON.stringify(message)}` and passes it to execSync, whi
  • Network accessline 41
    "title": "Shell command injection via JSON.stringify in git commit message",       "description": "Line 31 builds a shell command string with `git commit -m ${JSON.stringify(message)}` and passes it to execSync, which spawns a shell. JSON.s
  • Dangerous shell operationline 42
    "description": "Line 31 builds a shell command string with `git commit -m ${JSON.stringify(message)}` and passes it to execSync, which spawns a shell. JSON.stringify only escapes `\"`, `\\`, and control characters \u2014 it does NOT escape 
  • Network accessline 42
    "description": "Line 31 builds a shell command string with `git commit -m ${JSON.stringify(message)}` and passes it to execSync, which spawns a shell. JSON.stringify only escapes `\"`, `\\`, and control characters \u2014 it does NOT escape 
  • Network accessline 58
    "vulnSlug": "rce",       "title": "Shell command injection via DEEPSEC_DATA_BRANCH environment variable",       "description": "Lines 41 and 47 interpolate the `DATA_BRANCH` constant \u2014 read from `process.env.DEEPSEC_DATA_BRANCH` at mod
  • Network accessline 59
    "title": "Shell command injection via DEEPSEC_DATA_BRANCH environment variable",       "description": "Lines 41 and 47 interpolate the `DATA_BRANCH` constant \u2014 read from `process.env.DEEPSEC_DATA_BRANCH` at module load (line 5) \u2014 
  • Dangerous shell operationline 60
    "description": "Lines 41 and 47 interpolate the `DATA_BRANCH` constant \u2014 read from `process.env.DEEPSEC_DATA_BRANCH` at module load (line 5) \u2014 directly into shell command strings: `git pull --rebase origin ${DATA_BRANCH}` and `git
  • Network accessline 60
    "description": "Lines 41 and 47 interpolate the `DATA_BRANCH` constant \u2014 read from `process.env.DEEPSEC_DATA_BRANCH` at module load (line 5) \u2014 directly into shell command strings: `git pull --rebase origin ${DATA_BRANCH}` and `git
  • Network accessline 68
    "revalidation": {         "verdict": "fixed",         "reasoning": "The current code reads DEEPSEC_DATA_BRANCH into RAW_BRANCH and validates it against /^[A-Za-z0-9._/-]+$/ before assigning DATA_BRANCH. The git pull and push operations are 
  • Network accessline 69
    "verdict": "fixed",         "reasoning": "The current code reads DEEPSEC_DATA_BRANCH into RAW_BRANCH and validates it against /^[A-Za-z0-9._/-]+$/ before assigning DATA_BRANCH. The git pull and push operations are performed with execFileSyn
  • Network accessline 70
    "reasoning": "The current code reads DEEPSEC_DATA_BRANCH into RAW_BRANCH and validates it against /^[A-Za-z0-9._/-]+$/ before assigning DATA_BRANCH. The git pull and push operations are performed with execFileSync argv arrays: [\"pull\", \"

.deepsec/data/deepsec/files/packages/deepsec/src/preflight.ts.json

  • Access to secretsline 16
    [Credential-related source omitted]
  • Access to secretsline 24
    [Credential-related source omitted]
  • Access to secretsline 25
    [Credential-related source omitted]
  • Access to secretsline 32
    [Credential-related source omitted]
  • Access to secretsline 33
    [Credential-related source omitted]
  • Access to secretsline 40
    [Credential-related source omitted]
  • Access to secretsline 41
    [Credential-related source omitted]
  • Access to secretsline 48
    [Credential-related source omitted]
  • Access to secretsline 64
    [Credential-related source omitted]
  • Access to secretsline 65
    [Credential-related source omitted]
  • Access to secretsline 72
    [Credential-related source omitted]
  • Access to secretsline 73
    [Credential-related source omitted]
  • Access to secretsline 80
    [Credential-related source omitted]
  • Access to secretsline 81
    [Credential-related source omitted]
  • Access to secretsline 88
    [Credential-related source omitted]
  • Access to secretsline 89
    [Credential-related source omitted]
  • Access to secretsline 96
    [Credential-related source omitted]
  • Access to secretsline 120
    [Credential-related source omitted]
  • Access to secretsline 128
    [Credential-related source omitted]
  • Access to secretsline 129
    [Credential-related source omitted]
  • Access to secretsline 136
    [Credential-related source omitted]
  • Access to secretsline 137
    [Credential-related source omitted]
  • Access to secretsline 144
    [Credential-related source omitted]
  • Access to secretsline 145
    [Credential-related source omitted]
  • Access to secretsline 152
    [Credential-related source omitted]
  • Access to secretsline 153
    [Credential-related source omitted]
  • Access to secretsline 160
    [Credential-related source omitted]
  • Access to secretsline 161
    [Credential-related source omitted]
  • Access to secretsline 168
    [Credential-related source omitted]
  • Access to secretsline 200
    [Credential-related source omitted]
  • Access to secretsline 201
    [Credential-related source omitted]
  • Access to secretsline 208
    [Credential-related source omitted]
  • Access to secretsline 209
    [Credential-related source omitted]
  • Access to secretsline 216
    [Credential-related source omitted]
  • Access to secretsline 217
    [Credential-related source omitted]
  • Access to secretsline 224
    [Credential-related source omitted]
  • Access to secretsline 225
    [Credential-related source omitted]
  • Access to secretsline 232
    [Credential-related source omitted]

.deepsec/data/deepsec/files/packages/deepsec/src/sandbox/download.ts.json

  • Access to secretsline 62
    [Credential-related source omitted]

.deepsec/data/deepsec/files/packages/deepsec/src/sandbox/request-proxy.mjs.json

  • Network accessline 10
    117       ],       "snippet": "//\n// The Claude Agent SDK / Codex CLI talks to us via ANTHROPIC_BASE_URL or\n// OPENAI_BASE_URL set to http://127.0.0.1:PROXY_PORT (or .../v1 for OpenAI).\n//\n// Env:",
  • Network accessline 11
    ],       "snippet": "//\n// The Claude Agent SDK / Codex CLI talks to us via ANTHROPIC_BASE_URL or\n// OPENAI_BASE_URL set to http://127.0.0.1:PROXY_PORT (or .../v1 for OpenAI).\n//\n// Env:",       "matchedPattern": "\\b(?:169\\.254\\.169\
  • Network accessline 12
    "snippet": "//\n// The Claude Agent SDK / Codex CLI talks to us via ANTHROPIC_BASE_URL or\n// OPENAI_BASE_URL set to http://127.0.0.1:PROXY_PORT (or .../v1 for OpenAI).\n//\n// Env:",
  • Network accessline 18
    81       ],       "snippet": "    const url = UPSTREAM + req.url;\n    const up = await fetch(url, {\n      method: req.method,\n      headers,",
  • Network accessline 19
    ],       "snippet": "    const url = UPSTREAM + req.url;\n    const up = await fetch(url, {\n      method: req.method,\n      headers,",       "matchedPattern": "fetch(url) — default redirect: follow + caller-style URL"
  • Network accessline 20
    "snippet": "    const url = UPSTREAM + req.url;\n    const up = await fetch(url, {\n      method: req.method,\n      headers,",
  • Network accessline 21
    "matchedPattern": "fetch(url) — default redirect: follow + caller-style URL"

.deepsec/data/deepsec/files/packages/deepsec/src/sandbox/setup.ts.json

  • Access to secretsline 10
    [Credential-related source omitted]
  • Network accessline 36
    489       ],       "snippet": "  esac\n  local rel=\"14.1.1\"\n  local url=\"https://github.com/BurntSushi/ripgrep/releases/download/\\${rel}/ripgrep-\\${rel}-\\${arch}.tar.gz\"\n  log \"Downloading ripgrep \\${rel} (\\${arch}) from GitHub.
  • Network accessline 37
    ],       "snippet": "  esac\n  local rel=\"14.1.1\"\n  local url=\"https://github.com/BurntSushi/ripgrep/releases/download/\\${rel}/ripgrep-\\${rel}-\\${arch}.tar.gz\"\n  log \"Downloading ripgrep \\${rel} (\\${arch}) from GitHub...\"\n  rm
  • Dangerous shell operationline 38
    "snippet": "  esac\n  local rel=\"14.1.1\"\n  local url=\"https://github.com/BurntSushi/ripgrep/releases/download/\\${rel}/ripgrep-\\${rel}-\\${arch}.tar.gz\"\n  log \"Downloading ripgrep \\${rel} (\\${arch}) from GitHub...\"\n  rm -rf /tmp
  • Network accessline 38
    "snippet": "  esac\n  local rel=\"14.1.1\"\n  local url=\"https://github.com/BurntSushi/ripgrep/releases/download/\\${rel}/ripgrep-\\${rel}-\\${arch}.tar.gz\"\n  log \"Downloading ripgrep \\${rel} (\\${arch}) from GitHub...\"\n  rm -rf /tmp
  • Network accessline 45
    338       ],       "snippet": "\nconst PROXY_PORT = 8787;\nconst PROXY_URL = `http://127.0.0.1:${PROXY_PORT}`;\n// Path differs by upload mode (see DeepsecMode):\n//   dev       — uploaded source workspace, proxy lives at its source locatio
  • Network accessline 46
    ],       "snippet": "\nconst PROXY_PORT = 8787;\nconst PROXY_URL = `http://127.0.0.1:${PROXY_PORT}`;\n// Path differs by upload mode (see DeepsecMode):\n//   dev       — uploaded source workspace, proxy lives at its source location",       
  • Network accessline 47
    "snippet": "\nconst PROXY_PORT = 8787;\nconst PROXY_URL = `http://127.0.0.1:${PROXY_PORT}`;\n// Path differs by upload mode (see DeepsecMode):\n//   dev       — uploaded source workspace, proxy lives at its source location",
  • Network accessline 73
    560       ],       "snippet": "  esac\n  local rel=\"14.1.1\"\n  local url=\"https://github.com/BurntSushi/ripgrep/releases/download/\\${rel}/ripgrep-\\${rel}-\\${arch}.tar.gz\"\n  log \"Downloading ripgrep \\${rel} (\\${arch}) from GitHub.
  • Network accessline 74
    ],       "snippet": "  esac\n  local rel=\"14.1.1\"\n  local url=\"https://github.com/BurntSushi/ripgrep/releases/download/\\${rel}/ripgrep-\\${rel}-\\${arch}.tar.gz\"\n  log \"Downloading ripgrep \\${rel} (\\${arch}) from GitHub...\"\n  rm
  • Dangerous shell operationline 75
    "snippet": "  esac\n  local rel=\"14.1.1\"\n  local url=\"https://github.com/BurntSushi/ripgrep/releases/download/\\${rel}/ripgrep-\\${rel}-\\${arch}.tar.gz\"\n  log \"Downloading ripgrep \\${rel} (\\${arch}) from GitHub...\"\n  rm -rf /tmp
  • Network accessline 75
    "snippet": "  esac\n  local rel=\"14.1.1\"\n  local url=\"https://github.com/BurntSushi/ripgrep/releases/download/\\${rel}/ripgrep-\\${rel}-\\${arch}.tar.gz\"\n  log \"Downloading ripgrep \\${rel} (\\${arch}) from GitHub...\"\n  rm -rf /tmp
  • Access to secretsline 84
    [Credential-related source omitted]
  • Access to secretsline 92
    [Credential-related source omitted]
  • Access to secretsline 93
    [Credential-related source omitted]
  • Access to secretsline 100
    [Credential-related source omitted]
  • Access to secretsline 101
    [Credential-related source omitted]
  • Network accessline 107
    409       ],       "snippet": "\nconst PROXY_PORT = 8787;\nconst PROXY_URL = `http://127.0.0.1:${PROXY_PORT}`;\n// Path differs by upload mode (see DeepsecMode):\n//   dev       — uploaded source workspace, proxy lives at its source locatio
  • Network accessline 108
    ],       "snippet": "\nconst PROXY_PORT = 8787;\nconst PROXY_URL = `http://127.0.0.1:${PROXY_PORT}`;\n// Path differs by upload mode (see DeepsecMode):\n//   dev       — uploaded source workspace, proxy lives at its source location",       
  • Network accessline 109
    "snippet": "\nconst PROXY_PORT = 8787;\nconst PROXY_URL = `http://127.0.0.1:${PROXY_PORT}`;\n// Path differs by upload mode (see DeepsecMode):\n//   dev       — uploaded source workspace, proxy lives at its source location",
  • Network accessline 135
    583       ],       "snippet": "  esac\n  local rel=\"14.1.1\"\n  local url=\"https://github.com/BurntSushi/ripgrep/releases/download/\\${rel}/ripgrep-\\${rel}-\\${arch}.tar.gz\"\n  log \"Downloading ripgrep \\${rel} (\\${arch}) from GitHub.
  • Network accessline 136
    ],       "snippet": "  esac\n  local rel=\"14.1.1\"\n  local url=\"https://github.com/BurntSushi/ripgrep/releases/download/\\${rel}/ripgrep-\\${rel}-\\${arch}.tar.gz\"\n  log \"Downloading ripgrep \\${rel} (\\${arch}) from GitHub...\"\n  rm
  • Dangerous shell operationline 137
    "snippet": "  esac\n  local rel=\"14.1.1\"\n  local url=\"https://github.com/BurntSushi/ripgrep/releases/download/\\${rel}/ripgrep-\\${rel}-\\${arch}.tar.gz\"\n  log \"Downloading ripgrep \\${rel} (\\${arch}) from GitHub...\"\n  rm -rf /tmp
  • Network accessline 137
    "snippet": "  esac\n  local rel=\"14.1.1\"\n  local url=\"https://github.com/BurntSushi/ripgrep/releases/download/\\${rel}/ripgrep-\\${rel}-\\${arch}.tar.gz\"\n  log \"Downloading ripgrep \\${rel} (\\${arch}) from GitHub...\"\n  rm -rf /tmp
  • Access to secretsline 148
    [Credential-related source omitted]
  • Access to secretsline 156
    [Credential-related source omitted]
  • Access to secretsline 172
    [Credential-related source omitted]
  • Access to secretsline 180
    [Credential-related source omitted]
  • Access to secretsline 181
    [Credential-related source omitted]

.deepsec/data/deepsec/files/packages/processor/src/agents/codex-sdk.ts.json

  • Access to secretsline 19
    [Credential-related source omitted]
  • Access to secretsline 147
    [Credential-related source omitted]
  • Access to secretsline 155
    [Credential-related source omitted]
  • Access to secretsline 156
    [Credential-related source omitted]
  • Access to secretsline 187
    [Credential-related source omitted]
  • Access to secretsline 307
    [Credential-related source omitted]
  • Access to secretsline 315
    [Credential-related source omitted]
  • Access to secretsline 316
    [Credential-related source omitted]
  • Access to secretsline 357
    [Credential-related source omitted]
  • Access to secretsline 373
    [Credential-related source omitted]
  • Access to secretsline 493
    [Credential-related source omitted]
  • Access to secretsline 494
    [Credential-related source omitted]
  • Access to secretsline 509
    [Credential-related source omitted]
  • Access to secretsline 517
    [Credential-related source omitted]
  • Access to secretsline 518
    [Credential-related source omitted]
  • Access to secretsline 546
    [Credential-related source omitted]
  • Access to secretsline 565
    [Credential-related source omitted]

.deepsec/data/deepsec/files/packages/processor/src/agents/shared.ts.json

  • Network accessline 120
    "vulnSlug": "rce",       "title": "Command injection via file.filePath in revalidation git log",       "description": "`buildRevalidatePrompt` runs ``execSync(`git log --oneline --since=\"3 months ago\" -n 10 -- \"${file.filePath}\"`, { cwd
  • Network accessline 121
    "title": "Command injection via file.filePath in revalidation git log",       "description": "`buildRevalidatePrompt` runs ``execSync(`git log --oneline --since=\"3 months ago\" -n 10 -- \"${file.filePath}\"`, { cwd: projectRoot, … })`` to 
  • Network accessline 122
    "description": "`buildRevalidatePrompt` runs ``execSync(`git log --oneline --since=\"3 months ago\" -n 10 -- \"${file.filePath}\"`, { cwd: projectRoot, … })`` to gather git history for the prompt. `file.filePath` comes from a `FileRecord`, 

.deepsec/data/deepsec/files/packages/processor/src/enrich.ts.json

  • Network accessline 18
    39       ],       "snippet": "    // HTTPS: https://github.com/owner/repo.git\n    const httpsMatch = url.match(/github\\.com\\/(.+?)(?:\\.git)?$/);\n    if (httpsMatch) return httpsMatch[1];\n",
  • Network accessline 19
    ],       "snippet": "    // HTTPS: https://github.com/owner/repo.git\n    const httpsMatch = url.match(/github\\.com\\/(.+?)(?:\\.git)?$/);\n    if (httpsMatch) return httpsMatch[1];\n",       "matchedPattern": "URL validation regex with gr
  • Network accessline 20
    "snippet": "    // HTTPS: https://github.com/owner/repo.git\n    const httpsMatch = url.match(/github\\.com\\/(.+?)(?:\\.git)?$/);\n    if (httpsMatch) return httpsMatch[1];\n",

.deepsec/data/deepsec/files/packages/processor/src/index.ts.json

  • Access to secretsline 102
    [Credential-related source omitted]

.deepsec/data/deepsec/files/packages/scanner/src/matchers/agent-tool-definition.ts.json

  • Dangerous shell operationline 74
    "snippet": "    `const t = createTool({ name: \"x\", execute: async () => ({}) });`,\n    `const t = defineTool({ name: \"x\" });`,\n    `import { exec } from \"child_process\";\\nexec(userInput);`,\n    `eval(userInput);`,\n    `import fs 
  • Network accessline 80
    26       ],       "snippet": "    `const t = defineTool({ name: \"x\" });`,\n    `import { exec } from \"child_process\";\\nexec(userInput);`,\n    `eval(userInput);`,\n    `import fs from \"fs\";\\nfs.writeFile(path, data, () => {});`,\n  
  • Network accessline 81
    ],       "snippet": "    `const t = defineTool({ name: \"x\" });`,\n    `import { exec } from \"child_process\";\\nexec(userInput);`,\n    `eval(userInput);`,\n    `import fs from \"fs\";\\nfs.writeFile(path, data, () => {});`,\n    `await 
  • Dangerous shell operationline 82
    "snippet": "    `const t = defineTool({ name: \"x\" });`,\n    `import { exec } from \"child_process\";\\nexec(userInput);`,\n    `eval(userInput);`,\n    `import fs from \"fs\";\\nfs.writeFile(path, data, () => {});`,\n    `await fetch(url
  • Network accessline 82
    "snippet": "    `const t = defineTool({ name: \"x\" });`,\n    `import { exec } from \"child_process\";\\nexec(userInput);`,\n    `eval(userInput);`,\n    `import fs from \"fs\";\\nfs.writeFile(path, data, () => {});`,\n    `await fetch(url
  • Dangerous shell operationline 90
    "snippet": "    `const t = createTool({ name: \"x\", execute: async () => ({}) });`,\n    `const t = defineTool({ name: \"x\" });`,\n    `import { exec } from \"child_process\";\\nexec(userInput);`,\n    `eval(userInput);`,\n    `import fs 
  • Dangerous shell operationline 115
    "snippet": "    `const myTool = tool({\\n  description: \"do thing\",\\n  parameters: z.object({}),\\n  execute: async () => ({}),\\n});`,\n    `const t = createTool({ name: \"x\", execute: async () => ({}) });`,\n    `const t = defineTool(
  • Dangerous shell operationline 123
    "snippet": "    `const t = createTool({ name: \"x\", execute: async () => ({}) });`,\n    `const t = defineTool({ name: \"x\" });`,\n    `import { exec } from \"child_process\";\\nexec(userInput);`,\n    `eval(userInput);`,\n    `import fs 
  • Network accessline 137
    25       ],       "snippet": "    `const t = defineTool({ name: \"x\" });`,\n    `import { exec } from \"child_process\";\\nexec(userInput);`,\n    `eval(userInput);`,\n    `import fs from \"fs\";\\nfs.writeFile(path, data, () => {});`,\n  
  • Network accessline 138
    ],       "snippet": "    `const t = defineTool({ name: \"x\" });`,\n    `import { exec } from \"child_process\";\\nexec(userInput);`,\n    `eval(userInput);`,\n    `import fs from \"fs\";\\nfs.writeFile(path, data, () => {});`,\n    `await 
  • Dangerous shell operationline 139
    "snippet": "    `const t = defineTool({ name: \"x\" });`,\n    `import { exec } from \"child_process\";\\nexec(userInput);`,\n    `eval(userInput);`,\n    `import fs from \"fs\";\\nfs.writeFile(path, data, () => {});`,\n    `await fetch(url
  • Network accessline 139
    "snippet": "    `const t = defineTool({ name: \"x\" });`,\n    `import { exec } from \"child_process\";\\nexec(userInput);`,\n    `eval(userInput);`,\n    `import fs from \"fs\";\\nfs.writeFile(path, data, () => {});`,\n    `await fetch(url
  • Network accessline 153
    26       ],       "snippet": "    `import { exec } from \"child_process\";\\nexec(userInput);`,\n    `eval(userInput);`,\n    `import fs from \"fs\";\\nfs.writeFile(path, data, () => {});`,\n    `await fetch(url);`,\n    `import { sandbox }
  • Network accessline 154
    ],       "snippet": "    `import { exec } from \"child_process\";\\nexec(userInput);`,\n    `eval(userInput);`,\n    `import fs from \"fs\";\\nfs.writeFile(path, data, () => {});`,\n    `await fetch(url);`,\n    `import { sandbox } from \"s
  • Dangerous shell operationline 155
    "snippet": "    `import { exec } from \"child_process\";\\nexec(userInput);`,\n    `eval(userInput);`,\n    `import fs from \"fs\";\\nfs.writeFile(path, data, () => {});`,\n    `await fetch(url);`,\n    `import { sandbox } from \"sandbox\";
  • Network accessline 155
    "snippet": "    `import { exec } from \"child_process\";\\nexec(userInput);`,\n    `eval(userInput);`,\n    `import fs from \"fs\";\\nfs.writeFile(path, data, () => {});`,\n    `await fetch(url);`,\n    `import { sandbox } from \"sandbox\";
  • Network accessline 161
    27       ],       "snippet": "    `eval(userInput);`,\n    `import fs from \"fs\";\\nfs.writeFile(path, data, () => {});`,\n    `await fetch(url);`,\n    `import { sandbox } from \"sandbox\";\\nawait sandbox.runCode(code);`,\n    `import { 
  • Network accessline 162
    ],       "snippet": "    `eval(userInput);`,\n    `import fs from \"fs\";\\nfs.writeFile(path, data, () => {});`,\n    `await fetch(url);`,\n    `import { sandbox } from \"sandbox\";\\nawait sandbox.runCode(code);`,\n    `import { DynamicTo
  • Dangerous shell operationline 163
    "snippet": "    `eval(userInput);`,\n    `import fs from \"fs\";\\nfs.writeFile(path, data, () => {});`,\n    `await fetch(url);`,\n    `import { sandbox } from \"sandbox\";\\nawait sandbox.runCode(code);`,\n    `import { DynamicTool } from
  • Network accessline 163
    "snippet": "    `eval(userInput);`,\n    `import fs from \"fs\";\\nfs.writeFile(path, data, () => {});`,\n    `await fetch(url);`,\n    `import { sandbox } from \"sandbox\";\\nawait sandbox.runCode(code);`,\n    `import { DynamicTool } from
  • Network accessline 177
    28       ],       "snippet": "    `import fs from \"fs\";\\nfs.writeFile(path, data, () => {});`,\n    `await fetch(url);`,\n    `import { sandbox } from \"sandbox\";\\nawait sandbox.runCode(code);`,\n    `import { DynamicTool } from \"lang
  • Network accessline 178
    ],       "snippet": "    `import fs from \"fs\";\\nfs.writeFile(path, data, () => {});`,\n    `await fetch(url);`,\n    `import { sandbox } from \"sandbox\";\\nawait sandbox.runCode(code);`,\n    `import { DynamicTool } from \"langchain/too
  • Network accessline 179
    "snippet": "    `import fs from \"fs\";\\nfs.writeFile(path, data, () => {});`,\n    `await fetch(url);`,\n    `import { sandbox } from \"sandbox\";\\nawait sandbox.runCode(code);`,\n    `import { DynamicTool } from \"langchain/tools\";\\nc
  • Network accessline 193
    29       ],       "snippet": "    `await fetch(url);`,\n    `import { sandbox } from \"sandbox\";\\nawait sandbox.runCode(code);`,\n    `import { DynamicTool } from \"langchain/tools\";\\nconst t = new DynamicTool({ name: \"x\" });`,\n  ],\
  • Network accessline 194
    ],       "snippet": "    `await fetch(url);`,\n    `import { sandbox } from \"sandbox\";\\nawait sandbox.runCode(code);`,\n    `import { DynamicTool } from \"langchain/tools\";\\nconst t = new DynamicTool({ name: \"x\" });`,\n  ],\n  match(
  • Network accessline 195
    "snippet": "    `await fetch(url);`,\n    `import { sandbox } from \"sandbox\";\\nawait sandbox.runCode(code);`,\n    `import { DynamicTool } from \"langchain/tools\";\\nconst t = new DynamicTool({ name: \"x\" });`,\n  ],\n  match(content, 
  • Network accessline 233
    28       ],       "snippet": "    `import fs from \"fs\";\\nfs.writeFile(path, data, () => {});`,\n    `await fetch(url);`,\n    `import { sandbox } from \"sandbox\";\\nawait sandbox.runCode(code);`,\n    `import { DynamicTool } from \"lang
  • Network accessline 234
    ],       "snippet": "    `import fs from \"fs\";\\nfs.writeFile(path, data, () => {});`,\n    `await fetch(url);`,\n    `import { sandbox } from \"sandbox\";\\nawait sandbox.runCode(code);`,\n    `import { DynamicTool } from \"langchain/too
  • Network accessline 235
    "snippet": "    `import fs from \"fs\";\\nfs.writeFile(path, data, () => {});`,\n    `await fetch(url);`,\n    `import { sandbox } from \"sandbox\";\\nawait sandbox.runCode(code);`,\n    `import { DynamicTool } from \"langchain/tools\";\\nc
  • Network accessline 236
    "matchedPattern": "fetch(url) — default redirect: follow + caller-style URL"

.deepsec/data/deepsec/files/packages/scanner/src/matchers/cron-secret-check.ts.json

  • Access to secretsline 18
    [Credential-related source omitted]
  • Access to secretsline 26
    [Credential-related source omitted]
  • Access to secretsline 34
    [Credential-related source omitted]
  • Access to secretsline 44
    [Credential-related source omitted]
  • Access to secretsline 52
    [Credential-related source omitted]
  • Access to secretsline 53
    [Credential-related source omitted]
  • Access to secretsline 60
    [Credential-related source omitted]
  • Access to secretsline 61
    [Credential-related source omitted]
  • Access to secretsline 68
    [Credential-related source omitted]
  • Access to secretsline 69
    [Credential-related source omitted]

.deepsec/data/deepsec/files/packages/scanner/src/matchers/dockerfile-curl-pipe-unverified.ts.json

  • Network accessline 8
    13       ],       "snippet": "  noiseTier: \"precise\" as const,\n  slug: \"dockerfile-curl-pipe-unverified\",\n  description: \"RUN curl|wget piped to shell/tar without checksum verification\",\n  filePatterns: [\"**/Dockerfile\", \"**/Doc
  • Network accessline 9
    ],       "snippet": "  noiseTier: \"precise\" as const,\n  slug: \"dockerfile-curl-pipe-unverified\",\n  description: \"RUN curl|wget piped to shell/tar without checksum verification\",\n  filePatterns: [\"**/Dockerfile\", \"**/Dockerfile.*
  • Network accessline 10
    "snippet": "  noiseTier: \"precise\" as const,\n  slug: \"dockerfile-curl-pipe-unverified\",\n  description: \"RUN curl|wget piped to shell/tar without checksum verification\",\n  filePatterns: [\"**/Dockerfile\", \"**/Dockerfile.*\", \"**/

.deepsec/data/deepsec/files/packages/scanner/src/matchers/env-exposure.ts.json

  • Access to secretsline 42
    [Credential-related source omitted]
  • Access to secretsline 50
    [Credential-related source omitted]
  • Access to secretsline 58
    [Credential-related source omitted]
  • Access to secretsline 66
    [Credential-related source omitted]
  • Access to secretsline 74
    [Credential-related source omitted]
  • Access to secretsline 82
    [Credential-related source omitted]
  • Access to secretsline 90
    [Credential-related source omitted]
  • Access to secretsline 98
    [Credential-related source omitted]
  • Access to secretsline 106
    [Credential-related source omitted]
  • Access to secretsline 114
    [Credential-related source omitted]
  • Access to secretsline 122
    [Credential-related source omitted]
  • Access to secretsline 130
    [Credential-related source omitted]
  • Access to secretsline 138
    [Credential-related source omitted]
  • Access to secretsline 167
    [Credential-related source omitted]
  • Access to secretsline 175
    [Credential-related source omitted]
  • Access to secretsline 176
    [Credential-related source omitted]
  • Access to secretsline 183
    [Credential-related source omitted]
  • Access to secretsline 184
    [Credential-related source omitted]
  • Access to secretsline 191
    [Credential-related source omitted]
  • Access to secretsline 199
    [Credential-related source omitted]
  • Access to secretsline 207
    [Credential-related source omitted]
  • Access to secretsline 208
    [Credential-related source omitted]
  • Access to secretsline 215
    [Credential-related source omitted]
  • Access to secretsline 216
    [Credential-related source omitted]
  • Access to secretsline 223
    [Credential-related source omitted]
  • Access to secretsline 224
    [Credential-related source omitted]
  • Access to secretsline 231
    [Credential-related source omitted]
  • Access to secretsline 232
    [Credential-related source omitted]

.deepsec/data/deepsec/files/packages/scanner/src/matchers/env-var-as-bool.ts.json

  • Access to secretsline 60
    [Credential-related source omitted]
  • Access to secretsline 69
    [Credential-related source omitted]
  • Access to secretsline 141
    [Credential-related source omitted]
  • Access to secretsline 149
    [Credential-related source omitted]
  • Access to secretsline 150
    [Credential-related source omitted]
  • Access to secretsline 157
    [Credential-related source omitted]
  • Access to secretsline 158
    [Credential-related source omitted]

.deepsec/data/deepsec/files/packages/scanner/src/matchers/expensive-api-abuse.ts.json

  • Network accessline 96
    71       ],       "snippet": "  return anthropic.completions.create({ model: \"claude\", prompt: \"x\" });\n}`,\n    `export async function POST() {\n  await fetch(\"https://ai-gateway.vercel.sh/v1/chat\", { method: \"POST\" });\n  return n
  • Network accessline 97
    ],       "snippet": "  return anthropic.completions.create({ model: \"claude\", prompt: \"x\" });\n}`,\n    `export async function POST() {\n  await fetch(\"https://ai-gateway.vercel.sh/v1/chat\", { method: \"POST\" });\n  return new Respon
  • Network accessline 98
    "snippet": "  return anthropic.completions.create({ model: \"claude\", prompt: \"x\" });\n}`,\n    `export async function POST() {\n  await fetch(\"https://ai-gateway.vercel.sh/v1/chat\", { method: \"POST\" });\n  return new Response(\"ok\"
  • Network accessline 104
    75       ],       "snippet": "  return new Response(\"ok\");\n}`,\n    `export async function POST() {\n  await fetch(\"https://api.openai.com/v1/chat/completions\", { method: \"POST\" });\n  return new Response(\"ok\");",
  • Network accessline 105
    ],       "snippet": "  return new Response(\"ok\");\n}`,\n    `export async function POST() {\n  await fetch(\"https://api.openai.com/v1/chat/completions\", { method: \"POST\" });\n  return new Response(\"ok\");",       "matchedPattern": "H
  • Network accessline 106
    "snippet": "  return new Response(\"ok\");\n}`,\n    `export async function POST() {\n  await fetch(\"https://api.openai.com/v1/chat/completions\", { method: \"POST\" });\n  return new Response(\"ok\");",
  • Network accessline 112
    79       ],       "snippet": "  return new Response(\"ok\");\n}`,\n    `export async function POST() {\n  await fetch(\"https://api.openai.com/v1/completions\", { method: \"POST\" });\n  return new Response(\"ok\");",
  • Network accessline 113
    ],       "snippet": "  return new Response(\"ok\");\n}`,\n    `export async function POST() {\n  await fetch(\"https://api.openai.com/v1/completions\", { method: \"POST\" });\n  return new Response(\"ok\");",       "matchedPattern": "HTTP e
  • Network accessline 114
    "snippet": "  return new Response(\"ok\");\n}`,\n    `export async function POST() {\n  await fetch(\"https://api.openai.com/v1/completions\", { method: \"POST\" });\n  return new Response(\"ok\");",
  • Network accessline 120
    83       ],       "snippet": "  return new Response(\"ok\");\n}`,\n    `export async function POST() {\n  await fetch(\"https://api.openai.com/v1/embeddings\", { method: \"POST\" });\n  return new Response(\"ok\");",
  • Network accessline 121
    ],       "snippet": "  return new Response(\"ok\");\n}`,\n    `export async function POST() {\n  await fetch(\"https://api.openai.com/v1/embeddings\", { method: \"POST\" });\n  return new Response(\"ok\");",       "matchedPattern": "HTTP en
  • Network accessline 122
    "snippet": "  return new Response(\"ok\");\n}`,\n    `export async function POST() {\n  await fetch(\"https://api.openai.com/v1/embeddings\", { method: \"POST\" });\n  return new Response(\"ok\");",
  • Network accessline 128
    87       ],       "snippet": "  return new Response(\"ok\");\n}`,\n    `export async function POST() {\n  await fetch(\"https://api.openai.com/v1/images/generations\", { method: \"POST\" });\n  return new Response(\"ok\");",
  • Network accessline 129
    ],       "snippet": "  return new Response(\"ok\");\n}`,\n    `export async function POST() {\n  await fetch(\"https://api.openai.com/v1/images/generations\", { method: \"POST\" });\n  return new Response(\"ok\");",       "matchedPattern": 
  • Network accessline 130
    "snippet": "  return new Response(\"ok\");\n}`,\n    `export async function POST() {\n  await fetch(\"https://api.openai.com/v1/images/generations\", { method: \"POST\" });\n  return new Response(\"ok\");",
  • Network accessline 240
    72       ],       "snippet": "}`,\n    `export async function POST() {\n  await fetch(\"https://ai-gateway.vercel.sh/v1/chat\", { method: \"POST\" });\n  return new Response(\"ok\");\n}`,",
  • Network accessline 241
    ],       "snippet": "}`,\n    `export async function POST() {\n  await fetch(\"https://ai-gateway.vercel.sh/v1/chat\", { method: \"POST\" });\n  return new Response(\"ok\");\n}`,",       "matchedPattern": "Expensive API call: Vercel AI Gate
  • Network accessline 242
    "snippet": "}`,\n    `export async function POST() {\n  await fetch(\"https://ai-gateway.vercel.sh/v1/chat\", { method: \"POST\" });\n  return new Response(\"ok\");\n}`,",
  • Network accessline 248
    76       ],       "snippet": "}`,\n    `export async function POST() {\n  await fetch(\"https://api.openai.com/v1/chat/completions\", { method: \"POST\" });\n  return new Response(\"ok\");\n}`,",
  • Network accessline 249
    ],       "snippet": "}`,\n    `export async function POST() {\n  await fetch(\"https://api.openai.com/v1/chat/completions\", { method: \"POST\" });\n  return new Response(\"ok\");\n}`,",       "matchedPattern": "Expensive API call: Chat com
  • Network accessline 250
    "snippet": "}`,\n    `export async function POST() {\n  await fetch(\"https://api.openai.com/v1/chat/completions\", { method: \"POST\" });\n  return new Response(\"ok\");\n}`,",
  • Network accessline 256
    80       ],       "snippet": "}`,\n    `export async function POST() {\n  await fetch(\"https://api.openai.com/v1/completions\", { method: \"POST\" });\n  return new Response(\"ok\");\n}`,",
  • Network accessline 257
    ],       "snippet": "}`,\n    `export async function POST() {\n  await fetch(\"https://api.openai.com/v1/completions\", { method: \"POST\" });\n  return new Response(\"ok\");\n}`,",       "matchedPattern": "Expensive API call: Completions A
  • Network accessline 258
    "snippet": "}`,\n    `export async function POST() {\n  await fetch(\"https://api.openai.com/v1/completions\", { method: \"POST\" });\n  return new Response(\"ok\");\n}`,",
  • Network accessline 264
    84       ],       "snippet": "}`,\n    `export async function POST() {\n  await fetch(\"https://api.openai.com/v1/embeddings\", { method: \"POST\" });\n  return new Response(\"ok\");\n}`,",
  • Network accessline 265
    ],       "snippet": "}`,\n    `export async function POST() {\n  await fetch(\"https://api.openai.com/v1/embeddings\", { method: \"POST\" });\n  return new Response(\"ok\");\n}`,",       "matchedPattern": "Expensive API call: Embeddings API
  • Network accessline 266
    "snippet": "}`,\n    `export async function POST() {\n  await fetch(\"https://api.openai.com/v1/embeddings\", { method: \"POST\" });\n  return new Response(\"ok\");\n}`,",
  • Network accessline 272
    88       ],       "snippet": "}`,\n    `export async function POST() {\n  await fetch(\"https://api.openai.com/v1/images/generations\", { method: \"POST\" });\n  return new Response(\"ok\");\n}`,",
  • Network accessline 273
    ],       "snippet": "}`,\n    `export async function POST() {\n  await fetch(\"https://api.openai.com/v1/images/generations\", { method: \"POST\" });\n  return new Response(\"ok\");\n}`,",       "matchedPattern": "Expensive API call: Image 
  • Network accessline 274
    "snippet": "}`,\n    `export async function POST() {\n  await fetch(\"https://api.openai.com/v1/images/generations\", { method: \"POST\" });\n  return new Response(\"ok\");\n}`,",

.deepsec/data/deepsec/files/packages/scanner/src/matchers/git-provider-url-injection.ts.json

  • Network accessline 25
    12       ],       "snippet": "  filePatterns: [\"**/*.{ts,tsx,js,jsx}\"],\n  examples: [\n    `const url = \\`https://api.github.com/repos/\\${owner}/\\${repo}\\`;`,\n    `await fetch(\\`https://api.github.com/orgs/\\${org}/members\\`);`,\n
  • Network accessline 26
    ],       "snippet": "  filePatterns: [\"**/*.{ts,tsx,js,jsx}\"],\n  examples: [\n    `const url = \\`https://api.github.com/repos/\\${owner}/\\${repo}\\`;`,\n    `await fetch(\\`https://api.github.com/orgs/\\${org}/members\\`);`,\n    `cons
  • Network accessline 27
    "snippet": "  filePatterns: [\"**/*.{ts,tsx,js,jsx}\"],\n  examples: [\n    `const url = \\`https://api.github.com/repos/\\${owner}/\\${repo}\\`;`,\n    `await fetch(\\`https://api.github.com/orgs/\\${org}/members\\`);`,\n    `const link = 
  • Network accessline 35
    13       ],       "snippet": "  filePatterns: [\"**/*.{ts,tsx,js,jsx}\"],\n  examples: [\n    `const url = \\`https://api.github.com/repos/\\${owner}/\\${repo}\\`;`,\n    `await fetch(\\`https://api.github.com/orgs/\\${org}/members\\`);`,\n
  • Network accessline 36
    ],       "snippet": "  filePatterns: [\"**/*.{ts,tsx,js,jsx}\"],\n  examples: [\n    `const url = \\`https://api.github.com/repos/\\${owner}/\\${repo}\\`;`,\n    `await fetch(\\`https://api.github.com/orgs/\\${org}/members\\`);`,\n    `cons
  • Network accessline 37
    "snippet": "  filePatterns: [\"**/*.{ts,tsx,js,jsx}\"],\n  examples: [\n    `const url = \\`https://api.github.com/repos/\\${owner}/\\${repo}\\`;`,\n    `await fetch(\\`https://api.github.com/orgs/\\${org}/members\\`);`,\n    `const link = 
  • Network accessline 43
    14       ],       "snippet": "    `await fetch(\\`https://api.github.com/orgs/\\${org}/members\\`);`,\n    `const link = \\`https://github.com/\\${user}/\\${repo}/commits\\`;`,\n    `const url = \\`https://gitlab.com/api/v4/projects/\\${id}
  • Network accessline 44
    ],       "snippet": "    `await fetch(\\`https://api.github.com/orgs/\\${org}/members\\`);`,\n    `const link = \\`https://github.com/\\${user}/\\${repo}/commits\\`;`,\n    `const url = \\`https://gitlab.com/api/v4/projects/\\${id}\\`;`,\n 
  • Network accessline 45
    "snippet": "    `await fetch(\\`https://api.github.com/orgs/\\${org}/members\\`);`,\n    `const link = \\`https://github.com/\\${user}/\\${repo}/commits\\`;`,\n    `const url = \\`https://gitlab.com/api/v4/projects/\\${id}\\`;`,\n    `const
  • Network accessline 51
    15       ],       "snippet": "    `const link = \\`https://github.com/\\${user}/\\${repo}/commits\\`;`,\n    `const url = \\`https://gitlab.com/api/v4/projects/\\${id}\\`;`,\n    `const url = \\`https://bitbucket.org/api/2.0/repositories/\\
  • Network accessline 52
    ],       "snippet": "    `const link = \\`https://github.com/\\${user}/\\${repo}/commits\\`;`,\n    `const url = \\`https://gitlab.com/api/v4/projects/\\${id}\\`;`,\n    `const url = \\`https://bitbucket.org/api/2.0/repositories/\\${slug}\\
  • Network accessline 53
    "snippet": "    `const link = \\`https://github.com/\\${user}/\\${repo}/commits\\`;`,\n    `const url = \\`https://gitlab.com/api/v4/projects/\\${id}\\`;`,\n    `const url = \\`https://bitbucket.org/api/2.0/repositories/\\${slug}\\`;`,\n   
  • Network accessline 63
    16       ],       "snippet": "  filePatterns: [\"**/*.{ts,tsx,js,jsx}\"],\n  examples: [\n    `const url = \\`https://api.github.com/repos/\\${owner}/\\${repo}\\`;`,\n    `await fetch(\\`https://api.github.com/orgs/\\${org}/members\\`);`,\n
  • Network accessline 64
    ],       "snippet": "  filePatterns: [\"**/*.{ts,tsx,js,jsx}\"],\n  examples: [\n    `const url = \\`https://api.github.com/repos/\\${owner}/\\${repo}\\`;`,\n    `await fetch(\\`https://api.github.com/orgs/\\${org}/members\\`);`,\n    `cons
  • Network accessline 65
    "snippet": "  filePatterns: [\"**/*.{ts,tsx,js,jsx}\"],\n  examples: [\n    `const url = \\`https://api.github.com/repos/\\${owner}/\\${repo}\\`;`,\n    `await fetch(\\`https://api.github.com/orgs/\\${org}/members\\`);`,\n    `const link = 

.deepsec/data/deepsec/files/packages/scanner/src/matchers/js-deno-route.ts.json

  • Network accessline 8
    15       ],       "snippet": "    `router.get(\"/users\", (ctx) => {})`,\n    `router.post('/api/users', createUser)`,\n    `router.use(authMiddleware)`,\n    `router.delete(\"/u/:id\", removeUser)`,\n    `import { Application, Router } fro
  • Network accessline 9
    ],       "snippet": "    `router.get(\"/users\", (ctx) => {})`,\n    `router.post('/api/users', createUser)`,\n    `router.use(authMiddleware)`,\n    `router.delete(\"/u/:id\", removeUser)`,\n    `import { Application, Router } from \"https
  • Network accessline 10
    "snippet": "    `router.get(\"/users\", (ctx) => {})`,\n    `router.post('/api/users', createUser)`,\n    `router.use(authMiddleware)`,\n    `router.delete(\"/u/:id\", removeUser)`,\n    `import { Application, Router } from \"https://deno.l

.deepsec/data/deepsec/files/packages/scanner/src/matchers/js-nextjs-catchall-router.ts.json

  • Network accessline 16
    23       ],       "snippet": "  requires: { tech: [\"nextjs\"] },\n  examples: [\n    `import { Elysia } from 'elysia';\\nconst app = new Elysia();\\nexport const GET = app.handle;`,\n    `import { Hono } from 'hono';\\nconst app = new Hono
  • Network accessline 17
    ],       "snippet": "  requires: { tech: [\"nextjs\"] },\n  examples: [\n    `import { Elysia } from 'elysia';\\nconst app = new Elysia();\\nexport const GET = app.handle;`,\n    `import { Hono } from 'hono';\\nconst app = new Hono();\\nexp
  • Network accessline 18
    "snippet": "  requires: { tech: [\"nextjs\"] },\n  examples: [\n    `import { Elysia } from 'elysia';\\nconst app = new Elysia();\\nexport const GET = app.handle;`,\n    `import { Hono } from 'hono';\\nconst app = new Hono();\\nexport const
  • Network accessline 24
    24       ],       "snippet": "  examples: [\n    `import { Elysia } from 'elysia';\\nconst app = new Elysia();\\nexport const GET = app.handle;`,\n    `import { Hono } from 'hono';\\nconst app = new Hono();\\nexport const GET = (req) => app
  • Network accessline 25
    ],       "snippet": "  examples: [\n    `import { Elysia } from 'elysia';\\nconst app = new Elysia();\\nexport const GET = app.handle;`,\n    `import { Hono } from 'hono';\\nconst app = new Hono();\\nexport const GET = (req) => app.fetch(re
  • Network accessline 26
    "snippet": "  examples: [\n    `import { Elysia } from 'elysia';\\nconst app = new Elysia();\\nexport const GET = app.handle;`,\n    `import { Hono } from 'hono';\\nconst app = new Hono();\\nexport const GET = (req) => app.fetch(req);`,\n  
  • Network accessline 32
    25       ],       "snippet": "    `import { Elysia } from 'elysia';\\nconst app = new Elysia();\\nexport const GET = app.handle;`,\n    `import { Hono } from 'hono';\\nconst app = new Hono();\\nexport const GET = (req) => app.fetch(req);`,\
  • Network accessline 33
    ],       "snippet": "    `import { Elysia } from 'elysia';\\nconst app = new Elysia();\\nexport const GET = app.handle;`,\n    `import { Hono } from 'hono';\\nconst app = new Hono();\\nexport const GET = (req) => app.fetch(req);`,\n    `imp
  • Network accessline 34
    "snippet": "    `import { Elysia } from 'elysia';\\nconst app = new Elysia();\\nexport const GET = app.handle;`,\n    `import { Hono } from 'hono';\\nconst app = new Hono();\\nexport const GET = (req) => app.fetch(req);`,\n    `import expre
  • Network accessline 40
    26       ],       "snippet": "    `import { Hono } from 'hono';\\nconst app = new Hono();\\nexport const GET = (req) => app.fetch(req);`,\n    `import express from 'express';\\nconst app = express();\\nexport const POST = (req) => app(req);
  • Network accessline 41
    ],       "snippet": "    `import { Hono } from 'hono';\\nconst app = new Hono();\\nexport const GET = (req) => app.fetch(req);`,\n    `import express from 'express';\\nconst app = express();\\nexport const POST = (req) => app(req);`,\n    `
  • Network accessline 42
    "snippet": "    `import { Hono } from 'hono';\\nconst app = new Hono();\\nexport const GET = (req) => app.fetch(req);`,\n    `import express from 'express';\\nconst app = express();\\nexport const POST = (req) => app(req);`,\n    `import { 

.deepsec/data/deepsec/files/packages/scanner/src/matchers/js-nextjs-edge-sandbox.ts.json

  • Dangerous shell operationline 10
    "snippet": "  examples: [\n    `const fn = new Function('a', 'return a + 1');`,\n    `const result = eval(userCode);`,\n    `await context.evaluate(moduleSource);`,\n    `const script = new vm.Script(code);`,",
  • Dangerous shell operationline 18
    "snippet": "  requires: { tech: [\"nextjs\"] },\n  examples: [\n    `const fn = new Function('a', 'return a + 1');`,\n    `const result = eval(userCode);`,\n    `await context.evaluate(moduleSource);`,",

.deepsec/data/deepsec/files/packages/scanner/src/matchers/js-nextjs-page-data-fetch.ts.json

  • Network accessline 8
    12       ],       "snippet": "  requires: { tech: [\"nextjs\"] },\n  examples: [\n    `export default async function Page({ searchParams }) {\\n  const id = searchParams.get('id');\\n  const data = await fetch('/api/x?id=' + id);\\n  return
  • Network accessline 9
    ],       "snippet": "  requires: { tech: [\"nextjs\"] },\n  examples: [\n    `export default async function Page({ searchParams }) {\\n  const id = searchParams.get('id');\\n  const data = await fetch('/api/x?id=' + id);\\n  return null\\n}
  • Network accessline 10
    "snippet": "  requires: { tech: [\"nextjs\"] },\n  examples: [\n    `export default async function Page({ searchParams }) {\\n  const id = searchParams.get('id');\\n  const data = await fetch('/api/x?id=' + id);\\n  return null\\n}`,\n    `
  • Network accessline 16
    13       ],       "snippet": "  examples: [\n    `export default async function Page({ searchParams }) {\\n  const id = searchParams.get('id');\\n  const data = await fetch('/api/x?id=' + id);\\n  return null\\n}`,\n    `export default asyn
  • Network accessline 17
    ],       "snippet": "  examples: [\n    `export default async function Page({ searchParams }) {\\n  const id = searchParams.get('id');\\n  const data = await fetch('/api/x?id=' + id);\\n  return null\\n}`,\n    `export default async functio
  • Network accessline 18
    "snippet": "  examples: [\n    `export default async function Page({ searchParams }) {\\n  const id = searchParams.get('id');\\n  const data = await fetch('/api/x?id=' + id);\\n  return null\\n}`,\n    `export default async function Page({ 
  • Network accessline 24
    14       ],       "snippet": "    `export default async function Page({ searchParams }) {\\n  const id = searchParams.get('id');\\n  const data = await fetch('/api/x?id=' + id);\\n  return null\\n}`,\n    `export default async function Page
  • Network accessline 25
    ],       "snippet": "    `export default async function Page({ searchParams }) {\\n  const id = searchParams.get('id');\\n  const data = await fetch('/api/x?id=' + id);\\n  return null\\n}`,\n    `export default async function Page({ params
  • Network accessline 26
    "snippet": "    `export default async function Page({ searchParams }) {\\n  const id = searchParams.get('id');\\n  const data = await fetch('/api/x?id=' + id);\\n  return null\\n}`,\n    `export default async function Page({ params }) {\\n 

.deepsec/data/deepsec/files/packages/scanner/src/matchers/js-nextjs-untrusted-fetch.ts.json

  • Network accessline 8
    23       ],       "snippet": "    `const url = req.url;\\nconst res = await fetch(url);`,\n    `const target = request.headers.get('x-target');\\nconst data = await fetch(target);`,\n    `const u = new URL(req.url);\\nawait fetch(u.searchPa
  • Network accessline 9
    ],       "snippet": "    `const url = req.url;\\nconst res = await fetch(url);`,\n    `const target = request.headers.get('x-target');\\nconst data = await fetch(target);`,\n    `const u = new URL(req.url);\\nawait fetch(u.searchParams.get(
  • Network accessline 10
    "snippet": "    `const url = req.url;\\nconst res = await fetch(url);`,\n    `const target = request.headers.get('x-target');\\nconst data = await fetch(target);`,\n    `const u = new URL(req.url);\\nawait fetch(u.searchParams.get('href'));
  • Network accessline 25
    48       ],       "snippet": "    `const u = new URL(req.url);\\nawait fetch(u.searchParams.get('href'));`,\n    `const upstream = req.query.upstream;\\nawait globalThis.fetch(upstream);`,\n    `const path = request.nextUrl.searchParams.get
  • Network accessline 26
    ],       "snippet": "    `const u = new URL(req.url);\\nawait fetch(u.searchParams.get('href'));`,\n    `const upstream = req.query.upstream;\\nawait globalThis.fetch(upstream);`,\n    `const path = request.nextUrl.searchParams.get('path');
  • Network accessline 27
    "snippet": "    `const u = new URL(req.url);\\nawait fetch(u.searchParams.get('href'));`,\n    `const upstream = req.query.upstream;\\nawait globalThis.fetch(upstream);`,\n    `const path = request.nextUrl.searchParams.get('path');\\nconst 
  • Network accessline 33
    23       ],       "snippet": "    `const target = request.headers.get('x-target');\\nconst data = await fetch(target);`,\n    `const u = new URL(req.url);\\nawait fetch(u.searchParams.get('href'));`,\n    `const upstream = req.query.upstrea
  • Network accessline 34
    ],       "snippet": "    `const target = request.headers.get('x-target');\\nconst data = await fetch(target);`,\n    `const u = new URL(req.url);\\nawait fetch(u.searchParams.get('href'));`,\n    `const upstream = req.query.upstream;\\nawai
  • Network accessline 35
    "snippet": "    `const target = request.headers.get('x-target');\\nconst data = await fetch(target);`,\n    `const u = new URL(req.url);\\nawait fetch(u.searchParams.get('href'));`,\n    `const upstream = req.query.upstream;\\nawait globalT
  • Network accessline 41
    21       ],       "snippet": "  examples: [\n    `const url = req.url;\\nconst res = await fetch(url);`,\n    `const target = request.headers.get('x-target');\\nconst data = await fetch(target);`,\n    `const u = new URL(req.url);\\nawait f
  • Network accessline 42
    ],       "snippet": "  examples: [\n    `const url = req.url;\\nconst res = await fetch(url);`,\n    `const target = request.headers.get('x-target');\\nconst data = await fetch(target);`,\n    `const u = new URL(req.url);\\nawait fetch(u.se
  • Network accessline 43
    "snippet": "  examples: [\n    `const url = req.url;\\nconst res = await fetch(url);`,\n    `const target = request.headers.get('x-target');\\nconst data = await fetch(target);`,\n    `const u = new URL(req.url);\\nawait fetch(u.searchParam
  • Network accessline 44
    "matchedPattern": "fetch(url) — default redirect: follow + caller-style URL"

.deepsec/data/deepsec/files/packages/scanner/src/matchers/jvm-sql-raw.ts.json

  • Dangerous shell operationline 11
    "snippet": "    `jdbcTemplate.update(\"UPDATE users SET role = '\" + role + \"' WHERE id = \" + id)`,\n    `@Select(\"SELECT * FROM users WHERE id = \\${id}\")`,\n    `val rows = exec(\"SELECT * FROM users WHERE name = '\\${name}'\")`,\n   
  • Dangerous shell operationline 77
    "snippet": "    `em.createQuery(\"FROM User u WHERE u.name = '\" + name + \"'\")`,\n    `session.createSQLQuery(\"SELECT * FROM x WHERE col = '\" + col + \"'\")`,\n    `jdbcTemplate.query(\"SELECT * FROM users WHERE id = \" + id, mapper)`,\
  • Dangerous shell operationline 85
    "snippet": "    `session.createSQLQuery(\"SELECT * FROM x WHERE col = '\" + col + \"'\")`,\n    `jdbcTemplate.query(\"SELECT * FROM users WHERE id = \" + id, mapper)`,\n    `jdbcTemplate.update(\"UPDATE users SET role = '\" + role + \"' WHE

.deepsec/data/deepsec/files/packages/scanner/src/matchers/jwt-handling.ts.json

  • Access to secretsline 50
    [Credential-related source omitted]
  • Access to secretsline 122
    [Credential-related source omitted]
  • Access to secretsline 132
    [Credential-related source omitted]

.deepsec/data/deepsec/files/packages/scanner/src/matchers/lua-ngx-exec.ts.json

  • Network accessline 17
    15       ],       "snippet": "  filePatterns: [\"**/*.lua\"],\n  examples: [\n    `ngx.exec(\"/internal/\" .. user_path)`,\n    `ngx.redirect(\"https://example.com/\" .. target)`,\n    `os.execute(\"rm -rf \" .. dir)`,",
  • Network accessline 18
    ],       "snippet": "  filePatterns: [\"**/*.lua\"],\n  examples: [\n    `ngx.exec(\"/internal/\" .. user_path)`,\n    `ngx.redirect(\"https://example.com/\" .. target)`,\n    `os.execute(\"rm -rf \" .. dir)`,",       "matchedPattern": "exe
  • Dangerous shell operationline 19
    "snippet": "  filePatterns: [\"**/*.lua\"],\n  examples: [\n    `ngx.exec(\"/internal/\" .. user_path)`,\n    `ngx.redirect(\"https://example.com/\" .. target)`,\n    `os.execute(\"rm -rf \" .. dir)`,",
  • Network accessline 19
    "snippet": "  filePatterns: [\"**/*.lua\"],\n  examples: [\n    `ngx.exec(\"/internal/\" .. user_path)`,\n    `ngx.redirect(\"https://example.com/\" .. target)`,\n    `os.execute(\"rm -rf \" .. dir)`,",

.deepsec/data/deepsec/files/packages/scanner/src/matchers/php-sql-raw.ts.json

  • Dangerous shell operationline 10
    "snippet": "  examples: [\n    `<?php\\n$result = $pdo->query(\"SELECT * FROM users WHERE id = \" . $id);`,\n    `$pdo->exec(\"DELETE FROM users WHERE name = '\" . $name . \"'\");`,\n    `$stmt = $pdo->prepare(\"SELECT * FROM t WHERE col = 
  • Dangerous shell operationline 26
    "snippet": "  examples: [\n    `<?php\\n$result = $pdo->query(\"SELECT * FROM users WHERE id = \" . $id);`,\n    `$pdo->exec(\"DELETE FROM users WHERE name = '\" . $name . \"'\");`,\n    `$stmt = $pdo->prepare(\"SELECT * FROM t WHERE col = 
  • Dangerous shell operationline 34
    "snippet": "    `$pdo->exec(\"DELETE FROM users WHERE name = '\" . $name . \"'\");`,\n    `$stmt = $pdo->prepare(\"SELECT * FROM t WHERE col = '\" . $col . \"'\");`,\n    `mysqli_query($conn, \"SELECT * FROM users WHERE id = \" . $userId);`

.deepsec/data/deepsec/files/packages/scanner/src/matchers/postmessage-origin.ts.json

  • Network accessline 56
    17       ],       "snippet": "};`,\n    `frame.onmessage = function (e) { dispatch(e.data); };`,\n    `addEventListener(\"message\", function (event) {\n  if (event.origin !== \"https://trusted.example\") return;\n  doStuff(event.data);\n})
  • Network accessline 57
    ],       "snippet": "};`,\n    `frame.onmessage = function (e) { dispatch(e.data); };`,\n    `addEventListener(\"message\", function (event) {\n  if (event.origin !== \"https://trusted.example\") return;\n  doStuff(event.data);\n});`,",    
  • Network accessline 58
    "snippet": "};`,\n    `frame.onmessage = function (e) { dispatch(e.data); };`,\n    `addEventListener(\"message\", function (event) {\n  if (event.origin !== \"https://trusted.example\") return;\n  doStuff(event.data);\n});`,",
  • Network accessline 64
    18       ],       "snippet": "    `frame.onmessage = function (e) { dispatch(e.data); };`,\n    `addEventListener(\"message\", function (event) {\n  if (event.origin !== \"https://trusted.example\") return;\n  doStuff(event.data);\n});`,\n 
  • Network accessline 65
    ],       "snippet": "    `frame.onmessage = function (e) { dispatch(e.data); };`,\n    `addEventListener(\"message\", function (event) {\n  if (event.origin !== \"https://trusted.example\") return;\n  doStuff(event.data);\n});`,\n  ],",    
  • Network accessline 66
    "snippet": "    `frame.onmessage = function (e) { dispatch(e.data); };`,\n    `addEventListener(\"message\", function (event) {\n  if (event.origin !== \"https://trusted.example\") return;\n  doStuff(event.data);\n});`,\n  ],",

.deepsec/data/deepsec/files/packages/scanner/src/matchers/process-env-access.ts.json

  • Access to secretsline 18
    [Credential-related source omitted]
  • Access to secretsline 26
    [Credential-related source omitted]
  • Access to secretsline 34
    [Credential-related source omitted]
  • Access to secretsline 42
    [Credential-related source omitted]
  • Access to secretsline 43
    [Credential-related source omitted]
  • Access to secretsline 50
    [Credential-related source omitted]
  • Access to secretsline 58
    [Credential-related source omitted]
  • Access to secretsline 66
    [Credential-related source omitted]
  • Access to secretsline 67
    [Credential-related source omitted]

.deepsec/data/deepsec/files/packages/scanner/src/matchers/prompt-leaks-system-prompt.ts.json

  • Access to secretsline 10
    [Credential-related source omitted]
  • Access to secretsline 26
    [Credential-related source omitted]
  • Access to secretsline 37
    [Credential-related source omitted]
  • Access to secretsline 45
    [Credential-related source omitted]
  • Access to secretsline 46
    [Credential-related source omitted]
  • Access to secretsline 53
    [Credential-related source omitted]
  • Access to secretsline 54
    [Credential-related source omitted]
  • Access to secretsline 61
    [Credential-related source omitted]
  • Access to secretsline 62
    [Credential-related source omitted]
  • Access to secretsline 69
    [Credential-related source omitted]
  • Access to secretsline 70
    [Credential-related source omitted]
  • Access to secretsline 77
    [Credential-related source omitted]
  • Access to secretsline 85
    [Credential-related source omitted]
  • Access to secretsline 86
    [Credential-related source omitted]
  • Access to secretsline 93
    [Credential-related source omitted]
  • Access to secretsline 94
    [Credential-related source omitted]

.deepsec/data/deepsec/files/packages/scanner/src/matchers/rb-sql-raw.ts.json

  • Network accessline 8
    24       ],       "snippet": "    `DB.fetch(\"SELECT * FROM t WHERE col = '#{val}'\")`,\n    `Sequel.lit(\"name = '#{user_input}'\")`,\n    `conn.exec(\"SELECT * FROM users WHERE id = #{user_id}\")`,\n  ],\n  match(content, filePath) {",
  • Network accessline 9
    ],       "snippet": "    `DB.fetch(\"SELECT * FROM t WHERE col = '#{val}'\")`,\n    `Sequel.lit(\"name = '#{user_input}'\")`,\n    `conn.exec(\"SELECT * FROM users WHERE id = #{user_id}\")`,\n  ],\n  match(content, filePath) {",       "matc
  • Network accessline 10
    "snippet": "    `DB.fetch(\"SELECT * FROM t WHERE col = '#{val}'\")`,\n    `Sequel.lit(\"name = '#{user_input}'\")`,\n    `conn.exec(\"SELECT * FROM users WHERE id = #{user_id}\")`,\n  ],\n  match(content, filePath) {",

.deepsec/data/deepsec/files/packages/scanner/src/matchers/rce.ts.json

  • Dangerous shell operationline 34
    "snippet": "  filePatterns: [\"**/*.{ts,tsx,js,jsx}\"],\n  examples: [\n    `child_process.exec(cmd);`,\n    `exec(\\`ls \\${dir}\\`);`,\n    `execSync(\"whoami\");`,",
  • Dangerous shell operationline 42
    "snippet": "    `child_process.exec(cmd);`,\n    `exec(\\`ls \\${dir}\\`);`,\n    `execSync(\"whoami\");`,\n    `spawn(\"sh\", [\"-c\", cmd]);`,\n    `spawnSync(\"git\", [\"status\"]);`,",
  • Dangerous shell operationline 50
    "snippet": "    `exec(\\`ls \\${dir}\\`);`,\n    `execSync(\"whoami\");`,\n    `spawn(\"sh\", [\"-c\", cmd]);`,\n    `spawnSync(\"git\", [\"status\"]);`,\n    `eval(userInput);`,",
  • Dangerous shell operationline 58
    "snippet": "    `execSync(\"whoami\");`,\n    `spawn(\"sh\", [\"-c\", cmd]);`,\n    `spawnSync(\"git\", [\"status\"]);`,\n    `eval(userInput);`,\n    `new Function(\"return \" + body)();`,",
  • Dangerous shell operationline 66
    "snippet": "    `spawn(\"sh\", [\"-c\", cmd]);`,\n    `spawnSync(\"git\", [\"status\"]);`,\n    `eval(userInput);`,\n    `new Function(\"return \" + body)();`,\n    `const cp = require(\"child_process\");`,",
  • Dangerous shell operationline 75
    "snippet": "    `spawnSync(\"git\", [\"status\"]);`,\n    `eval(userInput);`,\n    `new Function(\"return \" + body)();`,\n    `const cp = require(\"child_process\");`,\n    `import { exec } from \"child_process\";`,",
  • Dangerous shell operationline 83
    "snippet": "    `eval(userInput);`,\n    `new Function(\"return \" + body)();`,\n    `const cp = require(\"child_process\");`,\n    `import { exec } from \"child_process\";`,\n    `vm.runInNewContext(code, ctx);`,",

.deepsec/data/deepsec/files/packages/scanner/src/matchers/secret-env-var.ts.json

  • Access to secretsline 20
    [Credential-related source omitted]
  • Access to secretsline 29
    [Credential-related source omitted]
  • Access to secretsline 30
    [Credential-related source omitted]
  • Access to secretsline 37
    [Credential-related source omitted]
  • Access to secretsline 38
    [Credential-related source omitted]
  • Access to secretsline 45
    [Credential-related source omitted]
  • Access to secretsline 46
    [Credential-related source omitted]
  • Access to secretsline 54
    [Credential-related source omitted]
  • Access to secretsline 62
    [Credential-related source omitted]
  • Access to secretsline 63
    [Credential-related source omitted]
  • Access to secretsline 70
    [Credential-related source omitted]
  • Access to secretsline 71
    [Credential-related source omitted]
  • Access to secretsline 81
    [Credential-related source omitted]
  • Access to secretsline 92
    [Credential-related source omitted]
  • Access to secretsline 100
    [Credential-related source omitted]
  • Access to secretsline 101
    [Credential-related source omitted]
  • Access to secretsline 108
    [Credential-related source omitted]
  • Access to secretsline 109
    [Credential-related source omitted]
  • Access to secretsline 116
    [Credential-related source omitted]
  • Access to secretsline 117
    [Credential-related source omitted]
  • Access to secretsline 124
    [Credential-related source omitted]
  • Access to secretsline 125
    [Credential-related source omitted]

.deepsec/data/deepsec/files/packages/scanner/src/matchers/secret-in-fallback.ts.json

  • Access to secretsline 22
    [Credential-related source omitted]
  • Access to secretsline 32
    [Credential-related source omitted]
  • Access to secretsline 43
    [Credential-related source omitted]
  • Access to secretsline 51
    [Credential-related source omitted]
  • Access to secretsline 59
    [Credential-related source omitted]
  • Access to secretsline 72
    [Credential-related source omitted]
  • Access to secretsline 80
    [Credential-related source omitted]
  • Access to secretsline 81
    [Credential-related source omitted]
  • Access to secretsline 88
    [Credential-related source omitted]
  • Access to secretsline 89
    [Credential-related source omitted]
  • Access to secretsline 96
    [Credential-related source omitted]
  • Access to secretsline 97
    [Credential-related source omitted]
  • Access to secretsline 104
    [Credential-related source omitted]
  • Access to secretsline 112
    [Credential-related source omitted]
  • Access to secretsline 120
    [Credential-related source omitted]
  • Access to secretsline 121
    [Credential-related source omitted]
  • Access to secretsline 128
    [Credential-related source omitted]
  • Access to secretsline 129
    [Credential-related source omitted]
  • Access to secretsline 136
    [Credential-related source omitted]
  • Access to secretsline 137
    [Credential-related source omitted]

.deepsec/data/deepsec/files/packages/scanner/src/matchers/secret-in-log.ts.json

  • Access to secretsline 19
    [Credential-related source omitted]

.deepsec/data/deepsec/files/packages/scanner/src/matchers/secrets-exposure.ts.json

  • Access to secretsline 42
    [Credential-related source omitted]
  • Access to secretsline 50
    [Credential-related source omitted]
  • Access to secretsline 58
    [Credential-related source omitted]
  • Access to secretsline 67
    [Credential-related source omitted]
  • Access to secretsline 76
    [Credential-related source omitted]

.deepsec/data/deepsec/files/packages/scanner/src/matchers/sensitive-data-in-traces.ts.json

  • Access to secretsline 18
    [Credential-related source omitted]
  • Access to secretsline 26
    [Credential-related source omitted]
  • Access to secretsline 27
    [Credential-related source omitted]
  • Access to secretsline 74
    [Credential-related source omitted]
  • Access to secretsline 82
    [Credential-related source omitted]

.deepsec/data/deepsec/files/packages/scanner/src/matchers/slack-signing-verification.ts.json

  • Access to secretsline 19
    [Credential-related source omitted]
  • Access to secretsline 28
    [Credential-related source omitted]
  • Access to secretsline 36
    [Credential-related source omitted]
  • Access to secretsline 37
    [Credential-related source omitted]
  • Access to secretsline 44
    [Credential-related source omitted]
  • Access to secretsline 45
    [Credential-related source omitted]
  • Access to secretsline 52
    [Credential-related source omitted]
  • Access to secretsline 60
    [Credential-related source omitted]
  • Access to secretsline 68
    [Credential-related source omitted]
  • Access to secretsline 76
    [Credential-related source omitted]

.deepsec/data/deepsec/files/packages/scanner/src/matchers/ssrf.ts.json

  • Network accessline 17
    11       ],       "snippet": "  filePatterns: [\"**/*.{ts,tsx,js,jsx}\"],\n  examples: [\n    `fetch(req.body.url);`,\n    `fetch(query.target);`,\n    `axios.get(req.body.endpoint);`,",
  • Network accessline 18
    ],       "snippet": "  filePatterns: [\"**/*.{ts,tsx,js,jsx}\"],\n  examples: [\n    `fetch(req.body.url);`,\n    `fetch(query.target);`,\n    `axios.get(req.body.endpoint);`,",       "matchedPattern": "fetch with request-derived URL"
  • Network accessline 19
    "snippet": "  filePatterns: [\"**/*.{ts,tsx,js,jsx}\"],\n  examples: [\n    `fetch(req.body.url);`,\n    `fetch(query.target);`,\n    `axios.get(req.body.endpoint);`,",
  • Network accessline 26
    13       ],       "snippet": "    `fetch(req.body.url);`,\n    `fetch(query.target);`,\n    `axios.get(req.body.endpoint);`,\n    `axios.post(params.url, data);`,\n    \"https.request(`https://api/${req.body.host}`);\",",
  • Network accessline 27
    ],       "snippet": "    `fetch(req.body.url);`,\n    `fetch(query.target);`,\n    `axios.get(req.body.endpoint);`,\n    `axios.post(params.url, data);`,\n    \"https.request(`https://api/${req.body.host}`);\",",       "matchedPattern": "ax
  • Network accessline 28
    "snippet": "    `fetch(req.body.url);`,\n    `fetch(query.target);`,\n    `axios.get(req.body.endpoint);`,\n    `axios.post(params.url, data);`,\n    \"https.request(`https://api/${req.body.host}`);\",",
  • Network accessline 34
    14       ],       "snippet": "    `axios.get(req.body.endpoint);`,\n    `axios.post(params.url, data);`,\n    \"https.request(`https://api/${req.body.host}`);\",\n    `new URL(req.query.target);`,\n    \"fetch(`${userBase}/items`);\",",
  • Network accessline 35
    ],       "snippet": "    `axios.get(req.body.endpoint);`,\n    `axios.post(params.url, data);`,\n    \"https.request(`https://api/${req.body.host}`);\",\n    `new URL(req.query.target);`,\n    \"fetch(`${userBase}/items`);\",",       "match
  • Network accessline 36
    "snippet": "    `axios.get(req.body.endpoint);`,\n    `axios.post(params.url, data);`,\n    \"https.request(`https://api/${req.body.host}`);\",\n    `new URL(req.query.target);`,\n    \"fetch(`${userBase}/items`);\",",
  • Network accessline 42
    15       ],       "snippet": "    `axios.post(params.url, data);`,\n    \"https.request(`https://api/${req.body.host}`);\",\n    `new URL(req.query.target);`,\n    \"fetch(`${userBase}/items`);\",\n  ],",
  • Network accessline 43
    ],       "snippet": "    `axios.post(params.url, data);`,\n    \"https.request(`https://api/${req.body.host}`);\",\n    `new URL(req.query.target);`,\n    \"fetch(`${userBase}/items`);\",\n  ],",       "matchedPattern": "new URL from reques
  • Network accessline 44
    "snippet": "    `axios.post(params.url, data);`,\n    \"https.request(`https://api/${req.body.host}`);\",\n    `new URL(req.query.target);`,\n    \"fetch(`${userBase}/items`);\",\n  ],",
  • Network accessline 50
    16       ],       "snippet": "    \"https.request(`https://api/${req.body.host}`);\",\n    `new URL(req.query.target);`,\n    \"fetch(`${userBase}/items`);\",\n  ],\n  match(content, filePath) {",
  • Network accessline 51
    ],       "snippet": "    \"https.request(`https://api/${req.body.host}`);\",\n    `new URL(req.query.target);`,\n    \"fetch(`${userBase}/items`);\",\n  ],\n  match(content, filePath) {",       "matchedPattern": "fetch with interpolated URL
  • Network accessline 52
    "snippet": "    \"https.request(`https://api/${req.body.host}`);\",\n    `new URL(req.query.target);`,\n    \"fetch(`${userBase}/items`);\",\n  ],\n  match(content, filePath) {",
  • Network accessline 58
    15       ],       "snippet": "    \"https.request(`https://api/${req.body.host}`);\",\n    `new URL(req.query.target);`,\n    \"fetch(`${userBase}/items`);\",\n  ],",
  • Network accessline 59
    ],       "snippet": "    \"https.request(`https://api/${req.body.host}`);\",\n    `new URL(req.query.target);`,\n    \"fetch(`${userBase}/items`);\",\n  ],",       "matchedPattern": "new URL() from request input without hostname validation"
  • Network accessline 60
    "snippet": "    \"https.request(`https://api/${req.body.host}`);\",\n    `new URL(req.query.target);`,\n    \"fetch(`${userBase}/items`);\",\n  ],",
  • Network accessline 66
    10       ],       "snippet": "  examples: [\n    `fetch(req.body.url);`,\n    `fetch(query.target);`,\n    `axios.get(req.body.endpoint);`,",
  • Network accessline 67
    ],       "snippet": "  examples: [\n    `fetch(req.body.url);`,\n    `fetch(query.target);`,\n    `axios.get(req.body.endpoint);`,",       "matchedPattern": "fetch(req.body.url) — default redirect: follow + caller-style URL"
  • Network accessline 68
    "snippet": "  examples: [\n    `fetch(req.body.url);`,\n    `fetch(query.target);`,\n    `axios.get(req.body.endpoint);`,",
  • Network accessline 69
    "matchedPattern": "fetch(req.body.url) — default redirect: follow + caller-style URL"
  • Network accessline 74
    13       ],       "snippet": "    `axios.get(req.body.endpoint);`,\n    `axios.post(params.url, data);`,\n    \"https.request(`https://api/${req.body.host}`);\",\n    `new URL(req.query.target);`,",
  • Network accessline 75
    ],       "snippet": "    `axios.get(req.body.endpoint);`,\n    `axios.post(params.url, data);`,\n    \"https.request(`https://api/${req.body.host}`);\",\n    `new URL(req.query.target);`,",       "matchedPattern": "fetch(params.url) — defau
  • Network accessline 76
    "snippet": "    `axios.get(req.body.endpoint);`,\n    `axios.post(params.url, data);`,\n    \"https.request(`https://api/${req.body.host}`);\",\n    `new URL(req.query.target);`,",       "matchedPattern": "fetch(params.url) — default redire
  • Network accessline 77
    "matchedPattern": "fetch(params.url) — default redirect: follow + caller-style URL"

.deepsec/data/deepsec/files/packages/scanner/src/matchers/streaming-endpoint.ts.json

  • Network accessline 24
    28       ],       "snippet": "    `const r = await client.chat.completions.create({ model, messages, stream: true });`,\n    `fetch(\"/api/chat\", { method: \"POST\" });`,\n    `app.post(\"/api/completion\", handler);`,\n    `await fetch(\"
  • Network accessline 25
    ],       "snippet": "    `const r = await client.chat.completions.create({ model, messages, stream: true });`,\n    `fetch(\"/api/chat\", { method: \"POST\" });`,\n    `app.post(\"/api/completion\", handler);`,\n    `await fetch(\"/api/gene
  • Network accessline 26
    "snippet": "    `const r = await client.chat.completions.create({ model, messages, stream: true });`,\n    `fetch(\"/api/chat\", { method: \"POST\" });`,\n    `app.post(\"/api/completion\", handler);`,\n    `await fetch(\"/api/generate\", {

.deepsec/data/deepsec/files/packages/scanner/src/matchers/tf-secret-in-data.ts.json

  • Access to secretsline 18
    [Credential-related source omitted]
  • Access to secretsline 27
    [Credential-related source omitted]

.deepsec/data/deepsec/files/packages/scanner/src/matchers/unsafe-deserialization.ts.json

  • Dangerous shell operationline 22
    "snippet": "    `const payload = JSON.parse(await req.text());`,\n    `const data = JSON.parse(await request.text());`,\n    `eval(JSON.parse(input));`,\n    `const fn = new Function(JSON.parse(spec));`,\n    `const config = yaml.load(rawYa
  • Dangerous shell operationline 30
    "snippet": "    `const data = JSON.parse(await request.text());`,\n    `eval(JSON.parse(input));`,\n    `const fn = new Function(JSON.parse(spec));`,\n    `const config = yaml.load(rawYaml);`,\n    `const cfg = safeLoad(input);`,",
  • Dangerous shell operationline 63
    "snippet": "    `const out = JSON.parse(params.payload);`,\n    `const filter = JSON.parse(query.filter);`,\n    `const payload = JSON.parse(await req.text());`,\n    `const data = JSON.parse(await request.text());`,\n    `eval(JSON.parse(i
  • Dangerous shell operationline 71
    "snippet": "    `const payload = JSON.parse(await req.text());`,\n    `const data = JSON.parse(await request.text());`,\n    `eval(JSON.parse(input));`,\n    `const fn = new Function(JSON.parse(spec));`,\n    `const config = yaml.load(rawYa
  • Dangerous shell operationline 79
    "snippet": "    `const data = JSON.parse(await request.text());`,\n    `eval(JSON.parse(input));`,\n    `const fn = new Function(JSON.parse(spec));`,\n    `const config = yaml.load(rawYaml);`,\n    `const cfg = safeLoad(input);`,",
  • Dangerous shell operationline 88
    "snippet": "    `eval(JSON.parse(input));`,\n    `const fn = new Function(JSON.parse(spec));`,\n    `const config = yaml.load(rawYaml);`,\n    `const cfg = safeLoad(input);`,\n  ],",

.deepsec/data/deepsec/files/packages/scanner/src/matchers/untrusted-redirect-following.ts.json

  • Network accessline 25
    7       ],       "snippet": " * Server-side fetch following redirects across hosts. Common SSRF bypass:\n *   - Host validation runs against the request URL (\"https://allowed.com/...\")\n *   - The fetch follows a 30x to \"https://169.254.
  • Network accessline 26
    ],       "snippet": " * Server-side fetch following redirects across hosts. Common SSRF bypass:\n *   - Host validation runs against the request URL (\"https://allowed.com/...\")\n *   - The fetch follows a 30x to \"https://169.254.169.254/
  • Network accessline 27
    "snippet": " * Server-side fetch following redirects across hosts. Common SSRF bypass:\n *   - Host validation runs against the request URL (\"https://allowed.com/...\")\n *   - The fetch follows a 30x to \"https://169.254.169.254/...\", \"
  • Network accessline 41
    16       ],       "snippet": " *\n * Flags `fetch(url)` / `axios.get(url)` / `got(url)` calls in server-side\n * files where the URL likely derives from caller input. Also flags\n * explicit `redirect: 'follow'` and absence of `redirect:` s
  • Network accessline 42
    ],       "snippet": " *\n * Flags `fetch(url)` / `axios.get(url)` / `got(url)` calls in server-side\n * files where the URL likely derives from caller input. Also flags\n * explicit `redirect: 'follow'` and absence of `redirect:` setting in
  • Network accessline 43
    "snippet": " *\n * Flags `fetch(url)` / `axios.get(url)` / `got(url)` calls in server-side\n * files where the URL likely derives from caller input. Also flags\n * explicit `redirect: 'follow'` and absence of `redirect:` setting in",
  • Network accessline 44
    "matchedPattern": "fetch(url) — default redirect: follow + caller-style URL"
  • Network accessline 49
    18       ],       "snippet": " * Flags `fetch(url)` / `axios.get(url)` / `got(url)` calls in server-side\n * files where the URL likely derives from caller input. Also flags\n * explicit `redirect: 'follow'` and absence of `redirect:` setti
  • Network accessline 50
    ],       "snippet": " * Flags `fetch(url)` / `axios.get(url)` / `got(url)` calls in server-side\n * files where the URL likely derives from caller input. Also flags\n * explicit `redirect: 'follow'` and absence of `redirect:` setting in\n *
  • Network accessline 51
    "snippet": " * Flags `fetch(url)` / `axios.get(url)` / `got(url)` calls in server-side\n * files where the URL likely derives from caller input. Also flags\n * explicit `redirect: 'follow'` and absence of `redirect:` setting in\n * suspicio
  • Network accessline 65
    58       ],       "snippet": "\n      // fetch(url) call where `url` is a caller-style variable\n      const m = line.match(\n        /\\b(?:fetch|axios\\.\\s*(?:get|post|put|delete|head)|got|got\\.\\s*(?:get|post))\\s*\\(\\s*([^,)]+)/,",
  • Network accessline 66
    ],       "snippet": "\n      // fetch(url) call where `url` is a caller-style variable\n      const m = line.match(\n        /\\b(?:fetch|axios\\.\\s*(?:get|post|put|delete|head)|got|got\\.\\s*(?:get|post))\\s*\\(\\s*([^,)]+)/,",       "mat
  • Network accessline 67
    "snippet": "\n      // fetch(url) call where `url` is a caller-style variable\n      const m = line.match(\n        /\\b(?:fetch|axios\\.\\s*(?:get|post|put|delete|head)|got|got\\.\\s*(?:get|post))\\s*\\(\\s*([^,)]+)/,",
  • Network accessline 68
    "matchedPattern": "fetch(url) — default redirect: follow + caller-style URL"
  • Network accessline 84
    51       ],       "snippet": "    `await fetch(targetUrl, { redirect: \"follow\" });`,\n    `await fetch(callbackUrl);`,\n    `const res = await fetch(redirectUrl);`,\n    `const r = await fetch(webhookUrl);`,\n    `await axios.get(companyU
  • Network accessline 85
    ],       "snippet": "    `await fetch(targetUrl, { redirect: \"follow\" });`,\n    `await fetch(callbackUrl);`,\n    `const res = await fetch(redirectUrl);`,\n    `const r = await fetch(webhookUrl);`,\n    `await axios.get(companyUrl);`,", 
  • Network accessline 86
    "snippet": "    `await fetch(targetUrl, { redirect: \"follow\" });`,\n    `await fetch(callbackUrl);`,\n    `const res = await fetch(redirectUrl);`,\n    `const r = await fetch(webhookUrl);`,\n    `await axios.get(companyUrl);`,",
  • Network accessline 92
    27       ],       "snippet": "  filePatterns: [\"**/*.ts\", \"**/*.tsx\", \"**/*.js\", \"**/*.mjs\"],\n  examples: [\n    `await fetch(targetUrl, { redirect: \"follow\" });`,\n    `await fetch(callbackUrl);`,\n    `const res = await fetch(r
  • Network accessline 93
    ],       "snippet": "  filePatterns: [\"**/*.ts\", \"**/*.tsx\", \"**/*.js\", \"**/*.mjs\"],\n  examples: [\n    `await fetch(targetUrl, { redirect: \"follow\" });`,\n    `await fetch(callbackUrl);`,\n    `const res = await fetch(redirectUr
  • Network accessline 94
    "snippet": "  filePatterns: [\"**/*.ts\", \"**/*.tsx\", \"**/*.js\", \"**/*.mjs\"],\n  examples: [\n    `await fetch(targetUrl, { redirect: \"follow\" });`,\n    `await fetch(callbackUrl);`,\n    `const res = await fetch(redirectUrl);`,",
  • Network accessline 100
    28       ],       "snippet": "    `await fetch(targetUrl, { redirect: \"follow\" });`,\n    `await fetch(callbackUrl);`,\n    `const res = await fetch(redirectUrl);`,\n    `const r = await fetch(webhookUrl);`,",
  • Network accessline 101
    ],       "snippet": "    `await fetch(targetUrl, { redirect: \"follow\" });`,\n    `await fetch(callbackUrl);`,\n    `const res = await fetch(redirectUrl);`,\n    `const r = await fetch(webhookUrl);`,",       "matchedPattern": "fetch(callba
  • Network accessline 102
    "snippet": "    `await fetch(targetUrl, { redirect: \"follow\" });`,\n    `await fetch(callbackUrl);`,\n    `const res = await fetch(redirectUrl);`,\n    `const r = await fetch(webhookUrl);`,",
  • Network accessline 103
    "matchedPattern": "fetch(callbackUrl) — default redirect: follow + caller-style URL"
  • Network accessline 108
    29       ],       "snippet": "    `await fetch(callbackUrl);`,\n    `const res = await fetch(redirectUrl);`,\n    `const r = await fetch(webhookUrl);`,\n    `await axios.get(companyUrl);`,",
  • Network accessline 109
    ],       "snippet": "    `await fetch(callbackUrl);`,\n    `const res = await fetch(redirectUrl);`,\n    `const r = await fetch(webhookUrl);`,\n    `await axios.get(companyUrl);`,",       "matchedPattern": "fetch(redirectUrl) — default redi
  • Network accessline 110
    "snippet": "    `await fetch(callbackUrl);`,\n    `const res = await fetch(redirectUrl);`,\n    `const r = await fetch(webhookUrl);`,\n    `await axios.get(companyUrl);`,",
  • Network accessline 111
    "matchedPattern": "fetch(redirectUrl) — default redirect: follow + caller-style URL"
  • Network accessline 116
    30       ],       "snippet": "    `const res = await fetch(redirectUrl);`,\n    `const r = await fetch(webhookUrl);`,\n    `await axios.get(companyUrl);`,\n    `await axios.post(websiteUrl, payload);`,",
  • Network accessline 117
    ],       "snippet": "    `const res = await fetch(redirectUrl);`,\n    `const r = await fetch(webhookUrl);`,\n    `await axios.get(companyUrl);`,\n    `await axios.post(websiteUrl, payload);`,",       "matchedPattern": "fetch(webhookUrl) — 
  • Network accessline 118
    "snippet": "    `const res = await fetch(redirectUrl);`,\n    `const r = await fetch(webhookUrl);`,\n    `await axios.get(companyUrl);`,\n    `await axios.post(websiteUrl, payload);`,",
  • Network accessline 119
    "matchedPattern": "fetch(webhookUrl) — default redirect: follow + caller-style URL"
  • Network accessline 124
    31       ],       "snippet": "    `const r = await fetch(webhookUrl);`,\n    `await axios.get(companyUrl);`,\n    `await axios.post(websiteUrl, payload);`,\n    `await got(domainUrl);`,",
  • Network accessline 125
    ],       "snippet": "    `const r = await fetch(webhookUrl);`,\n    `await axios.get(companyUrl);`,\n    `await axios.post(websiteUrl, payload);`,\n    `await got(domainUrl);`,",       "matchedPattern": "fetch(companyUrl) — default redirect
  • Network accessline 126
    "snippet": "    `const r = await fetch(webhookUrl);`,\n    `await axios.get(companyUrl);`,\n    `await axios.post(websiteUrl, payload);`,\n    `await got(domainUrl);`,",
  • Network accessline 127
    "matchedPattern": "fetch(companyUrl) — default redirect: follow + caller-style URL"
  • Network accessline 133
    ],       "snippet": "    `await axios.get(companyUrl);`,\n    `await axios.post(websiteUrl, payload);`,\n    `await got(domainUrl);`,\n    `await got(imageUrl);",       "matchedPattern": "fetch(websiteUrl) — default redirect: follow + calle
  • Network accessline 134
    "snippet": "    `await axios.get(companyUrl);`,\n    `await axios.post(websiteUrl, payload);`,\n    `await got(domainUrl);`,\n    `await got(imageUrl);",       "matchedPattern": "fetch(websiteUrl) — default redirect: follow + caller-style U
  • Network accessline 135
    "matchedPattern": "fetch(websiteUrl) — default redirect: follow + caller-style URL"
  • Network accessline 141
    ],       "snippet": "    `await axios.post(websiteUrl, payload);`,\n    `await got(domainUrl);`,\n    `await got(imageUrl);\ngot.get(imageUrl);`,",       "matchedPattern": "fetch(domainUrl) — default redirect: follow + caller-style URL"
  • Network accessline 142
    "snippet": "    `await axios.post(websiteUrl, payload);`,\n    `await got(domainUrl);`,\n    `await got(imageUrl);\ngot.get(imageUrl);`,",       "matchedPattern": "fetch(domainUrl) — default redirect: follow + caller-style URL"     },
  • Network accessline 143
    "matchedPattern": "fetch(domainUrl) — default redirect: follow + caller-style URL"
  • Network accessline 148
    34       ],       "snippet": "    `await got(domainUrl);`,\n    `await got(imageUrl);\ngot.get(imageUrl);`,\n    `await fetch(fetchUrl, { method: \"GET\" });`,",
  • Network accessline 149
    ],       "snippet": "    `await got(domainUrl);`,\n    `await got(imageUrl);\ngot.get(imageUrl);`,\n    `await fetch(fetchUrl, { method: \"GET\" });`,",       "matchedPattern": "fetch(imageUrl) — default redirect: follow + caller-style URL"
  • Network accessline 150
    "snippet": "    `await got(domainUrl);`,\n    `await got(imageUrl);\ngot.get(imageUrl);`,\n    `await fetch(fetchUrl, { method: \"GET\" });`,",
  • Network accessline 151
    "matchedPattern": "fetch(imageUrl) — default redirect: follow + caller-style URL"
  • Network accessline 156
    35       ],       "snippet": "    `await got(imageUrl);\ngot.get(imageUrl);`,\n    `await fetch(fetchUrl, { method: \"GET\" });`,\n    `await fetch(returnTo, { method: \"GET\" });`,",
  • Network accessline 157
    ],       "snippet": "    `await got(imageUrl);\ngot.get(imageUrl);`,\n    `await fetch(fetchUrl, { method: \"GET\" });`,\n    `await fetch(returnTo, { method: \"GET\" });`,",       "matchedPattern": "fetch(imageUrl) — default redirect: foll
  • Network accessline 158
    "snippet": "    `await got(imageUrl);\ngot.get(imageUrl);`,\n    `await fetch(fetchUrl, { method: \"GET\" });`,\n    `await fetch(returnTo, { method: \"GET\" });`,",
  • Network accessline 159
    "matchedPattern": "fetch(imageUrl) — default redirect: follow + caller-style URL"
  • Network accessline 164
    36       ],       "snippet": "got.get(imageUrl);`,\n    `await fetch(fetchUrl, { method: \"GET\" });`,\n    `await fetch(returnTo, { method: \"GET\" });`,\n  ],",
  • Network accessline 165
    ],       "snippet": "got.get(imageUrl);`,\n    `await fetch(fetchUrl, { method: \"GET\" });`,\n    `await fetch(returnTo, { method: \"GET\" });`,\n  ],",       "matchedPattern": "fetch(fetchUrl) — default redirect: follow + caller-style URL
  • Network accessline 166
    "snippet": "got.get(imageUrl);`,\n    `await fetch(fetchUrl, { method: \"GET\" });`,\n    `await fetch(returnTo, { method: \"GET\" });`,\n  ],",
  • Network accessline 167
    "matchedPattern": "fetch(fetchUrl) — default redirect: follow + caller-style URL"
  • Network accessline 172
    37       ],       "snippet": "    `await fetch(fetchUrl, { method: \"GET\" });`,\n    `await fetch(returnTo, { method: \"GET\" });`,\n  ],\n  match(content, filePath) {",
  • Network accessline 173
    ],       "snippet": "    `await fetch(fetchUrl, { method: \"GET\" });`,\n    `await fetch(returnTo, { method: \"GET\" });`,\n  ],\n  match(content, filePath) {",       "matchedPattern": "fetch(returnTo) — default redirect: follow + caller-s
  • Network accessline 174
    "snippet": "    `await fetch(fetchUrl, { method: \"GET\" });`,\n    `await fetch(returnTo, { method: \"GET\" });`,\n  ],\n  match(content, filePath) {",
  • Network accessline 175
    "matchedPattern": "fetch(returnTo) — default redirect: follow + caller-style URL"
  • Network accessline 188
    71       ],       "snippet": "\n      // fetch(url) call where `url` is a caller-style variable\n      const m = line.match(\n        /\\b(?:fetch|axios\\.\\s*(?:get|post|put|delete|head)|got|got\\.\\s*(?:get|post))\\s*\\(\\s*([^,)]+)/,",
  • Network accessline 189
    ],       "snippet": "\n      // fetch(url) call where `url` is a caller-style variable\n      const m = line.match(\n        /\\b(?:fetch|axios\\.\\s*(?:get|post|put|delete|head)|got|got\\.\\s*(?:get|post))\\s*\\(\\s*([^,)]+)/,",       "mat
  • Network accessline 190
    "snippet": "\n      // fetch(url) call where `url` is a caller-style variable\n      const m = line.match(\n        /\\b(?:fetch|axios\\.\\s*(?:get|post|put|delete|head)|got|got\\.\\s*(?:get|post))\\s*\\(\\s*([^,)]+)/,",
  • Network accessline 191
    "matchedPattern": "fetch(url) — default redirect: follow + caller-style URL"

.deepsec/deepsec.config.ts

  • Executable scriptline 1
    Executable file

.deepsec/matchers/archive-extraction-untrusted.ts

  • Executable scriptline 1
    Executable file

.deepsec/package.json

  • Executable scriptline 1
    Executable file

.env.example

  • Network accessline 5
    [Credential-related source omitted]
  • Access to secretsline 6
    [Credential-related source omitted]
  • Network accessline 7
    ANTHROPIC_BASE_URL=https://ai-gateway.vercel.sh
  • Network accessline 11
    [Credential-related source omitted]
  • Access to secretsline 11
    [Credential-related source omitted]
  • Access to secretsline 12
    [Credential-related source omitted]
  • Network accessline 13
    OPENAI_BASE_URL=https://ai-gateway.vercel.sh/v1

.github/workflows/deepsec.yml

  • Access to secretsline 54
    [Credential-related source omitted]

.github/workflows/release.yml

  • Network accessline 7
    # # One-time setup on npmjs.com: #   1. Visit https://www.npmjs.com/package/deepsec/access (must be a
  • Network accessline 8
    # One-time setup on npmjs.com: #   1. Visit https://www.npmjs.com/package/deepsec/access (must be a #      maintainer of the package).
  • Network accessline 9
    #   1. Visit https://www.npmjs.com/package/deepsec/access (must be a
  • Network accessline 82
    with:           node-version: '24'           registry-url: 'https://registry.npmjs.org'
  • Network accessline 83
    node-version: '24'           registry-url: 'https://registry.npmjs.org'           cache: pnpm
  • Network accessline 84
    registry-url: 'https://registry.npmjs.org'
  • Access to secretsline 124
    [Credential-related source omitted]

CODE_OF_CONDUCT.md

  • Network accessline 10
    The full text is available at <https://www.contributor-covenant.org/version/2/1/code_of_conduct/>.
  • Network accessline 12
    [cov]: https://www.contributor-covenant.org/version/2/1/code_of_conduct/

CONTRIBUTING.md

  • Network accessline 128
    - Match the existing code style. Lint via [Biome](https://biomejs.dev/);

LICENSE

  • Network accessline 2
    Apache License                            Version 2.0, January 2004                         http://www.apache.org/licenses/
  • Network accessline 4
    http://www.apache.org/licenses/
  • Network accessline 196
    http://www.apache.org/licenses/LICENSE-2.0

NOTICE

  • Network accessline 4
    This product includes software developed at Vercel, Inc. (https://vercel.com/).
  • Network accessline 5
    (https://vercel.com/).

README.md

  • Network accessline 3
    [`deepsec`](https://deepsec.sh) is an agent-powered vulnerability scanner that you can run in your own infrastructure, optimized to perform on-demand review of all code in existing
  • Network accessline 6
    `deepsec` is designed to surface hard-to-find issues that have been lurking in applications for a long time. It is configured to use the best models at maximum thinking levels (tunable via `--thinking-level`, see [models](https://github.com
  • Network accessline 13
    <p>   <a href="https://vercel.com/labs#labs-products"><img alt="Vercel Labs Product" src="https://img.shields.io/badge/LABS-PRODUCT-0a0a0a.svg?style=for-the-badge&amp;logo=Vercel&amp;labelColor=000000" height="28"></a>
  • Network accessline 14
    <a href="https://vercel.com/labs#labs-products"><img alt="Vercel Labs Product" src="https://img.shields.io/badge/LABS-PRODUCT-0a0a0a.svg?style=for-the-badge&amp;logo=Vercel&amp;labelColor=000000" height="28"></a>
  • Network accessline 15
    <a href="https://www.npmjs.com/package/deepsec"><img alt="npm version: deepsec" src="https://img.shields.io/npm/v/deepsec.svg?style=for-the-badge&amp;labelColor=000000" height="28"></a>
  • Network accessline 16
    <a href="https://github.com/vercel-labs/deepsec/blob/main/LICENSE"><img alt="License: Apache-2.0" src="https://img.shields.io/github/license/vercel-labs/deepsec.svg?style=for-the-badge&amp;labelColor=000000" height="28"></a>
  • Network accessline 17
    <a href="https://www.npmjs.com/package/deepsec"><img alt="npm downloads per month: deepsec" src="https://img.shields.io/npm/dm/deepsec.svg?style=for-the-badge&amp;labelColor=000000&amp;label=npm%20downloads" height="28"></a>
  • Network accessline 59
    The [getting started guide](https://github.com/vercel-labs/deepsec/blob/main/docs/getting-started.md)
  • Network accessline 70
    - [Getting started](https://github.com/vercel-labs/deepsec/blob/main/docs/getting-started.md) — set up and run your first scan
  • Network accessline 71
    - [Reviewing changes](https://github.com/vercel-labs/deepsec/blob/main/docs/reviewing-changes.md) — `process --diff` and CI gating
  • Network accessline 72
    - [Supported technology](https://github.com/vercel-labs/deepsec/blob/main/docs/supported-tech.md) — built-in coverage
  • Network accessline 73
    - [Generated and hand-authored matchers](https://github.com/vercel-labs/deepsec/blob/main/docs/writing-matchers.md)
  • Network accessline 74
    - [Configuration](https://github.com/vercel-labs/deepsec/blob/main/docs/configuration.md)
  • Network accessline 75
    - [Plugins](https://github.com/vercel-labs/deepsec/blob/main/docs/plugins.md)
  • Network accessline 76
    - [Models](https://github.com/vercel-labs/deepsec/blob/main/docs/models.md)
  • Network accessline 77
    - [Project link and credentials](https://github.com/vercel-labs/deepsec/blob/main/docs/vercel-setup.md)
  • Network accessline 78
    - [Architecture](https://github.com/vercel-labs/deepsec/blob/main/docs/architecture.md)
  • Network accessline 79
    - [Data layout](https://github.com/vercel-labs/deepsec/blob/main/docs/data-layout.md)
  • Network accessline 80
    - [FAQ](https://github.com/vercel-labs/deepsec/blob/main/docs/faq.md)
  • Network accessline 81
    - [Samples](https://github.com/vercel-labs/deepsec/tree/main/samples)
  • Network accessline 82
    - [Contributing](https://github.com/vercel-labs/deepsec/blob/main/CONTRIBUTING.md)
  • Network accessline 91
    Deepsec only ever stores the *name* of the environment variable holding your key, never the key itself. See [project link and credentials](https://github.com/vercel-labs/deepsec/blob/main/docs/vercel-setup.md)
  • Network accessline 92
    your key, never the key itself. See [project link and credentials](https://github.com/vercel-labs/deepsec/blob/main/docs/vercel-setup.md) for the full reference.
  • Network accessline 93
    [project link and credentials](https://github.com/vercel-labs/deepsec/blob/main/docs/vercel-setup.md)
  • Network accessline 103
    Large monorepos can fan work across [Vercel Sandbox](https://vercel.com/docs/vercel-sandbox) microVMs:

biome.json

  • Network accessline 1
    {   "$schema": "https://biomejs.dev/schemas/2.4.13/schema.json",
  • Network accessline 2
    "$schema": "https://biomejs.dev/schemas/2.4.13/schema.json",

docs/architecture.md

  • Network accessline 157
    Five extension points, all defined in [`packages/core/src/plugin.ts`](https://github.com/vercel-labs/deepsec/blob/main/packages/core/src/plugin.ts):
  • Network accessline 158
    [`packages/core/src/plugin.ts`](https://github.com/vercel-labs/deepsec/blob/main/packages/core/src/plugin.ts):

docs/configuration.md

  • Network accessline 15
    projects: [     { id: "my-app", root: "../my-app" },     { id: "service", root: "../service", githubUrl: "https://github.com/me/service/blob/main" },
  • Network accessline 16
    { id: "my-app", root: "../my-app" },     { id: "service", root: "../service", githubUrl: "https://github.com/me/service/blob/main" },   ],
  • Network accessline 17
    { id: "service", root: "../service", githubUrl: "https://github.com/me/service/blob/main" },
  • Network accessline 23
    For a fully-worked example exercising every common field (`infoMarkdown`, `promptAppend`, `priorityPaths`, an inline plugin), see [`samples/webapp/deepsec.config.ts`](https://github.com/vercel-labs/deepsec/blob/main/samples/webapp/deepsec.c
  • Network accessline 25
    see [`samples/webapp/deepsec.config.ts`](https://github.com/vercel-labs/deepsec/blob/main/samples/webapp/deepsec.config.ts).
  • Access to secretsline 46
    [Credential-related source omitted]
  • Network accessline 52
    provider: "openai",   apiKeyEnv: "MY_OPENAI_KEY",   baseUrl: "https://api.openai.com/v1",
  • Network accessline 53
    apiKeyEnv: "MY_OPENAI_KEY",   baseUrl: "https://api.openai.com/v1", }
  • Network accessline 54
    baseUrl: "https://api.openai.com/v1",
  • Network accessline 60
    provider: "martian",   apiKeyEnv: "MARTIAN_KEY",   baseUrl: "https://api.martian.example/v1",
  • Network accessline 61
    apiKeyEnv: "MARTIAN_KEY",   baseUrl: "https://api.martian.example/v1",   credentialHeader: { name: "x-api-key", scheme: "raw" },
  • Network accessline 62
    baseUrl: "https://api.martian.example/v1",
  • Network accessline 76
    | `id` | `string` | yes | Used as `--project-id` and the data directory name (`data/<id>/`). | | `root` | `string` | yes | Absolute or relative path to the codebase. | | `githubUrl` | `string` | no | `https://github.com/owner/repo/blob/bran
  • Network accessline 77
    | `root` | `string` | yes | Absolute or relative path to the codebase. | | `githubUrl` | `string` | no | `https://github.com/owner/repo/blob/branch` — used in exports for clickable links. Auto-detected from `git remote` when omitted. | | `i
  • Network accessline 78
    | `githubUrl` | `string` | no | `https://github.com/owner/repo/blob/branch` — used in exports for clickable links. Auto-detected from `git remote` when omitted. |
  • Network accessline 167
    [Credential-related source omitted]
  • Access to secretsline 167
    [Credential-related source omitted]
  • Network accessline 168
    [Credential-related source omitted]
  • Access to secretsline 168
    [Credential-related source omitted]
  • Network accessline 169
    [Credential-related source omitted]
  • Access to secretsline 169
    [Credential-related source omitted]
  • Network accessline 175
    |---|---|---| | `OPENAI_API_KEY` | `--agent codex`, `--agent pi --model openai/...` | Codex SDK token or Pi OpenAI-provider token. Unset is fine if `AI_GATEWAY_API_KEY` is set. | | `OPENAI_BASE_URL` | `--agent codex` | Default (when `AI_GAT
  • Network accessline 176
    [Credential-related source omitted]
  • Access to secretsline 176
    [Credential-related source omitted]
  • Network accessline 177
    [Credential-related source omitted]
  • Access to secretsline 177
    [Credential-related source omitted]

docs/data-layout.md

  • Network accessline 30
    The schemas below are the source of truth for any tool that reads `data/` directly. They live in [`packages/core/src/types.ts`](https://github.com/vercel-labs/deepsec/blob/main/packages/core/src/types.ts).
  • Network accessline 32
    [`packages/core/src/types.ts`](https://github.com/vercel-labs/deepsec/blob/main/packages/core/src/types.ts).
  • Network accessline 41
    | `rootPath` | `string` | Absolute path to the codebase. Updated each scan with the most recent `--root`. | | `createdAt` | `string` (ISO) | Project init time. | | `githubUrl` | `string?` | `https://github.com/owner/repo/blob/branch` — used
  • Network accessline 43
    | `githubUrl` | `string?` | `https://github.com/owner/repo/blob/branch` — used for clickable links in exports. Auto-detected from `git remote` if not set. |

docs/faq.md

  • Access to secretsline 86
    [Credential-related source omitted]
  • Access to secretsline 88
    [Credential-related source omitted]
  • Network accessline 118
    [sb]: https://vercel.com/docs/sandbox
  • Network accessline 191
    See [SECURITY.md](https://github.com/vercel-labs/deepsec/blob/main/SECURITY.md). Don't open a public issue — use

docs/getting-started.md

  • Access to secretsline 107
    [Credential-related source omitted]
  • Access to secretsline 111
    [Credential-related source omitted]
  • Access to secretsline 139
    [Credential-related source omitted]

docs/models.md

  • Network accessline 16
    GPT-5.6 Sol, Claude Opus 5, Kimi K3, Grok 4.5, and the current DeepSeek entry. Deepsec fetches the latest score, reasoning level, harness, and total run cost from [DeepSecBench](https://vercel.com/ai-gateway/leaderboards/deepsecbench/result
  • Network accessline 17
    Deepsec fetches the latest score, reasoning level, harness, and total run cost from [DeepSecBench](https://vercel.com/ai-gateway/leaderboards/deepsecbench/results.json), then displays cost relative to the cheapest recommendation. A bundled 
  • Network accessline 18
    from [DeepSecBench](https://vercel.com/ai-gateway/leaderboards/deepsecbench/results.json),
  • Access to secretsline 56
    [Credential-related source omitted]
  • Access to secretsline 149
    [Credential-related source omitted]
  • Access to secretsline 159
    [Credential-related source omitted]
  • Network accessline 160
    [Credential-related source omitted]
  • Access to secretsline 160
    [Credential-related source omitted]
  • Network accessline 163
    --model-auth custom \   --ai-provider martian \   --ai-base-url https://api.withmartian.com/v1 \
  • Network accessline 164
    --ai-provider martian \   --ai-base-url https://api.withmartian.com/v1 \   --ai-api-key-env MARTIAN_API_KEY \
  • Network accessline 165
    --ai-base-url https://api.withmartian.com/v1 \
  • Access to secretsline 166
    [Credential-related source omitted]

docs/plugins.md

  • Network accessline 18
    The plugin contract lives in [`packages/core/src/plugin.ts`](https://github.com/vercel-labs/deepsec/blob/main/packages/core/src/plugin.ts):
  • Network accessline 19
    [`packages/core/src/plugin.ts`](https://github.com/vercel-labs/deepsec/blob/main/packages/core/src/plugin.ts):
  • Network accessline 107
    A complete inline-plugin example with two real matchers lives at [`samples/webapp/deepsec.config.ts`](https://github.com/vercel-labs/deepsec/blob/main/samples/webapp/deepsec.config.ts) and
  • Network accessline 108
    [`samples/webapp/deepsec.config.ts`](https://github.com/vercel-labs/deepsec/blob/main/samples/webapp/deepsec.config.ts) and
  • Network accessline 109
    [`samples/webapp/matchers/`](https://github.com/vercel-labs/deepsec/tree/main/samples/webapp/matchers/) — the same
  • Network accessline 210
    The Vercel-Sandbox path lives in [`packages/deepsec/src/sandbox/`](https://github.com/vercel-labs/deepsec/tree/main/packages/deepsec/src/sandbox); it's
  • Network accessline 211
    [`packages/deepsec/src/sandbox/`](https://github.com/vercel-labs/deepsec/tree/main/packages/deepsec/src/sandbox); it's

docs/reviewing-changes.md

  • Access to secretsline 136
    [Credential-related source omitted]
  • Network accessline 217
    deployment, swap each tag for the action's full commit SHA so a   compromised tag can't pivot into your secret-bearing job. See   [GitHub's hardening guide](https://docs.github.com/en/actions/security-guides/security-hardening-for-github-ac
  • Network accessline 218
    compromised tag can't pivot into your secret-bearing job. See   [GitHub's hardening guide](https://docs.github.com/en/actions/security-guides/security-hardening-for-github-actions). - **The AI gateway secret still flows through PR code.** E
  • Network accessline 219
    [GitHub's hardening guide](https://docs.github.com/en/actions/security-guides/security-hardening-for-github-actions).

docs/vercel-setup.md

  • Access to secretsline 61
    [Credential-related source omitted]
  • Access to secretsline 93
    [Credential-related source omitted]
  • Access to secretsline 112
    [Credential-related source omitted]
  • Access to secretsline 116
    [Credential-related source omitted]
  • Access to secretsline 122
    [Credential-related source omitted]
  • Access to secretsline 126
    [Credential-related source omitted]
  • Network accessline 145
    [Credential-related source omitted]
  • Access to secretsline 145
    [Credential-related source omitted]
  • Network accessline 149
    --ai-provider martian \   --ai-api-key-env MARTIAN_KEY \   --ai-base-url https://api.martian.example/v1 \
  • Network accessline 150
    [Credential-related source omitted]
  • Access to secretsline 150
    [Credential-related source omitted]
  • Network accessline 151
    --ai-base-url https://api.martian.example/v1 \
  • Access to secretsline 178
    [Credential-related source omitted]
  • Access to secretsline 181
    [Credential-related source omitted]
  • Network accessline 215
    References: [AI Gateway authentication](https://vercel.com/docs/ai-gateway/authentication-and-byok#quick-start), [Sandbox authentication](https://vercel.com/docs/vercel-sandbox/concepts/authentication).

e2e/bundle.test.ts

  • Executable scriptline 1
    Executable file

e2e/pipeline-sandbox.test.ts

  • Executable scriptline 1
    Executable file
  • Access to secretsline 61
    [Credential-related source omitted]
  • Access to secretsline 62
    [Credential-related source omitted]
  • Access to secretsline 251
    [Credential-related source omitted]
  • Access to secretsline 252
    [Credential-related source omitted]

e2e/pipeline.test.ts

  • Executable scriptline 1
    Executable file

e2e/scan.test.ts

  • Executable scriptline 1
    Executable file

e2e/vitest.config.ts

  • Executable scriptline 1
    Executable file

fixtures/vulnerable-app/package.json

  • Executable scriptline 1
    Executable file

fixtures/vulnerable-app/src/api/admin.ts

  • Executable scriptline 1
    Executable file

fixtures/vulnerable-app/src/api/upload.ts

  • Executable scriptline 1
    Executable file

fixtures/vulnerable-app/src/api/users.ts

  • Executable scriptline 1
    Executable file

fixtures/vulnerable-app/src/components/comment.tsx

  • Executable scriptline 1
    Executable file

fixtures/vulnerable-app/src/config.ts

  • Executable scriptline 1
    Executable file

fixtures/vulnerable-app/src/lib/crypto.ts

  • Executable scriptline 1
    Executable file

fixtures/vulnerable-app/src/lib/db.ts

  • Executable scriptline 1
    Executable file

fixtures/vulnerable-app/src/lib/fetch-proxy.ts

  • Executable scriptline 1
    Executable file
  • Network accessline 8
    const response = await fetch(`${target}/api/data`);
  • Network accessline 14
    const data = await req.json();   return fetch(req.body.endpoint);
  • Network accessline 15
    return fetch(req.body.endpoint);

fixtures/vulnerable-app/src/utils/exec-helper.ts

  • Executable scriptline 1
    Executable file
  • Dangerous shell operationline 8
    exec(`ls -la ${userInput}`, (err, stdout) => {
  • Dangerous shell operationline 22
    return eval(template);

fixtures/vulnerable-app/src/utils/redirect.ts

  • Executable scriptline 1
    Executable file

knip.json

  • Network accessline 1
    {   "$schema": "https://unpkg.com/knip@6/schema.json",
  • Network accessline 2
    "$schema": "https://unpkg.com/knip@6/schema.json",

package.json

  • Executable scriptline 1
    Executable file
  • Network accessline 12
    "repository": {     "type": "git",     "url": "https://github.com/vercel-labs/deepsec"
  • Network accessline 13
    "type": "git",     "url": "https://github.com/vercel-labs/deepsec"   },
  • Network accessline 14
    "url": "https://github.com/vercel-labs/deepsec"

packages/core/package.json

  • Executable scriptline 1
    Executable file

packages/core/src/__tests__/finding-id.test.ts

  • Executable scriptline 1
    Executable file

packages/core/src/__tests__/paths.test.ts

  • Executable scriptline 1
    Executable file

packages/core/src/__tests__/run.test.ts

  • Executable scriptline 1
    Executable file

packages/core/src/__tests__/schemas.test.ts

  • Executable scriptline 1
    Executable file

packages/core/src/__tests__/severity.test.ts

  • Executable scriptline 1
    Executable file

packages/core/src/__tests__/shutdown.test.ts

  • Executable scriptline 1
    Executable file

packages/core/src/config.ts

  • Executable scriptline 1
    Executable file
  • Network accessline 16
    /** Optional GitHub URL of the form `https://github.com/owner/repo/blob/branch`. */

packages/core/src/finding-id.ts

  • Executable scriptline 1
    Executable file

packages/core/src/index.ts

  • Executable scriptline 1
    Executable file

packages/core/src/paths.ts

  • Executable scriptline 1
    Executable file

packages/core/src/plugin.ts

  • Executable scriptline 1
    Executable file

packages/core/src/run.ts

  • Executable scriptline 1
    Executable file
  • Network accessline 52
    const https = remote.replace(/^git@github\.com:/, "https://github.com/").replace(/\.git$/, "");

packages/core/src/schemas.ts

  • Executable scriptline 1
    Executable file

packages/core/src/types.ts

  • Executable scriptline 1
    Executable file

packages/core/vitest.config.ts

  • Executable scriptline 1
    Executable file

packages/deepsec/build.mjs

  • Executable scriptline 1
    Executable file

packages/deepsec/package.json

  • Executable scriptline 1
    Executable file
  • Network accessline 6
    "repository": {     "type": "git",     "url": "https://github.com/vercel-labs/deepsec"
  • Network accessline 7
    "type": "git",     "url": "https://github.com/vercel-labs/deepsec"   },
  • Network accessline 8
    "url": "https://github.com/vercel-labs/deepsec"
  • Network accessline 9
    },   "homepage": "https://deepsec.sh",   "type": "module",
  • Network accessline 10
    "homepage": "https://deepsec.sh",

packages/deepsec/src/__tests__/agent-config.test.ts

  • Executable scriptline 1
    Executable file
  • Access to secretsline 12
    [Credential-related source omitted]
  • Access to secretsline 17
    [Credential-related source omitted]
  • Access to secretsline 25
    [Credential-related source omitted]
  • Network accessline 35
    mode: "custom",           provider: "acme",           baseUrl: "https://models.acme.test/v1",
  • Network accessline 36
    provider: "acme",           baseUrl: "https://models.acme.test/v1",           apiKeyEnv: "ACME_MODEL_KEY",
  • Network accessline 37
    baseUrl: "https://models.acme.test/v1",
  • Network accessline 42
    ).toMatchObject({       aiProvider: "acme",       aiBaseUrl: "https://models.acme.test/v1",
  • Network accessline 43
    aiProvider: "acme",       aiBaseUrl: "https://models.acme.test/v1",       aiApiKeyEnv: "ACME_MODEL_KEY",
  • Network accessline 44
    aiBaseUrl: "https://models.acme.test/v1",

packages/deepsec/src/__tests__/agent-defaults.test.ts

  • Executable scriptline 1
    Executable file

packages/deepsec/src/__tests__/credential-brokering.test.ts

  • Executable scriptline 1
    Executable file
  • Access to secretsline 5
    [Credential-related source omitted]
  • Access to secretsline 6
    [Credential-related source omitted]
  • Access to secretsline 8
    [Credential-related source omitted]
  • Access to secretsline 10
    [Credential-related source omitted]
  • Access to secretsline 32
    [Credential-related source omitted]
  • Access to secretsline 33
    [Credential-related source omitted]
  • Access to secretsline 40
    [Credential-related source omitted]
  • Access to secretsline 46
    [Credential-related source omitted]
  • Access to secretsline 51
    [Credential-related source omitted]
  • Access to secretsline 52
    [Credential-related source omitted]
  • Access to secretsline 53
    [Credential-related source omitted]
  • Access to secretsline 58
    [Credential-related source omitted]
  • Access to secretsline 59
    [Credential-related source omitted]
  • Access to secretsline 65
    [Credential-related source omitted]
  • Access to secretsline 66
    [Credential-related source omitted]
  • Access to secretsline 67
    [Credential-related source omitted]
  • Access to secretsline 81
    [Credential-related source omitted]
  • Access to secretsline 88
    [Credential-related source omitted]
  • Access to secretsline 92
    [Credential-related source omitted]
  • Access to secretsline 93
    [Credential-related source omitted]
  • Access to secretsline 96
    [Credential-related source omitted]
  • Access to secretsline 97
    [Credential-related source omitted]
  • Access to secretsline 98
    [Credential-related source omitted]
  • Network accessline 101
    [Credential-related source omitted]
  • Network accessline 102
    [Credential-related source omitted]
  • Access to secretsline 102
    [Credential-related source omitted]
  • Network accessline 103
    process.env.ANTHROPIC_BASE_URL = "https://ai-gateway.vercel.sh";
  • Access to secretsline 109
    [Credential-related source omitted]
  • Access to secretsline 110
    [Credential-related source omitted]
  • Network accessline 116
    [Credential-related source omitted]
  • Network accessline 117
    [Credential-related source omitted]
  • Access to secretsline 117
    [Credential-related source omitted]
  • Network accessline 118
    process.env.OPENAI_BASE_URL = "https://api.openai.com";
  • Access to secretsline 122
    [Credential-related source omitted]
  • Access to secretsline 123
    [Credential-related source omitted]
  • Access to secretsline 130
    [Credential-related source omitted]
  • Access to secretsline 134
    [Credential-related source omitted]
  • Network accessline 137
    [Credential-related source omitted]
  • Network accessline 138
    [Credential-related source omitted]
  • Access to secretsline 138
    [Credential-related source omitted]
  • Network accessline 139
    process.env.ANTHROPIC_BASE_URL = "https://ai-gateway.vercel.sh";
  • Network accessline 146
    expect(env.ANTHROPIC_UPSTREAM_BASE_URL).toBe("https://ai-gateway.vercel.sh");
  • Access to secretsline 151
    [Credential-related source omitted]
  • Access to secretsline 155
    [Credential-related source omitted]
  • Access to secretsline 156
    [Credential-related source omitted]
  • Access to secretsline 163
    [Credential-related source omitted]
  • Access to secretsline 164
    [Credential-related source omitted]
  • Network accessline 165
    const env = buildSandboxEnv("pi", credentials, {         aiApiKeyEnv: "MARTIAN_API_KEY",         aiBaseUrl: "https://api.withmartian.com/v1",
  • Network accessline 166
    [Credential-related source omitted]
  • Access to secretsline 166
    [Credential-related source omitted]
  • Network accessline 167
    aiBaseUrl: "https://api.withmartian.com/v1",
  • Network accessline 170
    [Credential-related source omitted]
  • Access to secretsline 170
    [Credential-related source omitted]
  • Network accessline 171
    [Credential-related source omitted]
  • Access to secretsline 171
    [Credential-related source omitted]
  • Network accessline 172
    expect(env.DEEPSEC_PI_AI_BASE_URL).toBe("https://api.withmartian.com/v1");

packages/deepsec/src/__tests__/ensure-connected-workspace.test.ts

  • Executable scriptline 1
    Executable file
  • Access to secretsline 5
    [Credential-related source omitted]
  • Access to secretsline 10
    [Credential-related source omitted]
  • Access to secretsline 12
    [Credential-related source omitted]
  • Access to secretsline 15
    [Credential-related source omitted]
  • Access to secretsline 29
    [Credential-related source omitted]
  • Access to secretsline 60
    [Credential-related source omitted]
  • Access to secretsline 87
    [Credential-related source omitted]

packages/deepsec/src/__tests__/env-file.test.ts

  • Executable scriptline 1
    Executable file

packages/deepsec/src/__tests__/file-sources.test.ts

  • Executable scriptline 1
    Executable file

packages/deepsec/src/__tests__/formatters.test.ts

  • Executable scriptline 1
    Executable file

packages/deepsec/src/__tests__/merge-records.test.ts

  • Executable scriptline 1
    Executable file

packages/deepsec/src/__tests__/metrics.test.ts

  • Executable scriptline 1
    Executable file

packages/deepsec/src/__tests__/model-picker.test.ts

  • Executable scriptline 1
    Executable file

packages/deepsec/src/__tests__/model-route.test.ts

  • Executable scriptline 1
    Executable file
  • Access to secretsline 15
    [Credential-related source omitted]
  • Access to secretsline 24
    [Credential-related source omitted]
  • Access to secretsline 27
    [Credential-related source omitted]
  • Access to secretsline 29
    [Credential-related source omitted]
  • Access to secretsline 38
    [Credential-related source omitted]
  • Network accessline 48
    provider: "martian",         apiKeyEnv: "MARTIAN_KEY",         baseUrl: "https://api.martian.example/v1",
  • Network accessline 49
    apiKeyEnv: "MARTIAN_KEY",         baseUrl: "https://api.martian.example/v1",         credentialHeader: { name: "X-Api-Key", scheme: "raw" },
  • Network accessline 50
    baseUrl: "https://api.martian.example/v1",
  • Access to secretsline 53
    [Credential-related source omitted]
  • Access to secretsline 65
    [Credential-related source omitted]
  • Access to secretsline 67
    [Credential-related source omitted]
  • Access to secretsline 68
    [Credential-related source omitted]
  • Network accessline 74
    [Credential-related source omitted]
  • Access to secretsline 74
    [Credential-related source omitted]
  • Network accessline 75
    [Credential-related source omitted]
  • Access to secretsline 75
    [Credential-related source omitted]
  • Network accessline 76
    ANTHROPIC_BASE_URL: "https://ai-gateway.vercel.sh",
  • Network accessline 82
    applyResolvedModelRoute(resolved, env);     expect(env.ANTHROPIC_AUTH_TOKEN).toBeUndefined();     expect(env.ANTHROPIC_BASE_URL).toBe("https://api.anthropic.com");
  • Network accessline 83
    [Credential-related source omitted]
  • Access to secretsline 83
    [Credential-related source omitted]
  • Network accessline 84
    expect(env.ANTHROPIC_BASE_URL).toBe("https://api.anthropic.com");
  • Network accessline 88
    [Credential-related source omitted]
  • Network accessline 89
    [Credential-related source omitted]
  • Access to secretsline 89
    [Credential-related source omitted]
  • Network accessline 90
    ANTHROPIC_BASE_URL: "http://127.0.0.1:8787",
  • Network accessline 91
    ANTHROPIC_UPSTREAM_BASE_URL: "https://ai-gateway.vercel.sh",
  • Network accessline 96
    );     applyResolvedModelRoute(resolved, env);     expect(env.ANTHROPIC_BASE_URL).toBe("http://127.0.0.1:8787");
  • Network accessline 97
    applyResolvedModelRoute(resolved, env);     expect(env.ANTHROPIC_BASE_URL).toBe("http://127.0.0.1:8787");     expect(env.ANTHROPIC_UPSTREAM_BASE_URL).toBe("https://ai-gateway.vercel.sh");
  • Network accessline 98
    expect(env.ANTHROPIC_BASE_URL).toBe("http://127.0.0.1:8787");
  • Network accessline 99
    expect(env.ANTHROPIC_UPSTREAM_BASE_URL).toBe("https://ai-gateway.vercel.sh");
  • Network accessline 107
    provider: "x",           apiKeyEnv: "X_KEY",           baseUrl: "http://provider.example",
  • Network accessline 108
    apiKeyEnv: "X_KEY",           baseUrl: "http://provider.example",           credentialHeader: { name: "Authorization", scheme: "bearer" },
  • Network accessline 109
    baseUrl: "http://provider.example",
  • Access to secretsline 112
    [Credential-related source omitted]

packages/deepsec/src/__tests__/network-policy.test.ts

  • Executable scriptline 1
    Executable file
  • Network accessline 44
    it("uses ANTHROPIC_UPSTREAM_BASE_URL host on the claude path", () => {     const policy = buildWorkerNetworkPolicy(       { ANTHROPIC_UPSTREAM_BASE_URL: "https://ai-gateway.vercel.sh" },
  • Network accessline 45
    const policy = buildWorkerNetworkPolicy(       { ANTHROPIC_UPSTREAM_BASE_URL: "https://ai-gateway.vercel.sh" },       "claude-agent-sdk",
  • Network accessline 46
    { ANTHROPIC_UPSTREAM_BASE_URL: "https://ai-gateway.vercel.sh" },
  • Network accessline 52
    it("uses OPENAI_BASE_URL host on the codex path", () => {     const policy = buildWorkerNetworkPolicy(       { OPENAI_BASE_URL: "https://ai-gateway.vercel.sh/v1" },
  • Network accessline 53
    const policy = buildWorkerNetworkPolicy(       { OPENAI_BASE_URL: "https://ai-gateway.vercel.sh/v1" },       "codex",
  • Network accessline 54
    { OPENAI_BASE_URL: "https://ai-gateway.vercel.sh/v1" },
  • Network accessline 61
    const policy = buildWorkerNetworkPolicy(       {         ANTHROPIC_UPSTREAM_BASE_URL: "https://api.anthropic.com",
  • Network accessline 62
    {         ANTHROPIC_UPSTREAM_BASE_URL: "https://api.anthropic.com",         OPENAI_BASE_URL: "https://api.openai.com",
  • Network accessline 63
    ANTHROPIC_UPSTREAM_BASE_URL: "https://api.anthropic.com",
  • Network accessline 64
    OPENAI_BASE_URL: "https://api.openai.com",
  • Network accessline 90
    it("merges extraAllowedHosts with the derived host", () => {     const policy = buildWorkerNetworkPolicy(       { ANTHROPIC_UPSTREAM_BASE_URL: "https://ai-gateway.vercel.sh" },
  • Network accessline 91
    const policy = buildWorkerNetworkPolicy(       { ANTHROPIC_UPSTREAM_BASE_URL: "https://ai-gateway.vercel.sh" },       "claude-agent-sdk",
  • Network accessline 92
    { ANTHROPIC_UPSTREAM_BASE_URL: "https://ai-gateway.vercel.sh" },
  • Network accessline 100
    it("dedupes when extras overlap with the derived host", () => {     const policy = buildWorkerNetworkPolicy(       { ANTHROPIC_UPSTREAM_BASE_URL: "https://api.anthropic.com" },
  • Network accessline 101
    const policy = buildWorkerNetworkPolicy(       { ANTHROPIC_UPSTREAM_BASE_URL: "https://api.anthropic.com" },       "claude-agent-sdk",
  • Network accessline 102
    { ANTHROPIC_UPSTREAM_BASE_URL: "https://api.anthropic.com" },
  • Network accessline 111
    it("injects Authorization on the claude AI host when a token is provided", () => {       const policy = buildWorkerNetworkPolicy(         { ANTHROPIC_UPSTREAM_BASE_URL: "https://ai-gateway.vercel.sh" },
  • Network accessline 112
    const policy = buildWorkerNetworkPolicy(         { ANTHROPIC_UPSTREAM_BASE_URL: "https://ai-gateway.vercel.sh" },         "claude-agent-sdk",
  • Network accessline 113
    { ANTHROPIC_UPSTREAM_BASE_URL: "https://ai-gateway.vercel.sh" },
  • Network accessline 120
    it("injects Authorization on the codex AI host when an OpenAI token is provided", () => {       const policy = buildWorkerNetworkPolicy(         { OPENAI_BASE_URL: "https://ai-gateway.vercel.sh/v1" },
  • Network accessline 121
    const policy = buildWorkerNetworkPolicy(         { OPENAI_BASE_URL: "https://ai-gateway.vercel.sh/v1" },         "codex",
  • Network accessline 122
    { OPENAI_BASE_URL: "https://ai-gateway.vercel.sh/v1" },
  • Network accessline 134
    it("uses the custom pi base URL host and custom token when provided", () => {       const policy = buildWorkerNetworkPolicy(         { DEEPSEC_PI_AI_BASE_URL: "https://api.withmartian.com/v1" },
  • Network accessline 135
    const policy = buildWorkerNetworkPolicy(         { DEEPSEC_PI_AI_BASE_URL: "https://api.withmartian.com/v1" },         "pi",
  • Network accessline 136
    { DEEPSEC_PI_AI_BASE_URL: "https://api.withmartian.com/v1" },
  • Access to secretsline 138
    [Credential-related source omitted]
  • Network accessline 144
    it("emits an attribution-only transform when no matching credential is provided", () => {       const policy = buildWorkerNetworkPolicy(         { ANTHROPIC_UPSTREAM_BASE_URL: "https://ai-gateway.vercel.sh" },
  • Network accessline 145
    const policy = buildWorkerNetworkPolicy(         { ANTHROPIC_UPSTREAM_BASE_URL: "https://ai-gateway.vercel.sh" },         "claude-agent-sdk",
  • Network accessline 146
    { ANTHROPIC_UPSTREAM_BASE_URL: "https://ai-gateway.vercel.sh" },
  • Network accessline 157
    it("emits no transform on direct-provider hosts without credentials", () => {       const policy = buildWorkerNetworkPolicy(         { ANTHROPIC_UPSTREAM_BASE_URL: "https://api.anthropic.com" },
  • Network accessline 158
    const policy = buildWorkerNetworkPolicy(         { ANTHROPIC_UPSTREAM_BASE_URL: "https://api.anthropic.com" },         "claude-agent-sdk",
  • Network accessline 159
    { ANTHROPIC_UPSTREAM_BASE_URL: "https://api.anthropic.com" },
  • Network accessline 169
    const policy = buildWorkerNetworkPolicy(         { OPENAI_BASE_URL: "https://api.openai.com" },
  • Network accessline 170
    { OPENAI_BASE_URL: "https://api.openai.com" },
  • Network accessline 177
    it("does not attach the transform to extra allowed hosts", () => {       const policy = buildWorkerNetworkPolicy(         { ANTHROPIC_UPSTREAM_BASE_URL: "https://ai-gateway.vercel.sh" },
  • Network accessline 178
    const policy = buildWorkerNetworkPolicy(         { ANTHROPIC_UPSTREAM_BASE_URL: "https://ai-gateway.vercel.sh" },         "claude-agent-sdk",
  • Network accessline 179
    { ANTHROPIC_UPSTREAM_BASE_URL: "https://ai-gateway.vercel.sh" },
  • Network accessline 194
    it("merges attribution headers into the brokered-token transform on the gateway host", () => {       const policy = buildWorkerNetworkPolicy(         { ANTHROPIC_UPSTREAM_BASE_URL: "https://ai-gateway.vercel.sh" },
  • Network accessline 195
    const policy = buildWorkerNetworkPolicy(         { ANTHROPIC_UPSTREAM_BASE_URL: "https://ai-gateway.vercel.sh" },         "claude-agent-sdk",
  • Network accessline 196
    { ANTHROPIC_UPSTREAM_BASE_URL: "https://ai-gateway.vercel.sh" },
  • Access to secretsline 210
    [Credential-related source omitted]
  • Network accessline 220
    it("sends no attribution headers to direct-provider hosts", () => {       const policy = buildWorkerNetworkPolicy(         { ANTHROPIC_UPSTREAM_BASE_URL: "https://api.anthropic.com" },
  • Network accessline 221
    const policy = buildWorkerNetworkPolicy(         { ANTHROPIC_UPSTREAM_BASE_URL: "https://api.anthropic.com" },         "claude-agent-sdk",
  • Network accessline 222
    { ANTHROPIC_UPSTREAM_BASE_URL: "https://api.anthropic.com" },

packages/deepsec/src/__tests__/output-cap.test.ts

  • Executable scriptline 1
    Executable file

packages/deepsec/src/__tests__/pr-comment.test.ts

  • Executable scriptline 1
    Executable file

packages/deepsec/src/__tests__/preflight.test.ts

  • Executable scriptline 1
    Executable file
  • Access to secretsline 16
    [Credential-related source omitted]
  • Access to secretsline 38
    [Credential-related source omitted]
  • Network accessline 41
    [Credential-related source omitted]
  • Network accessline 42
    [Credential-related source omitted]
  • Access to secretsline 42
    [Credential-related source omitted]
  • Network accessline 43
    OPENAI_BASE_URL: "https://api.openai.com/v1",
  • Access to secretsline 67
    [Credential-related source omitted]
  • Access to secretsline 69
    [Credential-related source omitted]
  • Access to secretsline 80
    [Credential-related source omitted]
  • Access to secretsline 81
    [Credential-related source omitted]
  • Access to secretsline 82
    [Credential-related source omitted]
  • Access to secretsline 83
    [Credential-related source omitted]
  • Access to secretsline 84
    [Credential-related source omitted]
  • Access to secretsline 90
    [Credential-related source omitted]
  • Access to secretsline 91
    [Credential-related source omitted]
  • Access to secretsline 92
    [Credential-related source omitted]
  • Access to secretsline 93
    [Credential-related source omitted]
  • Access to secretsline 94
    [Credential-related source omitted]
  • Access to secretsline 119
    [Credential-related source omitted]
  • Access to secretsline 120
    [Credential-related source omitted]
  • Access to secretsline 124
    [Credential-related source omitted]
  • Access to secretsline 125
    [Credential-related source omitted]
  • Access to secretsline 131
    [Credential-related source omitted]
  • Access to secretsline 132
    [Credential-related source omitted]
  • Access to secretsline 146
    [Credential-related source omitted]
  • Access to secretsline 150
    [Credential-related source omitted]
  • Access to secretsline 151
    [Credential-related source omitted]
  • Access to secretsline 156
    [Credential-related source omitted]
  • Access to secretsline 169
    [Credential-related source omitted]
  • Access to secretsline 175
    [Credential-related source omitted]
  • Access to secretsline 176
    [Credential-related source omitted]
  • Access to secretsline 181
    [Credential-related source omitted]
  • Access to secretsline 196
    [Credential-related source omitted]
  • Access to secretsline 198
    [Credential-related source omitted]
  • Access to secretsline 199
    [Credential-related source omitted]
  • Access to secretsline 203
    [Credential-related source omitted]
  • Access to secretsline 204
    [Credential-related source omitted]
  • Access to secretsline 209
    [Credential-related source omitted]
  • Access to secretsline 210
    [Credential-related source omitted]
  • Access to secretsline 222
    [Credential-related source omitted]
  • Access to secretsline 230
    [Credential-related source omitted]
  • Access to secretsline 231
    [Credential-related source omitted]
  • Access to secretsline 245
    [Credential-related source omitted]
  • Access to secretsline 250
    [Credential-related source omitted]
  • Access to secretsline 265
    [Credential-related source omitted]
  • Access to secretsline 274
    [Credential-related source omitted]
  • Access to secretsline 275
    [Credential-related source omitted]
  • Access to secretsline 276
    [Credential-related source omitted]
  • Access to secretsline 277
    [Credential-related source omitted]
  • Access to secretsline 291
    [Credential-related source omitted]
  • Access to secretsline 293
    [Credential-related source omitted]
  • Access to secretsline 294
    [Credential-related source omitted]
  • Access to secretsline 299
    [Credential-related source omitted]
  • Access to secretsline 300
    [Credential-related source omitted]
  • Network accessline 302
    [Credential-related source omitted]
  • Access to secretsline 302
    [Credential-related source omitted]
  • Network accessline 303
    [Credential-related source omitted]
  • Access to secretsline 303
    [Credential-related source omitted]
  • Network accessline 304
    expect(process.env.ANTHROPIC_BASE_URL).toBe("https://ai-gateway.vercel.sh");
  • Network accessline 305
    expect(process.env.OPENAI_BASE_URL).toBe("https://ai-gateway.vercel.sh/v1");
  • Access to secretsline 308
    [Credential-related source omitted]
  • Access to secretsline 309
    [Credential-related source omitted]
  • Access to secretsline 310
    [Credential-related source omitted]
  • Access to secretsline 312
    [Credential-related source omitted]
  • Access to secretsline 313
    [Credential-related source omitted]
  • Network accessline 316
    [Credential-related source omitted]
  • Network accessline 317
    [Credential-related source omitted]
  • Access to secretsline 317
    [Credential-related source omitted]
  • Network accessline 318
    process.env.ANTHROPIC_BASE_URL = "https://api.anthropic.com";
  • Network accessline 319
    await applyAiGatewayDefaults();     expect(process.env.ANTHROPIC_BASE_URL).toBe("https://api.anthropic.com");     expect(process.env.OPENAI_BASE_URL).toBe("https://ai-gateway.vercel.sh/v1");
  • Network accessline 320
    expect(process.env.ANTHROPIC_BASE_URL).toBe("https://api.anthropic.com");
  • Network accessline 321
    expect(process.env.OPENAI_BASE_URL).toBe("https://ai-gateway.vercel.sh/v1");
  • Access to secretsline 324
    [Credential-related source omitted]
  • Access to secretsline 325
    [Credential-related source omitted]
  • Access to secretsline 327
    [Credential-related source omitted]
  • Network accessline 328
    [Credential-related source omitted]
  • Access to secretsline 328
    [Credential-related source omitted]
  • Network accessline 329
    [Credential-related source omitted]
  • Access to secretsline 329
    [Credential-related source omitted]
  • Network accessline 330
    expect(process.env.ANTHROPIC_BASE_URL).toBe("https://ai-gateway.vercel.sh");
  • Network accessline 331
    expect(process.env.OPENAI_BASE_URL).toBe("https://ai-gateway.vercel.sh/v1");
  • Access to secretsline 337
    [Credential-related source omitted]
  • Access to secretsline 347
    [Credential-related source omitted]
  • Access to secretsline 348
    [Credential-related source omitted]
  • Access to secretsline 353
    [Credential-related source omitted]
  • Access to secretsline 354
    [Credential-related source omitted]
  • Access to secretsline 355
    [Credential-related source omitted]
  • Access to secretsline 357
    [Credential-related source omitted]
  • Access to secretsline 358
    [Credential-related source omitted]
  • Access to secretsline 359
    [Credential-related source omitted]
  • Access to secretsline 363
    [Credential-related source omitted]
  • Access to secretsline 369
    [Credential-related source omitted]
  • Access to secretsline 370
    [Credential-related source omitted]
  • Access to secretsline 371
    [Credential-related source omitted]
  • Access to secretsline 372
    [Credential-related source omitted]
  • Access to secretsline 378
    [Credential-related source omitted]
  • Network accessline 379
    [Credential-related source omitted]
  • Access to secretsline 380
    [Credential-related source omitted]
  • Network accessline 381
    process.env.ANTHROPIC_BASE_URL = "https://api.anthropic.com";
  • Network accessline 385
    [Credential-related source omitted]
  • Access to secretsline 385
    [Credential-related source omitted]
  • Network accessline 386
    expect(process.env.ANTHROPIC_BASE_URL).toBe("https://api.anthropic.com");
  • Access to secretsline 387
    [Credential-related source omitted]
  • Access to secretsline 388
    [Credential-related source omitted]
  • Access to secretsline 393
    [Credential-related source omitted]
  • Access to secretsline 399
    [Credential-related source omitted]
  • Network accessline 400
    [Credential-related source omitted]
  • Access to secretsline 400
    [Credential-related source omitted]
  • Network accessline 401
    [Credential-related source omitted]
  • Access to secretsline 401
    [Credential-related source omitted]
  • Network accessline 402
    expect(process.env.ANTHROPIC_BASE_URL).toBe("https://ai-gateway.vercel.sh");
  • Network accessline 403
    expect(process.env.OPENAI_BASE_URL).toBe("https://ai-gateway.vercel.sh/v1");
  • Access to secretsline 407
    [Credential-related source omitted]
  • Access to secretsline 413
    [Credential-related source omitted]
  • Access to secretsline 414
    [Credential-related source omitted]

packages/deepsec/src/__tests__/resolve-agent-type.test.ts

  • Executable scriptline 1
    Executable file

packages/deepsec/src/__tests__/resolve-project-id.test.ts

  • Executable scriptline 1
    Executable file

packages/deepsec/src/__tests__/sandbox-tools.test.ts

  • Executable scriptline 1
    Executable file

packages/deepsec/src/__tests__/setup-coordinator.test.ts

  • Executable scriptline 1
    Executable file
  • Access to secretsline 38
    [Credential-related source omitted]
  • Access to secretsline 39
    [Credential-related source omitted]
  • Access to secretsline 40
    [Credential-related source omitted]
  • Access to secretsline 48
    [Credential-related source omitted]
  • Access to secretsline 64
    [Credential-related source omitted]
  • Access to secretsline 65
    [Credential-related source omitted]
  • Access to secretsline 66
    [Credential-related source omitted]

packages/deepsec/src/__tests__/setup-coverage.test.ts

  • Executable scriptline 1
    Executable file

packages/deepsec/src/__tests__/setup-fingerprint.test.ts

  • Executable scriptline 1
    Executable file

packages/deepsec/src/__tests__/setup-generated-matchers.test.ts

  • Executable scriptline 1
    Executable file

packages/deepsec/src/__tests__/setup-install.test.ts

  • Executable scriptline 1
    Executable file

packages/deepsec/src/__tests__/setup-interaction.test.ts

  • Executable scriptline 1
    Executable file

packages/deepsec/src/__tests__/setup-lock.test.ts

  • Executable scriptline 1
    Executable file

packages/deepsec/src/__tests__/setup-options.test.ts

  • Executable scriptline 1
    Executable file
  • Network accessline 35
    aiProvider: "acme",         aiApiKeyEnv: "ACME_KEY",         aiBaseUrl: "https://models.example.test/v1",
  • Network accessline 36
    [Credential-related source omitted]
  • Network accessline 37
    aiBaseUrl: "https://models.example.test/v1",
  • Network accessline 42
    provider: "acme",       apiKeyEnv: "ACME_KEY",       baseUrl: "https://models.example.test/v1",
  • Network accessline 43
    apiKeyEnv: "ACME_KEY",       baseUrl: "https://models.example.test/v1",       credentialHeader: { name: "x-api-key", scheme: "raw" },
  • Network accessline 44
    baseUrl: "https://models.example.test/v1",
  • Network accessline 52
    aiProvider: "acme",       aiApiKeyEnv: "ACME_KEY",       aiBaseUrl: "https://models.example.test/v1",
  • Network accessline 53
    aiApiKeyEnv: "ACME_KEY",       aiBaseUrl: "https://models.example.test/v1",     };
  • Network accessline 54
    aiBaseUrl: "https://models.example.test/v1",

packages/deepsec/src/__tests__/setup-output.test.ts

  • Executable scriptline 1
    Executable file

packages/deepsec/src/__tests__/setup-persisted-route.test.ts

  • Executable scriptline 1
    Executable file

packages/deepsec/src/__tests__/setup-plan.test.ts

  • Executable scriptline 1
    Executable file

packages/deepsec/src/__tests__/setup-project-name.test.ts

  • Executable scriptline 1
    Executable file

packages/deepsec/src/__tests__/setup-protocol.test.ts

  • Executable scriptline 1
    Executable file

packages/deepsec/src/__tests__/setup-reporter.test.ts

  • Executable scriptline 1
    Executable file
  • Access to secretsline 18
    [Credential-related source omitted]
  • Network accessline 36
    const redact = createSetupRedactor({});     const value = redact(       "Bearer abcdefghijklmnop eyJhbGciOiJIUzI1NiJ9.cGF5bG9hZA.c2ln https://user:password@example.com/path",
  • Network accessline 37
    const value = redact(       "Bearer abcdefghijklmnop eyJhbGciOiJIUzI1NiJ9.cGF5bG9hZA.c2ln https://user:password@example.com/path",     );
  • Network accessline 38
    "Bearer abcdefghijklmnop eyJhbGciOiJIUzI1NiJ9.cGF5bG9hZA.c2ln https://user:password@example.com/path",
  • Access to secretsline 52
    [Credential-related source omitted]

packages/deepsec/src/__tests__/setup-repository-analysis.test.ts

  • Executable scriptline 1
    Executable file

packages/deepsec/src/__tests__/setup-state.test.ts

  • Executable scriptline 1
    Executable file

packages/deepsec/src/__tests__/setup-tui.test.ts

  • Executable scriptline 1
    Executable file

packages/deepsec/src/__tests__/setup-workspace-config.test.ts

  • Executable scriptline 1
    Executable file

packages/deepsec/src/__tests__/tarball.test.ts

  • Executable scriptline 1
    Executable file

packages/deepsec/src/__tests__/vercel-link.test.ts

  • Executable scriptline 1
    Executable file
  • Access to secretsline 28
    [Credential-related source omitted]
  • Access to secretsline 41
    [Credential-related source omitted]
  • Access to secretsline 52
    [Credential-related source omitted]
  • Access to secretsline 166
    [Credential-related source omitted]
  • Access to secretsline 221
    [Credential-related source omitted]
  • Access to secretsline 234
    [Credential-related source omitted]

packages/deepsec/src/agent-config.ts

  • Executable scriptline 1
    Executable file

packages/deepsec/src/agent-defaults.ts

  • Executable scriptline 1
    Executable file

packages/deepsec/src/atomic-file.ts

  • Executable scriptline 1
    Executable file

packages/deepsec/src/auth/ensure-connected-workspace.ts

  • Executable scriptline 1
    Executable file
  • Access to secretsline 113
    [Credential-related source omitted]
  • Access to secretsline 142
    [Credential-related source omitted]
  • Access to secretsline 148
    [Credential-related source omitted]
  • Access to secretsline 149
    [Credential-related source omitted]

packages/deepsec/src/auth/model-picker.ts

  • Executable scriptline 1
    Executable file
  • Network accessline 6
    export const DEEPSEC_BENCHMARK_URL =   "https://vercel.com/ai-gateway/leaderboards/deepsecbench/results.json";
  • Network accessline 7
    "https://vercel.com/ai-gateway/leaderboards/deepsecbench/results.json";

packages/deepsec/src/auth/model-route-prompt.ts

  • Executable scriptline 1
    Executable file
  • Access to secretsline 22
    [Credential-related source omitted]

packages/deepsec/src/auth/model-route.ts

  • Executable scriptline 1
    Executable file
  • Network accessline 43
    anthropic: {     env: "ANTHROPIC_API_KEY",     baseUrl: "https://api.anthropic.com",
  • Network accessline 44
    [Credential-related source omitted]
  • Access to secretsline 44
    [Credential-related source omitted]
  • Network accessline 45
    baseUrl: "https://api.anthropic.com",
  • Network accessline 47
    openai: {     env: "OPENAI_API_KEY",     baseUrl: "https://api.openai.com/v1",
  • Network accessline 48
    [Credential-related source omitted]
  • Access to secretsline 48
    [Credential-related source omitted]
  • Network accessline 49
    baseUrl: "https://api.openai.com/v1",
  • Access to secretsline 114
    [Credential-related source omitted]
  • Access to secretsline 116
    [Credential-related source omitted]
  • Access to secretsline 125
    [Credential-related source omitted]
  • Network accessline 131
    [Credential-related source omitted]
  • Access to secretsline 131
    [Credential-related source omitted]
  • Network accessline 132
    [Credential-related source omitted]
  • Network accessline 133
    [Credential-related source omitted]
  • Access to secretsline 133
    [Credential-related source omitted]
  • Network accessline 136
    [Credential-related source omitted]
  • Network accessline 137
    [Credential-related source omitted]
  • Access to secretsline 137
    [Credential-related source omitted]
  • Network accessline 138
    ANTHROPIC_BASE_URL: "https://ai-gateway.vercel.sh",
  • Access to secretsline 168
    [Credential-related source omitted]
  • Access to secretsline 169
    [Credential-related source omitted]
  • Access to secretsline 226
    [Credential-related source omitted]
  • Network accessline 239
    function modelsEndpoint(route: ResolvedModelRoute): URL {   if (route.route.mode === "gateway") return new URL("https://ai-gateway.vercel.sh/v1/models");
  • Network accessline 240
    if (route.route.mode === "gateway") return new URL("https://ai-gateway.vercel.sh/v1/models");

packages/deepsec/src/auth/vercel-link.ts

  • Executable scriptline 1
    Executable file
  • Access to secretsline 289
    [Credential-related source omitted]
  • Access to secretsline 294
    [Credential-related source omitted]
  • Access to secretsline 309
    [Credential-related source omitted]
  • Access to secretsline 322
    [Credential-related source omitted]
  • Access to secretsline 487
    [Credential-related source omitted]

packages/deepsec/src/cli.ts

  • Executable scriptline 1
    Executable file
  • Access to secretsline 4
    [Credential-related source omitted]
  • Network accessline 82
    See \`deepsec init --help\` and the docs at:     https://github.com/vercel/deepsec`,
  • Network accessline 83
    https://github.com/vercel/deepsec`,
  • Access to secretsline 143
    [Credential-related source omitted]
  • Access to secretsline 230
    [Credential-related source omitted]
  • Access to secretsline 582
    [Credential-related source omitted]

packages/deepsec/src/commands/enrich.ts

  • Executable scriptline 1
    Executable file

packages/deepsec/src/commands/export.ts

  • Executable scriptline 1
    Executable file
  • Network accessline 157
    ...owners.oncall.slice(0, 3).map((o) => {           const gh = o.github_username             ? ` • [@${o.github_username}](https://github.com/${o.github_username})`
  • Network accessline 158
    const gh = o.github_username             ? ` • [@${o.github_username}](https://github.com/${o.github_username})`             : "";
  • Network accessline 159
    ? ` • [@${o.github_username}](https://github.com/${o.github_username})`

packages/deepsec/src/commands/init-project.ts

  • Executable scriptline 1
    Executable file

packages/deepsec/src/commands/init.ts

  • Executable scriptline 1
    Executable file
  • Access to secretsline 365
    [Credential-related source omitted]
  • Network accessline 516
    This directory holds the [deepsec](https://www.npmjs.com/package/deepsec)
  • Network accessline 589
    Or browse on [GitHub](https://github.com/vercel/deepsec/tree/main/docs).
  • Network accessline 590
    [GitHub](https://github.com/vercel/deepsec/tree/main/docs).

packages/deepsec/src/commands/metrics.ts

  • Executable scriptline 1
    Executable file

packages/deepsec/src/commands/process.ts

  • Executable scriptline 1
    Executable file

packages/deepsec/src/commands/report.ts

  • Executable scriptline 1
    Executable file

packages/deepsec/src/commands/revalidate.ts

  • Executable scriptline 1
    Executable file

packages/deepsec/src/commands/sandbox-all.ts

  • Executable scriptline 1
    Executable file

packages/deepsec/src/commands/sandbox-process.ts

  • Executable scriptline 1
    Executable file

packages/deepsec/src/commands/scan.ts

  • Executable scriptline 1
    Executable file

packages/deepsec/src/commands/setup.ts

  • Executable scriptline 1
    Executable file

packages/deepsec/src/commands/status.ts

  • Executable scriptline 1
    Executable file

packages/deepsec/src/commands/triage.ts

  • Executable scriptline 1
    Executable file

packages/deepsec/src/config.ts

  • Executable scriptline 1
    Executable file

packages/deepsec/src/data-commit.ts

  • Executable scriptline 1
    Executable file

packages/deepsec/src/env-file.ts

  • Executable scriptline 1
    Executable file

packages/deepsec/src/file-sources.ts

  • Executable scriptline 1
    Executable file

packages/deepsec/src/formatters.ts

  • Executable scriptline 1
    Executable file
  • Dangerous shell operationline 35
    const rm = m % 60;

packages/deepsec/src/load-config.ts

  • Executable scriptline 1
    Executable file

packages/deepsec/src/output-cap.ts

  • Executable scriptline 1
    Executable file

packages/deepsec/src/pr-comment.ts

  • Executable scriptline 1
    Executable file
  • Network accessline 127
    lines.push("<sub>🤖 generated by [deepsec](https://github.com/vercel/deepsec)</sub>");

packages/deepsec/src/preflight.ts

  • Executable scriptline 1
    Executable file
  • Network accessline 29
    const SETUP_DOC_URL = "https://github.com/vercel-labs/deepsec/blob/main/docs/vercel-setup.md";
  • Network accessline 33
    const GATEWAY_ANTHROPIC_BASE_URL = "https://ai-gateway.vercel.sh";
  • Network accessline 34
    const GATEWAY_OPENAI_BASE_URL = "https://ai-gateway.vercel.sh/v1";
  • Access to secretsline 54
    [Credential-related source omitted]
  • Access to secretsline 56
    [Credential-related source omitted]
  • Access to secretsline 57
    [Credential-related source omitted]
  • Access to secretsline 60
    [Credential-related source omitted]
  • Network accessline 70
    *  * Existing values always win — this only fills in what's missing, so a  * user who has set, say, `ANTHROPIC_BASE_URL=https://api.anthropic.com`
  • Network accessline 71
    * Existing values always win — this only fills in what's missing, so a  * user who has set, say, `ANTHROPIC_BASE_URL=https://api.anthropic.com`  * for direct-to-provider access doesn't get silently rerouted.
  • Network accessline 72
    * user who has set, say, `ANTHROPIC_BASE_URL=https://api.anthropic.com`
  • Access to secretsline 82
    [Credential-related source omitted]
  • Access to secretsline 87
    [Credential-related source omitted]
  • Access to secretsline 95
    [Credential-related source omitted]
  • Access to secretsline 97
    [Credential-related source omitted]
  • Access to secretsline 98
    [Credential-related source omitted]
  • Access to secretsline 158
    [Credential-related source omitted]
  • Access to secretsline 176
    [Credential-related source omitted]
  • Access to secretsline 201
    [Credential-related source omitted]
  • Access to secretsline 244
    [Credential-related source omitted]
  • Access to secretsline 261
    [Credential-related source omitted]
  • Access to secretsline 266
    [Credential-related source omitted]
  • Access to secretsline 267
    [Credential-related source omitted]
  • Access to secretsline 268
    [Credential-related source omitted]
  • Access to secretsline 269
    [Credential-related source omitted]
  • Access to secretsline 273
    [Credential-related source omitted]
  • Access to secretsline 279
    [Credential-related source omitted]
  • Access to secretsline 281
    [Credential-related source omitted]
  • Access to secretsline 282
    [Credential-related source omitted]
  • Access to secretsline 288
    [Credential-related source omitted]
  • Access to secretsline 295
    [Credential-related source omitted]
  • Access to secretsline 309
    [Credential-related source omitted]
  • Access to secretsline 321
    [Credential-related source omitted]
  • Access to secretsline 329
    [Credential-related source omitted]
  • Access to secretsline 334
    [Credential-related source omitted]
  • Access to secretsline 337
    [Credential-related source omitted]

packages/deepsec/src/quota-message.ts

  • Executable scriptline 1
    Executable file
  • Network accessline 23
    const SETUP_DOC_URL = "https://github.com/vercel-labs/deepsec/blob/main/docs/vercel-setup.md";
  • Network accessline 30
    const AI_GATEWAY_TOPUP_URL = "https://vercel.com/d?to=%2F%5Bteam%5D%2F%7E%2Fai%3Fmodal%3Dtop-up";
  • Network accessline 33
    const AI_GATEWAY_TOPUP_DOC_URL =   "https://vercel.com/docs/ai-gateway/pricing#top-up-your-ai-gateway-credits";
  • Network accessline 34
    "https://vercel.com/docs/ai-gateway/pricing#top-up-your-ai-gateway-credits";
  • Access to secretsline 97
    [Credential-related source omitted]

packages/deepsec/src/require-dir.ts

  • Executable scriptline 1
    Executable file

packages/deepsec/src/resolve-agent-type.ts

  • Executable scriptline 1
    Executable file

packages/deepsec/src/resolve-project-id.ts

  • Executable scriptline 1
    Executable file

packages/deepsec/src/sandbox/download.ts

  • Executable scriptline 1
    Executable file

packages/deepsec/src/sandbox/merge-records.ts

  • Executable scriptline 1
    Executable file

packages/deepsec/src/sandbox/orchestrator.ts

  • Executable scriptline 1
    Executable file

packages/deepsec/src/sandbox/partitioner.ts

  • Executable scriptline 1
    Executable file

packages/deepsec/src/sandbox/request-proxy.mjs

  • Executable scriptline 1
    #!/usr/bin/env node
  • Network accessline 13
    // // The Claude Agent SDK / Codex CLI talks to us via ANTHROPIC_BASE_URL or // OPENAI_BASE_URL set to http://127.0.0.1:PROXY_PORT (or .../v1 for OpenAI).
  • Network accessline 14
    // The Claude Agent SDK / Codex CLI talks to us via ANTHROPIC_BASE_URL or // OPENAI_BASE_URL set to http://127.0.0.1:PROXY_PORT (or .../v1 for OpenAI). //
  • Network accessline 15
    // OPENAI_BASE_URL set to http://127.0.0.1:PROXY_PORT (or .../v1 for OpenAI).
  • Network accessline 80
    const url = UPSTREAM + req.url;     const up = await fetch(url, {
  • Network accessline 81
    const up = await fetch(url, {

packages/deepsec/src/sandbox/setup.ts

  • Executable scriptline 1
    Executable file
  • Access to secretsline 42
    [Credential-related source omitted]
  • Access to secretsline 85
    [Credential-related source omitted]
  • Access to secretsline 95
    [Credential-related source omitted]
  • Access to secretsline 96
    [Credential-related source omitted]
  • Access to secretsline 97
    [Credential-related source omitted]
  • Network accessline 109
    const PROXY_PORT = 8787; const PROXY_URL = `http://127.0.0.1:${PROXY_PORT}`;
  • Network accessline 110
    const PROXY_URL = `http://127.0.0.1:${PROXY_PORT}`;
  • Access to secretsline 137
    [Credential-related source omitted]
  • Access to secretsline 139
    [Credential-related source omitted]
  • Access to secretsline 140
    [Credential-related source omitted]
  • Access to secretsline 149
    [Credential-related source omitted]
  • Access to secretsline 152
    [Credential-related source omitted]
  • Access to secretsline 156
    [Credential-related source omitted]
  • Access to secretsline 316
    [Credential-related source omitted]
  • Access to secretsline 320
    [Credential-related source omitted]
  • Network accessline 530
    const script = ` for i in $(seq 1 50); do   if (echo > /dev/tcp/127.0.0.1/${PROXY_PORT}) 2>/dev/null; then
  • Network accessline 531
    for i in $(seq 1 50); do   if (echo > /dev/tcp/127.0.0.1/${PROXY_PORT}) 2>/dev/null; then     echo "proxy ready after \${i} attempts"
  • Dangerous shell operationline 532
    if (echo > /dev/tcp/127.0.0.1/${PROXY_PORT}) 2>/dev/null; then
  • Network accessline 532
    if (echo > /dev/tcp/127.0.0.1/${PROXY_PORT}) 2>/dev/null; then
  • Dangerous shell operationline 596
    rm -rf /tmp/claude-native-fetch && mkdir -p /tmp/claude-native-fetch
  • Access to secretsline 608
    [Credential-related source omitted]
  • Access to secretsline 609
    [Credential-related source omitted]
  • Access to secretsline 610
    [Credential-related source omitted]
  • Access to secretsline 611
    [Credential-related source omitted]
  • Dangerous shell operationline 615
    rm -rf /tmp/claude-native-fetch
  • Network accessline 684
    esac   local rel="10.3.0"   local url="https://github.com/sharkdp/fd/releases/download/v\${rel}/fd-v\${rel}-\${arch}.tar.gz"
  • Network accessline 685
    local rel="10.3.0"   local url="https://github.com/sharkdp/fd/releases/download/v\${rel}/fd-v\${rel}-\${arch}.tar.gz"   log "Downloading fd \${rel} (\${arch}) from GitHub..."
  • Network accessline 686
    local url="https://github.com/sharkdp/fd/releases/download/v\${rel}/fd-v\${rel}-\${arch}.tar.gz"
  • Network accessline 687
    log "Downloading fd \${rel} (\${arch}) from GitHub..."   rm -rf /tmp/fd-fetch && mkdir -p /tmp/fd-fetch && cd /tmp/fd-fetch   if ! curl -fsSL --retry 3 -o fd.tar.gz "\${url}"; then
  • Dangerous shell operationline 688
    rm -rf /tmp/fd-fetch && mkdir -p /tmp/fd-fetch && cd /tmp/fd-fetch
  • Network accessline 688
    rm -rf /tmp/fd-fetch && mkdir -p /tmp/fd-fetch && cd /tmp/fd-fetch   if ! curl -fsSL --retry 3 -o fd.tar.gz "\${url}"; then     log "WARN: fd download failed: \${url}"
  • Network accessline 689
    if ! curl -fsSL --retry 3 -o fd.tar.gz "\${url}"; then
  • Dangerous shell operationline 701
    cd / && rm -rf /tmp/fd-fetch
  • Network accessline 714
    esac   local rel="14.1.1"   local url="https://github.com/BurntSushi/ripgrep/releases/download/\${rel}/ripgrep-\${rel}-\${arch}.tar.gz"
  • Network accessline 715
    local rel="14.1.1"   local url="https://github.com/BurntSushi/ripgrep/releases/download/\${rel}/ripgrep-\${rel}-\${arch}.tar.gz"   log "Downloading ripgrep \${rel} (\${arch}) from GitHub..."
  • Network accessline 716
    local url="https://github.com/BurntSushi/ripgrep/releases/download/\${rel}/ripgrep-\${rel}-\${arch}.tar.gz"
  • Network accessline 717
    log "Downloading ripgrep \${rel} (\${arch}) from GitHub..."   rm -rf /tmp/rg-fetch && mkdir -p /tmp/rg-fetch && cd /tmp/rg-fetch   if ! curl -fsSL --retry 3 -o rg.tar.gz "\${url}"; then
  • Dangerous shell operationline 718
    rm -rf /tmp/rg-fetch && mkdir -p /tmp/rg-fetch && cd /tmp/rg-fetch
  • Network accessline 718
    rm -rf /tmp/rg-fetch && mkdir -p /tmp/rg-fetch && cd /tmp/rg-fetch   if ! curl -fsSL --retry 3 -o rg.tar.gz "\${url}"; then     log "WARN: ripgrep download failed: \${url}"
  • Network accessline 719
    if ! curl -fsSL --retry 3 -o rg.tar.gz "\${url}"; then
  • Dangerous shell operationline 731
    cd / && rm -rf /tmp/rg-fetch
  • Access to secretsline 872
    [Credential-related source omitted]
  • Dangerous shell operationline 875
    rm -rf /tmp/codex-native-fetch && mkdir -p /tmp/codex-native-fetch
  • Access to secretsline 898
    [Credential-related source omitted]
  • Dangerous shell operationline 899
    [Credential-related source omitted]
  • Access to secretsline 899
    [Credential-related source omitted]
  • Access to secretsline 900
    [Credential-related source omitted]
  • Access to secretsline 901
    [Credential-related source omitted]
  • Access to secretsline 902
    [Credential-related source omitted]
  • Access to secretsline 903
    [Credential-related source omitted]
  • Access to secretsline 915
    [Credential-related source omitted]
  • Dangerous shell operationline 918
    rm -rf /tmp/codex-native-fetch

packages/deepsec/src/sandbox/shutdown.ts

  • Executable scriptline 1
    Executable file

packages/deepsec/src/sandbox/state.ts

  • Executable scriptline 1
    Executable file

packages/deepsec/src/sandbox/types.ts

  • Executable scriptline 1
    Executable file

packages/deepsec/src/sandbox/upload.ts

  • Executable scriptline 1
    Executable file

packages/deepsec/src/setup/coordinator.ts

  • Executable scriptline 1
    Executable file

packages/deepsec/src/setup/coverage.ts

  • Executable scriptline 1
    Executable file

packages/deepsec/src/setup/fingerprint.ts

  • Executable scriptline 1
    Executable file

packages/deepsec/src/setup/generated-matchers.ts

  • Executable scriptline 1
    Executable file

packages/deepsec/src/setup/install.ts

  • Executable scriptline 1
    Executable file

packages/deepsec/src/setup/interaction.ts

  • Executable scriptline 1
    Executable file

packages/deepsec/src/setup/lock.ts

  • Executable scriptline 1
    Executable file

packages/deepsec/src/setup/options.ts

  • Executable scriptline 1
    Executable file

packages/deepsec/src/setup/output.ts

  • Executable scriptline 1
    Executable file

packages/deepsec/src/setup/persisted-route.ts

  • Executable scriptline 1
    Executable file

packages/deepsec/src/setup/plan.ts

  • Executable scriptline 1
    Executable file
  • Access to secretsline 83
    [Credential-related source omitted]
  • Access to secretsline 87
    [Credential-related source omitted]
  • Access to secretsline 160
    [Credential-related source omitted]
  • Access to secretsline 161
    [Credential-related source omitted]

packages/deepsec/src/setup/project-name.ts

  • Executable scriptline 1
    Executable file

packages/deepsec/src/setup/protocol.ts

  • Executable scriptline 1
    Executable file

packages/deepsec/src/setup/reporter.ts

  • Executable scriptline 1
    Executable file
  • Access to secretsline 71
    [Credential-related source omitted]

packages/deepsec/src/setup/repository-analysis.ts

  • Executable scriptline 1
    Executable file

packages/deepsec/src/setup/state.ts

  • Executable scriptline 1
    Executable file

packages/deepsec/src/setup/status.ts

  • Executable scriptline 1
    Executable file

packages/deepsec/src/setup/tui.tsx

  • Executable scriptline 1
    Executable file

packages/deepsec/src/setup/workspace-config.ts

  • Executable scriptline 1
    Executable file

packages/deepsec/src/version.ts

  • Executable scriptline 1
    Executable file

packages/deepsec/vitest.config.ts

  • Executable scriptline 1
    Executable file

packages/processor/package.json

  • Executable scriptline 1
    Executable file

packages/processor/src/__tests__/attribution.test.ts

  • Executable scriptline 1
    Executable file
  • Access to secretsline 10
    [Credential-related source omitted]
  • Access to secretsline 11
    [Credential-related source omitted]
  • Network accessline 29
    describe("buildClaudeEnv attribution", () => {   it("sets ANTHROPIC_CUSTOM_HEADERS when the base URL is the gateway", () => {     process.env.ANTHROPIC_BASE_URL = "https://ai-gateway.vercel.sh";
  • Network accessline 30
    [Credential-related source omitted]
  • Network accessline 31
    process.env.ANTHROPIC_BASE_URL = "https://ai-gateway.vercel.sh";
  • Network accessline 32
    [Credential-related source omitted]
  • Access to secretsline 32
    [Credential-related source omitted]
  • Network accessline 33
    const env = buildClaudeEnv();     expect(env.ANTHROPIC_CUSTOM_HEADERS).toContain("http-referer: https://deepsec.sh");     expect(env.ANTHROPIC_CUSTOM_HEADERS).toMatch(/x-title: deepsec/);
  • Network accessline 34
    expect(env.ANTHROPIC_CUSTOM_HEADERS).toContain("http-referer: https://deepsec.sh");
  • Network accessline 38
    it("omits ANTHROPIC_CUSTOM_HEADERS for direct-Anthropic runs", () => {     process.env.ANTHROPIC_BASE_URL = "https://api.anthropic.com";
  • Network accessline 39
    process.env.ANTHROPIC_BASE_URL = "https://api.anthropic.com";
  • Access to secretsline 40
    [Credential-related source omitted]
  • Network accessline 48
    it("appends to a user-supplied ANTHROPIC_CUSTOM_HEADERS instead of clobbering", () => {     process.env.ANTHROPIC_BASE_URL = "https://ai-gateway.vercel.sh";
  • Network accessline 49
    process.env.ANTHROPIC_BASE_URL = "https://ai-gateway.vercel.sh";
  • Network accessline 51
    const value = buildClaudeEnv().ANTHROPIC_CUSTOM_HEADERS ?? "";     expect(value).toContain("x-custom: keep-me");     expect(value).toContain("http-referer: https://deepsec.sh");
  • Network accessline 52
    expect(value).toContain("x-custom: keep-me");     expect(value).toContain("http-referer: https://deepsec.sh");     expect(value.indexOf("x-custom")).toBe(0);
  • Network accessline 53
    expect(value).toContain("http-referer: https://deepsec.sh");
  • Network accessline 57
    it("lets a user-set attribution header win over ours", () => {     process.env.ANTHROPIC_BASE_URL = "https://ai-gateway.vercel.sh";
  • Network accessline 58
    process.env.ANTHROPIC_BASE_URL = "https://ai-gateway.vercel.sh";
  • Network accessline 64
    expect(value.match(/x-title/gi)).toHaveLength(1);     expect(value).toContain("http-referer: https://deepsec.sh");
  • Network accessline 65
    expect(value).toContain("http-referer: https://deepsec.sh");
  • Network accessline 69
    describe("buildGatewayProviderConfig attribution", () => {   it("adds http_headers for the gateway base URL (either form)", () => {     for (const url of ["https://ai-gateway.vercel.sh", "https://ai-gateway.vercel.sh/v1"]) {
  • Network accessline 70
    it("adds http_headers for the gateway base URL (either form)", () => {     for (const url of ["https://ai-gateway.vercel.sh", "https://ai-gateway.vercel.sh/v1"]) {       const config = buildGatewayProviderConfig(url);
  • Network accessline 71
    for (const url of ["https://ai-gateway.vercel.sh", "https://ai-gateway.vercel.sh/v1"]) {
  • Network accessline 72
    const config = buildGatewayProviderConfig(url);       expect(config.base_url).toBe("https://ai-gateway.vercel.sh/v1");       expect(config.http_headers).toMatchObject({
  • Network accessline 73
    expect(config.base_url).toBe("https://ai-gateway.vercel.sh/v1");
  • Network accessline 74
    expect(config.http_headers).toMatchObject({         "http-referer": "https://deepsec.sh",       });
  • Network accessline 75
    "http-referer": "https://deepsec.sh",
  • Network accessline 80
    it("omits http_headers for direct-provider base URLs", () => {     const config = buildGatewayProviderConfig("https://api.openai.com/v1");
  • Network accessline 81
    const config = buildGatewayProviderConfig("https://api.openai.com/v1");

packages/processor/src/__tests__/batch.test.ts

  • Executable scriptline 1
    Executable file

packages/processor/src/__tests__/codex-setup.test.ts

  • Executable scriptline 1
    Executable file

packages/processor/src/__tests__/pi-sdk-tools.test.ts

  • Executable scriptline 1
    Executable file
  • Access to secretsline 67
    [Credential-related source omitted]
  • Access to secretsline 69
    [Credential-related source omitted]
  • Access to secretsline 71
    [Credential-related source omitted]
  • Access to secretsline 72
    [Credential-related source omitted]
  • Network accessline 93
    [Credential-related source omitted]
  • Access to secretsline 93
    [Credential-related source omitted]
  • Access to secretsline 94
    [Credential-related source omitted]
  • Network accessline 95
    process.env.OPENAI_BASE_URL = "https://ai-gateway.vercel.sh/v1";
  • Access to secretsline 106
    [Credential-related source omitted]
  • Network accessline 107
    [Credential-related source omitted]
  • Access to secretsline 107
    [Credential-related source omitted]
  • Network accessline 108
    [Credential-related source omitted]
  • Access to secretsline 108
    [Credential-related source omitted]
  • Network accessline 109
    process.env.OPENAI_BASE_URL = "https://ai-gateway.vercel.sh/v1";     let called = false;     globalThis.fetch = async () => {
  • Network accessline 138
    [Credential-related source omitted]
  • Access to secretsline 138
    [Credential-related source omitted]
  • Network accessline 139
    process.env.OPENAI_BASE_URL = "https://ai-gateway.vercel.sh/v1";     let called = false;     globalThis.fetch = async () => {
  • Access to secretsline 149
    [Credential-related source omitted]
  • Network accessline 156
    [Credential-related source omitted]
  • Network accessline 157
    [Credential-related source omitted]
  • Access to secretsline 157
    [Credential-related source omitted]
  • Network accessline 158
    process.env.OPENAI_BASE_URL = "https://ai-gateway.vercel.sh/v1";     let called = false;     globalThis.fetch = async () => {
  • Network accessline 177
    const config = registry.getRegisteredProviderConfig("vercel-ai-gateway");     expect(config?.headers).toMatchObject({       "http-referer": "https://deepsec.sh",
  • Network accessline 178
    expect(config?.headers).toMatchObject({       "http-referer": "https://deepsec.sh",     });
  • Network accessline 179
    "http-referer": "https://deepsec.sh",
  • Access to secretsline 184
    [Credential-related source omitted]
  • Network accessline 189
    [Credential-related source omitted]
  • Network accessline 190
    [Credential-related source omitted]
  • Access to secretsline 190
    [Credential-related source omitted]
  • Network accessline 191
    process.env.OPENAI_BASE_URL = "https://ai-gateway.vercel.sh/v1";
  • Network accessline 196
    await resolvePiModelWithDynamicGateway(registry, "acme/nonexistent-model-1", {});     const config = registry.getRegisteredProviderConfig("vercel-ai-gateway");     expect(config?.headers?.["http-referer"]).toBe("https://deepsec.sh");
  • Network accessline 197
    const config = registry.getRegisteredProviderConfig("vercel-ai-gateway");     expect(config?.headers?.["http-referer"]).toBe("https://deepsec.sh");   });
  • Network accessline 198
    expect(config?.headers?.["http-referer"]).toBe("https://deepsec.sh");
  • Access to secretsline 202
    [Credential-related source omitted]
  • Network accessline 204
    configureProviderOverrides(registry, {       aiProvider: "acme",       aiBaseUrl: "https://models.acme.test/v1",
  • Network accessline 205
    aiProvider: "acme",       aiBaseUrl: "https://models.acme.test/v1",       aiApiKeyEnv: "ACME_MODEL_KEY",
  • Network accessline 206
    aiBaseUrl: "https://models.acme.test/v1",
  • Network accessline 209
    });     expect(registry.getRegisteredProviderConfig("acme")).toMatchObject({       baseUrl: "https://models.acme.test/v1",
  • Network accessline 210
    [Credential-related source omitted]
  • Network accessline 211
    baseUrl: "https://models.acme.test/v1",

packages/processor/src/__tests__/process-revalidate.test.ts

  • Executable scriptline 1
    Executable file

packages/processor/src/__tests__/prompt-assemble.test.ts

  • Executable scriptline 1
    Executable file

packages/processor/src/__tests__/prompt-samples.fixtures.ts

  • Executable scriptline 1
    Executable file

packages/processor/src/__tests__/prompt-samples.test.ts

  • Executable scriptline 1
    Executable file

packages/processor/src/__tests__/reconcile.test.ts

  • Executable scriptline 1
    Executable file

packages/processor/src/__tests__/registry.test.ts

  • Executable scriptline 1
    Executable file

packages/processor/src/__tests__/shared.test.ts

  • Executable scriptline 1
    Executable file
  • Network accessline 65
    expect(       classifyQuotaError(         "Credit balance too low · Add funds: https://platform.claude.com/settings/billing",
  • Network accessline 66
    classifyQuotaError(         "Credit balance too low · Add funds: https://platform.claude.com/settings/billing",         "claude",
  • Network accessline 67
    "Credit balance too low · Add funds: https://platform.claude.com/settings/billing",
  • Network accessline 98
    expect(       classifyQuotaError(         "You've hit your usage limit. Upgrade to Plus to continue using Codex (https://chatgpt.com/explore/plus)",
  • Network accessline 99
    classifyQuotaError(         "You've hit your usage limit. Upgrade to Plus to continue using Codex (https://chatgpt.com/explore/plus)",         "codex",
  • Network accessline 100
    "You've hit your usage limit. Upgrade to Plus to continue using Codex (https://chatgpt.com/explore/plus)",
  • Network accessline 104
    expect(       classifyQuotaError(         "You've hit your usage limit. Visit https://chatgpt.com/codex/settings/usage to purchase more credits",
  • Network accessline 105
    classifyQuotaError(         "You've hit your usage limit. Visit https://chatgpt.com/codex/settings/usage to purchase more credits",         "codex",
  • Network accessline 106
    "You've hit your usage limit. Visit https://chatgpt.com/codex/settings/usage to purchase more credits",
  • Network accessline 150
    expect(       classifyQuotaError(         '{"error":{"message":"Insufficient funds. Please add credits to your account to continue using AI services. Visit https://vercel.com/d?to=%2F%5Bteam%5D%2F%7E%2Fai%3Fmodal%3Dtop-up to top up your cre
  • Network accessline 151
    classifyQuotaError(         '{"error":{"message":"Insufficient funds. Please add credits to your account to continue using AI services. Visit https://vercel.com/d?to=%2F%5Bteam%5D%2F%7E%2Fai%3Fmodal%3Dtop-up to top up your credits.","type":
  • Network accessline 152
    '{"error":{"message":"Insufficient funds. Please add credits to your account to continue using AI services. Visit https://vercel.com/d?to=%2F%5Bteam%5D%2F%7E%2Fai%3Fmodal%3Dtop-up to top up your credits.","type":"insufficient_funds"}}',
  • Access to secretsline 207
    [Credential-related source omitted]
  • Access to secretsline 220
    [Credential-related source omitted]
  • Access to secretsline 221
    [Credential-related source omitted]
  • Network accessline 225
    it("returns true when ANTHROPIC_BASE_URL points at the gateway", () => {     process.env.ANTHROPIC_BASE_URL = "https://ai-gateway.vercel.sh";
  • Network accessline 226
    process.env.ANTHROPIC_BASE_URL = "https://ai-gateway.vercel.sh";
  • Network accessline 230
    it("returns true when OPENAI_BASE_URL points at the gateway (with trailing slash)", () => {     process.env.OPENAI_BASE_URL = "https://ai-gateway.vercel.sh/v1/";
  • Network accessline 231
    process.env.OPENAI_BASE_URL = "https://ai-gateway.vercel.sh/v1/";
  • Network accessline 235
    it("returns false when neither base URL points at the gateway", () => {     process.env.ANTHROPIC_BASE_URL = "https://api.anthropic.com";
  • Network accessline 236
    process.env.ANTHROPIC_BASE_URL = "https://api.anthropic.com";
  • Network accessline 237
    process.env.OPENAI_BASE_URL = "https://api.openai.com/v1";
  • Network accessline 246
    describe("isGatewayBaseUrl", () => {   it("accepts the Anthropic-adapter root URL, with and without trailing slash", () => {     expect(isGatewayBaseUrl("https://ai-gateway.vercel.sh")).toBe(true);
  • Network accessline 247
    it("accepts the Anthropic-adapter root URL, with and without trailing slash", () => {     expect(isGatewayBaseUrl("https://ai-gateway.vercel.sh")).toBe(true);     expect(isGatewayBaseUrl("https://ai-gateway.vercel.sh/")).toBe(true);
  • Network accessline 248
    expect(isGatewayBaseUrl("https://ai-gateway.vercel.sh")).toBe(true);
  • Network accessline 249
    expect(isGatewayBaseUrl("https://ai-gateway.vercel.sh/")).toBe(true);
  • Network accessline 252
    it("accepts the OpenAI-compat /v1 URL, with and without trailing slash", () => {     expect(isGatewayBaseUrl("https://ai-gateway.vercel.sh/v1")).toBe(true);
  • Network accessline 253
    expect(isGatewayBaseUrl("https://ai-gateway.vercel.sh/v1")).toBe(true);
  • Network accessline 254
    expect(isGatewayBaseUrl("https://ai-gateway.vercel.sh/v1/")).toBe(true);
  • Network accessline 257
    it("rejects direct-provider URLs and undefined", () => {     expect(isGatewayBaseUrl("https://api.anthropic.com")).toBe(false);
  • Network accessline 258
    expect(isGatewayBaseUrl("https://api.anthropic.com")).toBe(false);
  • Network accessline 259
    expect(isGatewayBaseUrl("https://api.openai.com/v1")).toBe(false);
  • Network accessline 270
    it("falls back to a bare title when the version setter never ran", () => {     expect(attributionHeaders()).toEqual({       "http-referer": "https://deepsec.sh",
  • Network accessline 271
    expect(attributionHeaders()).toEqual({       "http-referer": "https://deepsec.sh",       "x-title": "deepsec",
  • Network accessline 272
    "http-referer": "https://deepsec.sh",

packages/processor/src/__tests__/stub-agent.ts

  • Executable scriptline 1
    Executable file

packages/processor/src/agents/claude-agent-sdk.ts

  • Executable scriptline 1
    Executable file
  • Network accessline 42
    * resolves this from its bundled platform-specific optional  * dependencies, but pnpm sometimes ships incomplete content for  * platform variants it didn't fetch (the Linux-x64-musl shell exists
  • Network accessline 43
    * dependencies, but pnpm sometimes ships incomplete content for  * platform variants it didn't fetch (the Linux-x64-musl shell exists  * but its `claude` binary is absent). Setting this env var lets CI
  • Network accessline 44
    * platform variants it didn't fetch (the Linux-x64-musl shell exists
  • Access to secretsline 133
    [Credential-related source omitted]
  • Access to secretsline 134
    [Credential-related source omitted]
  • Access to secretsline 139
    [Credential-related source omitted]
  • Access to secretsline 140
    [Credential-related source omitted]

packages/processor/src/agents/codex-sdk.ts

  • Executable scriptline 1
    Executable file
  • Access to secretsline 106
    [Credential-related source omitted]
  • Access to secretsline 295
    [Credential-related source omitted]
  • Access to secretsline 322
    [Credential-related source omitted]
  • Access to secretsline 361
    [Credential-related source omitted]
  • Access to secretsline 373
    [Credential-related source omitted]
  • Access to secretsline 390
    [Credential-related source omitted]
  • Network accessline 541
    * doesn't return cost like Anthropic does, so we compute it here.  *  * Source: https://developers.openai.com/api/docs/pricing (April 2026).
  • Network accessline 542
    *  * Source: https://developers.openai.com/api/docs/pricing (April 2026).  * Update when OpenAI repprices or new GPT-5.x SKUs ship.
  • Network accessline 543
    * Source: https://developers.openai.com/api/docs/pricing (April 2026).

packages/processor/src/agents/codex-wrapper.sh

  • Executable scriptline 1
    #!/bin/sh

packages/processor/src/agents/pi-sdk.ts

  • Executable scriptline 1
    Executable file
  • Network accessline 68
    const GATEWAY_BASE_URL = "https://ai-gateway.vercel.sh";
  • Access to secretsline 313
    [Credential-related source omitted]
  • Access to secretsline 318
    [Credential-related source omitted]
  • Access to secretsline 319
    [Credential-related source omitted]
  • Access to secretsline 320
    [Credential-related source omitted]
  • Access to secretsline 321
    [Credential-related source omitted]
  • Access to secretsline 322
    [Credential-related source omitted]
  • Access to secretsline 339
    [Credential-related source omitted]
  • Access to secretsline 342
    [Credential-related source omitted]
  • Access to secretsline 448
    [Credential-related source omitted]

packages/processor/src/agents/registry.ts

  • Executable scriptline 1
    Executable file

packages/processor/src/agents/shared.ts

  • Executable scriptline 1
    Executable file
  • Network accessline 224
    * with the constants in `packages/deepsec/src/preflight.ts`.  */ const GATEWAY_ANTHROPIC_BASE_URL = "https://ai-gateway.vercel.sh";
  • Network accessline 225
    */ const GATEWAY_ANTHROPIC_BASE_URL = "https://ai-gateway.vercel.sh"; const GATEWAY_OPENAI_BASE_URL = "https://ai-gateway.vercel.sh/v1";
  • Network accessline 226
    const GATEWAY_ANTHROPIC_BASE_URL = "https://ai-gateway.vercel.sh";
  • Network accessline 227
    const GATEWAY_OPENAI_BASE_URL = "https://ai-gateway.vercel.sh/v1";
  • Access to secretsline 236
    [Credential-related source omitted]
  • Access to secretsline 241
    [Credential-related source omitted]
  • Network accessline 261
    // AI Gateway App Attribution (https://vercel.com/docs/ai-gateway/ecosystem/app-attribution):
  • Network accessline 277
    export function attributionHeaders(): Record<string, string> {   return {     "http-referer": "https://deepsec.sh",
  • Network accessline 278
    return {     "http-referer": "https://deepsec.sh",     "x-title": attributionTitle,
  • Network accessline 279
    "http-referer": "https://deepsec.sh",

packages/processor/src/agents/types.ts

  • Executable scriptline 1
    Executable file

packages/processor/src/batch.ts

  • Executable scriptline 1
    Executable file

packages/processor/src/enrich.ts

  • Executable scriptline 1
    Executable file
  • Network accessline 39
    // HTTPS: https://github.com/owner/repo.git

packages/processor/src/index.ts

  • Executable scriptline 1
    Executable file

packages/processor/src/prompt/assemble.ts

  • Executable scriptline 1
    Executable file

packages/processor/src/prompt/core.ts

  • Executable scriptline 1
    Executable file

packages/processor/src/prompt/file-language.ts

  • Executable scriptline 1
    Executable file

packages/processor/src/prompt/highlights.ts

  • Executable scriptline 1
    Executable file
  • Network accessline 353
    languages: JS_LANGS,     bullets: [       "`export default { fetch(req, env, ctx) }` is the only entry — auth lives in `fetch`, no framework gates",
  • Network accessline 354
    bullets: [       "`export default { fetch(req, env, ctx) }` is the only entry — auth lives in `fetch`, no framework gates",       "`env.<BINDING>` exposes KV / R2 / D1 / secrets — review whether bindings are over-permissioned",
  • Network accessline 355
    "`export default { fetch(req, env, ctx) }` is the only entry — auth lives in `fetch`, no framework gates",
  • Access to secretsline 770
    [Credential-related source omitted]
  • Access to secretsline 886
    [Credential-related source omitted]

packages/processor/src/prompt/index.ts

  • Executable scriptline 1
    Executable file

packages/processor/src/prompt/slug-notes.ts

  • Executable scriptline 1
    Executable file

packages/processor/src/reconcile.ts

  • Executable scriptline 1
    Executable file

packages/processor/src/setup-agent.ts

  • Executable scriptline 1
    Executable file

packages/processor/src/triage.ts

  • Executable scriptline 1
    Executable file

packages/processor/vitest.config.ts

  • Executable scriptline 1
    Executable file

packages/scanner/package.json

  • Executable scriptline 1
    Executable file

packages/scanner/src/__tests__/declarative-matcher.test.ts

  • Executable scriptline 1
    Executable file

packages/scanner/src/__tests__/detect-tech.test.ts

  • Executable scriptline 1
    Executable file
  • Network accessline 85
    it("detects Rails via Gemfile", () => {     write("Gemfile", `source "https://rubygems.org"\ngem "rails", "~> 8.0"\n`);
  • Network accessline 86
    write("Gemfile", `source "https://rubygems.org"\ngem "rails", "~> 8.0"\n`);

packages/scanner/src/__tests__/framework-matchers.test.ts

  • Executable scriptline 1
    Executable file

packages/scanner/src/__tests__/matcher-examples.test.ts

  • Executable scriptline 1
    Executable file

packages/scanner/src/__tests__/matchers.test.ts

  • Executable scriptline 1
    Executable file

packages/scanner/src/__tests__/scan-files.test.ts

  • Executable scriptline 1
    Executable file

packages/scanner/src/__tests__/windows-paths.test.ts

  • Executable scriptline 1
    Executable file

packages/scanner/src/declarative-matcher.ts

  • Executable scriptline 1
    Executable file
  • Access to secretsline 85
    [Credential-related source omitted]

packages/scanner/src/detect-tech.ts

  • Executable scriptline 1
    Executable file

packages/scanner/src/index.ts

  • Executable scriptline 1
    Executable file

packages/scanner/src/matcher-registry.ts

  • Executable scriptline 1
    Executable file

packages/scanner/src/matchers/agent-loop-no-cap.ts

  • Executable scriptline 1
    Executable file

packages/scanner/src/matchers/agent-tool-definition.ts

  • Executable scriptline 1
    Executable file
  • Dangerous shell operationline 26
    `eval(userInput);`,
  • Network accessline 26
    `eval(userInput);`,     `import fs from "fs";\nfs.writeFile(path, data, () => {});`,     `await fetch(url);`,
  • Network accessline 27
    `import fs from "fs";\nfs.writeFile(path, data, () => {});`,     `await fetch(url);`,     `import { sandbox } from "sandbox";\nawait sandbox.runCode(code);`,
  • Network accessline 28
    `await fetch(url);`,

packages/scanner/src/matchers/agentic-untrusted-prompt-input.ts

  • Executable scriptline 1
    Executable file

packages/scanner/src/matchers/algorithm-confusion.ts

  • Executable scriptline 1
    Executable file

packages/scanner/src/matchers/android-manifest-export.ts

  • Executable scriptline 1
    Executable file

packages/scanner/src/matchers/apex-rest-resource.ts

  • Executable scriptline 1
    Executable file

packages/scanner/src/matchers/auth-bypass.ts

  • Executable scriptline 1
    Executable file

packages/scanner/src/matchers/azure-function-handler.ts

  • Executable scriptline 1
    Executable file

packages/scanner/src/matchers/cache-key-poisoning.ts

  • Executable scriptline 1
    Executable file

packages/scanner/src/matchers/cache-key-scope.ts

  • Executable scriptline 1
    Executable file

packages/scanner/src/matchers/clj-ring-handler.ts

  • Executable scriptline 1
    Executable file

packages/scanner/src/matchers/connectrpc-handler-impl.ts

  • Executable scriptline 1
    Executable file

packages/scanner/src/matchers/cors-wildcard.ts

  • Executable scriptline 1
    Executable file

packages/scanner/src/matchers/cr-kemal-route.ts

  • Executable scriptline 1
    Executable file

packages/scanner/src/matchers/cron-secret-check.ts

  • Executable scriptline 1
    Executable file
  • Access to secretsline 18
    [Credential-related source omitted]
  • Access to secretsline 25
    [Credential-related source omitted]
  • Access to secretsline 34
    [Credential-related source omitted]

packages/scanner/src/matchers/cross-tenant-id.ts

  • Executable scriptline 1
    Executable file

packages/scanner/src/matchers/crypto-usage.ts

  • Executable scriptline 1
    Executable file

packages/scanner/src/matchers/dangerous-html.ts

  • Executable scriptline 1
    Executable file

packages/scanner/src/matchers/dart-shelf-handler.ts

  • Executable scriptline 1
    Executable file

packages/scanner/src/matchers/debug-endpoint.ts

  • Executable scriptline 1
    Executable file

packages/scanner/src/matchers/dev-auth-bypass.ts

  • Executable scriptline 1
    Executable file

packages/scanner/src/matchers/dockerfile-curl-pipe-unverified.ts

  • Executable scriptline 1
    Executable file
  • Network accessline 4
    /**  * Classic supply-chain pattern: `curl … | sh` / `curl … | tar -x` in a
  • Dangerous shell operationline 5
    * Classic supply-chain pattern: `curl … | sh` / `curl … | tar -x` in a
  • Network accessline 5
    * Classic supply-chain pattern: `curl … | sh` / `curl … | tar -x` in a
  • Network accessline 11
    noiseTier: "precise" as const,   slug: "dockerfile-curl-pipe-unverified",   description: "RUN curl|wget piped to shell/tar without checksum verification",
  • Network accessline 12
    slug: "dockerfile-curl-pipe-unverified",   description: "RUN curl|wget piped to shell/tar without checksum verification",   filePatterns: ["**/Dockerfile", "**/Dockerfile.*", "**/*.Dockerfile"],
  • Network accessline 13
    description: "RUN curl|wget piped to shell/tar without checksum verification",
  • Network accessline 15
    requires: { tech: ["docker"] },   examples: [     `RUN curl -fsSL https://example.com/install.sh | sh`,
  • Network accessline 16
    examples: [     `RUN curl -fsSL https://example.com/install.sh | sh`,     `RUN curl -L https://get.docker.com/ | bash`,
  • Dangerous shell operationline 17
    `RUN curl -fsSL https://example.com/install.sh | sh`,
  • Network accessline 17
    `RUN curl -fsSL https://example.com/install.sh | sh`,
  • Dangerous shell operationline 18
    `RUN curl -L https://get.docker.com/ | bash`,
  • Network accessline 18
    `RUN curl -L https://get.docker.com/ | bash`,
  • Dangerous shell operationline 19
    `RUN wget -qO- https://example.com/install | sh`,
  • Network accessline 19
    `RUN wget -qO- https://example.com/install | sh`,
  • Network accessline 20
    `RUN curl -L https://example.com/release.tar.gz | tar -xz`,
  • Network accessline 21
    `RUN wget -O- https://example.com/file.zip | unzip -`,
  • Network accessline 63
    lineNumbers: hitLines,       snippet: snippets[0],       matchedPattern: "curl|wget | sh/tar with no checksum check",
  • Network accessline 64
    snippet: snippets[0],       matchedPattern: "curl|wget | sh/tar with no checksum check",     };
  • Dangerous shell operationline 65
    matchedPattern: "curl|wget | sh/tar with no checksum check",
  • Network accessline 65
    matchedPattern: "curl|wget | sh/tar with no checksum check",

packages/scanner/src/matchers/dockerfile-from-mutable-tag.ts

  • Executable scriptline 1
    Executable file

packages/scanner/src/matchers/dockerfile-run-as-root.ts

  • Executable scriptline 1
    Executable file

packages/scanner/src/matchers/dotnet-aspnet-controller.ts

  • Executable scriptline 1
    Executable file

packages/scanner/src/matchers/dotnet-azure-function.ts

  • Executable scriptline 1
    Executable file

packages/scanner/src/matchers/dotnet-minimal-api.ts

  • Executable scriptline 1
    Executable file

packages/scanner/src/matchers/dotnet-razor-pages.ts

  • Executable scriptline 1
    Executable file

packages/scanner/src/matchers/dotnet-sql-raw.ts

  • Executable scriptline 1
    Executable file

packages/scanner/src/matchers/drizzle-mass-assignment.ts

  • Executable scriptline 1
    Executable file

packages/scanner/src/matchers/drizzle-raw-sql.ts

  • Executable scriptline 1
    Executable file

packages/scanner/src/matchers/env-exposure.ts

  • Executable scriptline 1
    Executable file
  • Access to secretsline 13
    [Credential-related source omitted]
  • Access to secretsline 15
    [Credential-related source omitted]
  • Access to secretsline 16
    [Credential-related source omitted]
  • Access to secretsline 19
    [Credential-related source omitted]
  • Access to secretsline 20
    [Credential-related source omitted]
  • Access to secretsline 21
    [Credential-related source omitted]
  • Access to secretsline 22
    [Credential-related source omitted]
  • Access to secretsline 61
    [Credential-related source omitted]
  • Access to secretsline 73
    [Credential-related source omitted]

packages/scanner/src/matchers/env-var-as-bool.ts

  • Executable scriptline 1
    Executable file
  • Access to secretsline 19
    [Credential-related source omitted]
  • Access to secretsline 20
    [Credential-related source omitted]

packages/scanner/src/matchers/erl-cowboy-handler.ts

  • Executable scriptline 1
    Executable file

packages/scanner/src/matchers/error-message-leak.ts

  • Executable scriptline 1
    Executable file

packages/scanner/src/matchers/event-handler-mismatch.ts

  • Executable scriptline 1
    Executable file

packages/scanner/src/matchers/ex-phoenix-controller.ts

  • Executable scriptline 1
    Executable file

packages/scanner/src/matchers/expensive-api-abuse.ts

  • Executable scriptline 1
    Executable file
  • Network accessline 70
    }`,     `export async function POST() {   await fetch("https://ai-gateway.vercel.sh/v1/chat", { method: "POST" });
  • Network accessline 71
    `export async function POST() {   await fetch("https://ai-gateway.vercel.sh/v1/chat", { method: "POST" });   return new Response("ok");
  • Network accessline 72
    await fetch("https://ai-gateway.vercel.sh/v1/chat", { method: "POST" });
  • Network accessline 74
    }`,     `export async function POST() {   await fetch("https://api.openai.com/v1/chat/completions", { method: "POST" });
  • Network accessline 75
    `export async function POST() {   await fetch("https://api.openai.com/v1/chat/completions", { method: "POST" });   return new Response("ok");
  • Network accessline 76
    await fetch("https://api.openai.com/v1/chat/completions", { method: "POST" });
  • Network accessline 78
    }`,     `export async function POST() {   await fetch("https://api.openai.com/v1/completions", { method: "POST" });
  • Network accessline 79
    `export async function POST() {   await fetch("https://api.openai.com/v1/completions", { method: "POST" });   return new Response("ok");
  • Network accessline 80
    await fetch("https://api.openai.com/v1/completions", { method: "POST" });
  • Network accessline 82
    }`,     `export async function POST() {   await fetch("https://api.openai.com/v1/embeddings", { method: "POST" });
  • Network accessline 83
    `export async function POST() {   await fetch("https://api.openai.com/v1/embeddings", { method: "POST" });   return new Response("ok");
  • Network accessline 84
    await fetch("https://api.openai.com/v1/embeddings", { method: "POST" });
  • Network accessline 86
    }`,     `export async function POST() {   await fetch("https://api.openai.com/v1/images/generations", { method: "POST" });
  • Network accessline 87
    `export async function POST() {   await fetch("https://api.openai.com/v1/images/generations", { method: "POST" });   return new Response("ok");
  • Network accessline 88
    await fetch("https://api.openai.com/v1/images/generations", { method: "POST" });

packages/scanner/src/matchers/fs-write-symlink-boundary.ts

  • Executable scriptline 1
    Executable file

packages/scanner/src/matchers/gcp-cloud-function.ts

  • Executable scriptline 1
    Executable file

packages/scanner/src/matchers/git-provider-url-injection.ts

  • Executable scriptline 1
    Executable file
  • Network accessline 9
    filePatterns: ["**/*.{ts,tsx,js,jsx}"],   examples: [     `const url = \`https://api.github.com/repos/\${owner}/\${repo}\`;`,
  • Network accessline 10
    examples: [     `const url = \`https://api.github.com/repos/\${owner}/\${repo}\`;`,     `await fetch(\`https://api.github.com/orgs/\${org}/members\`);`,
  • Network accessline 11
    `const url = \`https://api.github.com/repos/\${owner}/\${repo}\`;`,     `await fetch(\`https://api.github.com/orgs/\${org}/members\`);`,     `const link = \`https://github.com/\${user}/\${repo}/commits\`;`,
  • Network accessline 12
    `await fetch(\`https://api.github.com/orgs/\${org}/members\`);`,
  • Network accessline 13
    `const link = \`https://github.com/\${user}/\${repo}/commits\`;`,
  • Network accessline 14
    `const url = \`https://gitlab.com/api/v4/projects/\${id}\`;`,
  • Network accessline 15
    `const url = \`https://bitbucket.org/api/2.0/repositories/\${slug}\`;`,
  • Network accessline 16
    `const u = \`https://git.example.com/repos/\${slug}\`;`,

packages/scanner/src/matchers/github-workflow-security.ts

  • Executable scriptline 1
    Executable file
  • Network accessline 38
    [Credential-related source omitted]
  • Network accessline 39
    `      - run: |\n          echo \${{ github.event.pull_request.head.ref }}`,     `      - run: curl -fsSL https://example.com/install.sh | sh`,   ],
  • Dangerous shell operationline 40
    `      - run: curl -fsSL https://example.com/install.sh | sh`,
  • Network accessline 40
    `      - run: curl -fsSL https://example.com/install.sh | sh`,
  • Network accessline 65
    [Credential-related source omitted]
  • Network accessline 66
    { regex: /\brun\s*:\s*\|.*\$\{\{[^}]*\}\}/s, label: "run block interpolating expression" },       { regex: /\bcurl\s+[^|]*\|\s*(?:sh|bash)\b/, label: "curl | sh in workflow" },     ];
  • Dangerous shell operationline 67
    { regex: /\bcurl\s+[^|]*\|\s*(?:sh|bash)\b/, label: "curl | sh in workflow" },
  • Network accessline 67
    { regex: /\bcurl\s+[^|]*\|\s*(?:sh|bash)\b/, label: "curl | sh in workflow" },

packages/scanner/src/matchers/go-buffalo-route.ts

  • Executable scriptline 1
    Executable file

packages/scanner/src/matchers/go-chi-route.ts

  • Executable scriptline 1
    Executable file

packages/scanner/src/matchers/go-cobra-command.ts

  • Executable scriptline 1
    Executable file

packages/scanner/src/matchers/go-command-injection.ts

  • Executable scriptline 1
    Executable file

packages/scanner/src/matchers/go-echo-route.ts

  • Executable scriptline 1
    Executable file

packages/scanner/src/matchers/go-embed-asset.ts

  • Executable scriptline 1
    Executable file

packages/scanner/src/matchers/go-fiber-route.ts

  • Executable scriptline 1
    Executable file

packages/scanner/src/matchers/go-gin-route.ts

  • Executable scriptline 1
    Executable file

packages/scanner/src/matchers/go-gorilla-route.ts

  • Executable scriptline 1
    Executable file

packages/scanner/src/matchers/go-http-handler.ts

  • Executable scriptline 1
    Executable file

packages/scanner/src/matchers/go-sql-raw.ts

  • Executable scriptline 1
    Executable file

packages/scanner/src/matchers/go-ssrf.ts

  • Executable scriptline 1
    Executable file
  • Network accessline 12
    `resp, err := http.Post(host + "/api", "application/json", body)`,     `resp, err := http.Head("https://" + target)`,     `req, err := http.NewRequest("GET", fmt.Sprintf("https://%s/api", host), nil)`,
  • Network accessline 13
    `resp, err := http.Head("https://" + target)`,     `req, err := http.NewRequest("GET", fmt.Sprintf("https://%s/api", host), nil)`,     `req, err := http.NewRequest("POST", baseURL + path, body)`,
  • Network accessline 14
    `req, err := http.NewRequest("GET", fmt.Sprintf("https://%s/api", host), nil)`,
  • Network accessline 15
    `req, err := http.NewRequest("POST", baseURL + path, body)`,     `u, err := url.Parse(scheme + "://" + host)`,     `endpoint := fmt.Sprintf("https://api.example.com/users/%s", userID)`,
  • Network accessline 16
    `u, err := url.Parse(scheme + "://" + host)`,     `endpoint := fmt.Sprintf("https://api.example.com/users/%s", userID)`,   ],
  • Network accessline 17
    `endpoint := fmt.Sprintf("https://api.example.com/users/%s", userID)`,

packages/scanner/src/matchers/iam-permissions.ts

  • Executable scriptline 1
    Executable file

packages/scanner/src/matchers/index.ts

  • Executable scriptline 1
    Executable file

packages/scanner/src/matchers/insecure-crypto.ts

  • Executable scriptline 1
    Executable file

packages/scanner/src/matchers/ios-url-scheme.ts

  • Executable scriptline 1
    Executable file

packages/scanner/src/matchers/js-astro-endpoint.ts

  • Executable scriptline 1
    Executable file

packages/scanner/src/matchers/js-bullmq-processor.ts

  • Executable scriptline 1
    Executable file

packages/scanner/src/matchers/js-bun-serve.ts

  • Executable scriptline 1
    Executable file
  • Network accessline 9
    requires: { tech: ["bun"] },   examples: [     `Bun.serve({\n  fetch(req) { return new Response("hi") }\n})`,
  • Network accessline 10
    examples: [     `Bun.serve({\n  fetch(req) { return new Response("hi") }\n})`,     `Bun.serve({ port: 3000, async fetch(req) { return new Response() } })`,
  • Network accessline 11
    `Bun.serve({\n  fetch(req) { return new Response("hi") }\n})`,
  • Network accessline 12
    `Bun.serve({ port: 3000, async fetch(req) { return new Response() } })`,
  • Network accessline 13
    `async fetch(req) { return new Response("ok") }`,
  • Network accessline 14
    `fetch(request, server) { return new Response() }`,
  • Network accessline 24
    "js-bun-serve",       [         { regex: /\bBun\.serve\s*\(\s*\{/, label: "Bun.serve({ fetch(req) ... })" },
  • Network accessline 25
    [         { regex: /\bBun\.serve\s*\(\s*\{/, label: "Bun.serve({ fetch(req) ... })" },         {
  • Network accessline 26
    { regex: /\bBun\.serve\s*\(\s*\{/, label: "Bun.serve({ fetch(req) ... })" },
  • Network accessline 27
    {           regex: /(?:async\s+)?fetch\s*\(\s*req(?:uest)?\s*[,)]/,           label: "fetch(req) handler body",
  • Network accessline 28
    regex: /(?:async\s+)?fetch\s*\(\s*req(?:uest)?\s*[,)]/,           label: "fetch(req) handler body",         },
  • Network accessline 29
    label: "fetch(req) handler body",

packages/scanner/src/matchers/js-deno-route.ts

  • Executable scriptline 1
    Executable file
  • Network accessline 15
    `router.use(authMiddleware)`,     `router.delete("/u/:id", removeUser)`,     `import { Application, Router } from "https://deno.land/x/oak/mod.ts";`,
  • Network accessline 16
    `router.delete("/u/:id", removeUser)`,     `import { Application, Router } from "https://deno.land/x/oak/mod.ts";`,     `const url = ctx.request.url;`,
  • Network accessline 17
    `import { Application, Router } from "https://deno.land/x/oak/mod.ts";`,

packages/scanner/src/matchers/js-express-route.ts

  • Executable scriptline 1
    Executable file

packages/scanner/src/matchers/js-fastify-route.ts

  • Executable scriptline 1
    Executable file

packages/scanner/src/matchers/js-graphql-resolver.ts

  • Executable scriptline 1
    Executable file

packages/scanner/src/matchers/js-hapi-route.ts

  • Executable scriptline 1
    Executable file

packages/scanner/src/matchers/js-hono-route.ts

  • Executable scriptline 1
    Executable file

packages/scanner/src/matchers/js-koa-route.ts

  • Executable scriptline 1
    Executable file

packages/scanner/src/matchers/js-nestjs-controller.ts

  • Executable scriptline 1
    Executable file

packages/scanner/src/matchers/js-nextjs-catch-all-route-auth.ts

  • Executable scriptline 1
    Executable file

packages/scanner/src/matchers/js-nextjs-catchall-router.ts

  • Executable scriptline 1
    Executable file
  • Network accessline 22
    examples: [     `import { Elysia } from 'elysia';\nconst app = new Elysia();\nexport const GET = app.handle;`,     `import { Hono } from 'hono';\nconst app = new Hono();\nexport const GET = (req) => app.fetch(req);`,
  • Network accessline 23
    `import { Elysia } from 'elysia';\nconst app = new Elysia();\nexport const GET = app.handle;`,     `import { Hono } from 'hono';\nconst app = new Hono();\nexport const GET = (req) => app.fetch(req);`,     `import express from 'express';\nco
  • Network accessline 24
    `import { Hono } from 'hono';\nconst app = new Hono();\nexport const GET = (req) => app.fetch(req);`,

packages/scanner/src/matchers/js-nextjs-edge-sandbox.ts

  • Executable scriptline 1
    Executable file
  • Dangerous shell operationline 23
    `const result = eval(userCode);`,

packages/scanner/src/matchers/js-nextjs-fw-server-action.ts

  • Executable scriptline 1
    Executable file

packages/scanner/src/matchers/js-nextjs-image-optimizer.ts

  • Executable scriptline 1
    Executable file

packages/scanner/src/matchers/js-nextjs-internal-header.ts

  • Executable scriptline 1
    Executable file

packages/scanner/src/matchers/js-nextjs-middleware-only-auth.ts

  • Executable scriptline 1
    Executable file

packages/scanner/src/matchers/js-nextjs-middleware.ts

  • Executable scriptline 1
    Executable file

packages/scanner/src/matchers/js-nextjs-page-data-fetch.ts

  • Executable scriptline 1
    Executable file
  • Network accessline 10
    requires: { tech: ["nextjs"] },   examples: [     `export default async function Page({ searchParams }) {\n  const id = searchParams.get('id');\n  const data = await fetch('/api/x?id=' + id);\n  return null\n}`,
  • Network accessline 11
    examples: [     `export default async function Page({ searchParams }) {\n  const id = searchParams.get('id');\n  const data = await fetch('/api/x?id=' + id);\n  return null\n}`,     `export default async function Page({ params }) {\n  const
  • Network accessline 12
    `export default async function Page({ searchParams }) {\n  const id = searchParams.get('id');\n  const data = await fetch('/api/x?id=' + id);\n  return null\n}`,
  • Network accessline 13
    `export default async function Page({ params }) {\n  const r = await fetch('/api/users/' + params.id);\n  return null\n}`,
  • Network accessline 14
    `export default async function Page({ searchParams }) {\n  const q = searchParams['q'];\n  const data = await fetchApi('/search?q=' + q);\n  return null\n}`,     `export async function getServerSideProps(ctx) {\n  const data = await fetch('
  • Network accessline 15
    `export async function getServerSideProps(ctx) {\n  const data = await fetch('/api/foo?id=' + ctx.query.id);\n  return { props: { data, query: ctx.params.id } }\n}`,
  • Network accessline 16
    `export async function getStaticProps(ctx) {\n  const data = await fetch('/api/items/' + ctx.params.slug);\n  return { props: { data } }\n}`,

packages/scanner/src/matchers/js-nextjs-page-without-auth-fetch.ts

  • Executable scriptline 1
    Executable file
  • Network accessline 10
    requires: { tech: ["nextjs"] },   examples: [     `export default async function Page({ params }) {\n  const data = await fetch('/api/orders/' + params.id);\n  return null\n}`,
  • Network accessline 11
    examples: [     `export default async function Page({ params }) {\n  const data = await fetch('/api/orders/' + params.id);\n  return null\n}`,     `export default async function Page({ params }) {\n  const r = await fetchApi('/users/' + par
  • Network accessline 12
    `export default async function Page({ params }) {\n  const data = await fetch('/api/orders/' + params.id);\n  return null\n}`,
  • Network accessline 13
    `export default async function Page({ params }) {\n  const r = await fetchApi('/users/' + params.userId);\n  return null\n}`,     `export default async function Page({ params }) {\n  const session = await getServerSession();\n  const r = aw
  • Network accessline 14
    `export default async function Page({ params }) {\n  const session = await getServerSession();\n  const r = await fetch('/api/x/' + params.id);\n  return null\n}`,
  • Network accessline 15
    `export default async function Page({ params }) {\n  const session = await auth();\n  const data = await fetch('/api/items/' + params.id);\n  return null\n}`,
  • Network accessline 16
    `export default async function Page({ params }) {\n  await requireAuth();\n  const r = await fetch('/api/orgs/' + params.orgId);\n  return null\n}`,

packages/scanner/src/matchers/js-nextjs-route-handlers.ts

  • Executable scriptline 1
    Executable file

packages/scanner/src/matchers/js-nextjs-server-action-no-auth.ts

  • Executable scriptline 1
    Executable file

packages/scanner/src/matchers/js-nextjs-server-action.ts

  • Executable scriptline 1
    Executable file

packages/scanner/src/matchers/js-nextjs-server-actions.ts

  • Executable scriptline 1
    Executable file

packages/scanner/src/matchers/js-nextjs-untrusted-fetch.ts

  • Executable scriptline 1
    Executable file
  • Network accessline 4
    /**  * Framework code where a `fetch(...)` call's URL originates from a request
  • Network accessline 5
    * Framework code where a `fetch(...)` call's URL originates from a request
  • Network accessline 19
    requires: { tech: ["nextjs"] },   examples: [     `const url = req.url;\nconst res = await fetch(url);`,
  • Network accessline 20
    examples: [     `const url = req.url;\nconst res = await fetch(url);`,     `const target = request.headers.get('x-target');\nconst data = await fetch(target);`,
  • Network accessline 21
    `const url = req.url;\nconst res = await fetch(url);`,
  • Network accessline 22
    `const target = request.headers.get('x-target');\nconst data = await fetch(target);`,
  • Network accessline 23
    `const u = new URL(req.url);\nawait fetch(u.searchParams.get('href'));`,
  • Network accessline 24
    `const upstream = req.query.upstream;\nawait globalThis.fetch(upstream);`,
  • Network accessline 25
    `const path = request.nextUrl.searchParams.get('path');\nconst r = await fetch(path);`,
  • Network accessline 26
    `const meta = getRequestMeta(req, 'origin');\nconst r = await fetch(meta + '/api');`,
  • Network accessline 27
    `const cookieVal = request.cookies.get('redirect')?.value;\nconst r = await fetch(cookieVal);`,

packages/scanner/src/matchers/js-nextjs-use-server-export.ts

  • Executable scriptline 1
    Executable file

packages/scanner/src/matchers/js-nosql-injection.ts

  • Executable scriptline 1
    Executable file

packages/scanner/src/matchers/js-nuxt-route.ts

  • Executable scriptline 1
    Executable file

packages/scanner/src/matchers/js-react-unsafe-json-in-html.ts

  • Executable scriptline 1
    Executable file

packages/scanner/src/matchers/js-remix-route.ts

  • Executable scriptline 1
    Executable file

packages/scanner/src/matchers/js-socketio-handler.ts

  • Executable scriptline 1
    Executable file

packages/scanner/src/matchers/js-solidstart-action.ts

  • Executable scriptline 1
    Executable file

packages/scanner/src/matchers/js-sql-raw.ts

  • Executable scriptline 1
    Executable file

packages/scanner/src/matchers/js-sveltekit-route.ts

  • Executable scriptline 1
    Executable file

packages/scanner/src/matchers/js-workers-fetch.ts

  • Executable scriptline 1
    Executable file
  • Network accessline 9
    requires: { tech: ["workers"] },   examples: [     `export default { async fetch(req, env, ctx) { return new Response("ok") } }`,
  • Network accessline 10
    examples: [     `export default { async fetch(req, env, ctx) { return new Response("ok") } }`,     `export default { fetch(request, env, ctx) { return new Response() } }`,
  • Network accessline 11
    `export default { async fetch(req, env, ctx) { return new Response("ok") } }`,
  • Network accessline 12
    `export default { fetch(request, env, ctx) { return new Response() } }`,
  • Access to secretsline 17
    [Credential-related source omitted]
  • Network accessline 28
    {           regex: /export\s+default\s*\{\s*(?:async\s+)?fetch\s*\(/,           label: "Workers default export { fetch(req, env, ctx) }",
  • Network accessline 29
    regex: /export\s+default\s*\{\s*(?:async\s+)?fetch\s*\(/,           label: "Workers default export { fetch(req, env, ctx) }",         },
  • Network accessline 30
    label: "Workers default export { fetch(req, env, ctx) }",

packages/scanner/src/matchers/jvm-jaxrs-resource.ts

  • Executable scriptline 1
    Executable file

packages/scanner/src/matchers/jvm-ktor-route.ts

  • Executable scriptline 1
    Executable file

packages/scanner/src/matchers/jvm-micronaut-controller.ts

  • Executable scriptline 1
    Executable file

packages/scanner/src/matchers/jvm-spring-controller.ts

  • Executable scriptline 1
    Executable file

packages/scanner/src/matchers/jvm-sql-raw.ts

  • Executable scriptline 1
    Executable file
  • Dangerous shell operationline 23
    `val rows = exec("SELECT * FROM users WHERE name = '\${name}'")`,

packages/scanner/src/matchers/jwt-handling.ts

  • Executable scriptline 1
    Executable file
  • Access to secretsline 27
    [Credential-related source omitted]
  • Access to secretsline 55
    [Credential-related source omitted]

packages/scanner/src/matchers/k8s-secret-reference.ts

  • Executable scriptline 1
    Executable file
  • Access to secretsline 33
    [Credential-related source omitted]

packages/scanner/src/matchers/k8s-secrets-init-container.ts

  • Executable scriptline 1
    Executable file
  • Access to secretsline 27
    [Credential-related source omitted]

packages/scanner/src/matchers/lambda-aws-handler.ts

  • Executable scriptline 1
    Executable file

packages/scanner/src/matchers/lua-crypto-weakness.ts

  • Executable scriptline 1
    Executable file

packages/scanner/src/matchers/lua-ngx-exec.ts

  • Executable scriptline 1
    Executable file
  • Network accessline 9
    examples: [     `ngx.exec("/internal/" .. user_path)`,     `ngx.redirect("https://example.com/" .. target)`,
  • Network accessline 10
    `ngx.exec("/internal/" .. user_path)`,     `ngx.redirect("https://example.com/" .. target)`,     `os.execute("rm -rf " .. dir)`,
  • Network accessline 11
    `ngx.redirect("https://example.com/" .. target)`,
  • Dangerous shell operationline 12
    `os.execute("rm -rf " .. dir)`,

packages/scanner/src/matchers/lua-regex-bypass.ts

  • Executable scriptline 1
    Executable file
  • Network accessline 8
    filePatterns: ["**/*.lua"],   examples: [     `local m = ngx.re.match(host, "^https://api\\\\.example\\\\.com")`,
  • Network accessline 9
    examples: [     `local m = ngx.re.match(host, "^https://api\\\\.example\\\\.com")`,     `if string.match(target, "^https://trusted") then end`,
  • Network accessline 10
    `local m = ngx.re.match(host, "^https://api\\\\.example\\\\.com")`,
  • Network accessline 11
    `if string.match(target, "^https://trusted") then end`,

packages/scanner/src/matchers/lua-shared-dict-poisoning.ts

  • Executable scriptline 1
    Executable file

packages/scanner/src/matchers/lua-string-concat-url.ts

  • Executable scriptline 1
    Executable file
  • Network accessline 8
    filePatterns: ["**/*.lua"],   examples: [     `local url = "https://api.example.com/" .. user_path`,
  • Network accessline 9
    examples: [     `local url = "https://api.example.com/" .. user_path`,     `local target = "http://internal.svc/v1/" .. ngx.var.arg_id`,
  • Network accessline 10
    `local url = "https://api.example.com/" .. user_path`,
  • Network accessline 11
    `local target = "http://internal.svc/v1/" .. ngx.var.arg_id`,
  • Network accessline 12
    `local endpoint = path .. "https://upstream.local/data"`,
  • Network accessline 13
    `local res = ngx.location.capture("/proxy/" .. backend_id)`,     `request_uri = "/api/" .. tenant_id .. "/users"`,     `local u = base .. "https://service" .. suffix`,
  • Network accessline 14
    `request_uri = "/api/" .. tenant_id .. "/users"`,     `local u = base .. "https://service" .. suffix`,   ],
  • Network accessline 15
    `local u = base .. "https://service" .. suffix`,

packages/scanner/src/matchers/mcp-tool-handler.ts

  • Executable scriptline 1
    Executable file

packages/scanner/src/matchers/missing-auth.ts

  • Executable scriptline 1
    Executable file

packages/scanner/src/matchers/missing-await.ts

  • Executable scriptline 1
    Executable file

packages/scanner/src/matchers/non-atomic-operation.ts

  • Executable scriptline 1
    Executable file

packages/scanner/src/matchers/non-atomic-read-delete.ts

  • Executable scriptline 1
    Executable file

packages/scanner/src/matchers/oauth-flow.ts

  • Executable scriptline 1
    Executable file
  • Network accessline 20
    `params.set("code_verifier", verifier);`,     `const code_challenge = sha256(code_verifier);`,     `const u = "https://idp/cb?state=" + s + "&redirect=" + r;`,
  • Network accessline 21
    `const code_challenge = sha256(code_verifier);`,     `const u = "https://idp/cb?state=" + s + "&redirect=" + r;`,     `// redirect handler with state= param parsing`,
  • Network accessline 22
    `const u = "https://idp/cb?state=" + s + "&redirect=" + r;`,
  • Network accessline 23
    `// redirect handler with state= param parsing`,     `const url = "https://app/cb?code=" + c;`,     `if (qs.includes("&code=")) handle();`,
  • Network accessline 24
    `const url = "https://app/cb?code=" + c;`,
  • Access to secretsline 26
    [Credential-related source omitted]
  • Access to secretsline 27
    [Credential-related source omitted]
  • Access to secretsline 34
    [Credential-related source omitted]
  • Access to secretsline 50
    [Credential-related source omitted]

packages/scanner/src/matchers/object-injection.ts

  • Executable scriptline 1
    Executable file

packages/scanner/src/matchers/open-redirect.ts

  • Executable scriptline 1
    Executable file

packages/scanner/src/matchers/path-traversal.ts

  • Executable scriptline 1
    Executable file

packages/scanner/src/matchers/php-cakephp-controller.ts

  • Executable scriptline 1
    Executable file

packages/scanner/src/matchers/php-codeigniter-controller.ts

  • Executable scriptline 1
    Executable file

packages/scanner/src/matchers/php-drupal-controller.ts

  • Executable scriptline 1
    Executable file

packages/scanner/src/matchers/php-laravel-route.ts

  • Executable scriptline 1
    Executable file

packages/scanner/src/matchers/php-magento-controller.ts

  • Executable scriptline 1
    Executable file

packages/scanner/src/matchers/php-slim-route.ts

  • Executable scriptline 1
    Executable file

packages/scanner/src/matchers/php-sql-raw.ts

  • Executable scriptline 1
    Executable file
  • Dangerous shell operationline 18
    `$pdo->exec("DELETE FROM users WHERE name = '" . $name . "'");`,

packages/scanner/src/matchers/php-symfony-controller.ts

  • Executable scriptline 1
    Executable file

packages/scanner/src/matchers/php-wordpress-rest.ts

  • Executable scriptline 1
    Executable file

packages/scanner/src/matchers/php-yii-controller.ts

  • Executable scriptline 1
    Executable file

packages/scanner/src/matchers/postmessage-origin.ts

  • Executable scriptline 1
    Executable file
  • Network accessline 17
    `frame.onmessage = function (e) { dispatch(e.data); };`,     `addEventListener("message", function (event) {   if (event.origin !== "https://trusted.example") return;
  • Network accessline 18
    `addEventListener("message", function (event) {   if (event.origin !== "https://trusted.example") return;   doStuff(event.data);
  • Network accessline 19
    if (event.origin !== "https://trusted.example") return;

packages/scanner/src/matchers/prisma-raw-sql.ts

  • Executable scriptline 1
    Executable file

packages/scanner/src/matchers/process-env-access.ts

  • Executable scriptline 1
    Executable file
  • Access to secretsline 16
    [Credential-related source omitted]
  • Access to secretsline 19
    [Credential-related source omitted]

packages/scanner/src/matchers/prompt-leaks-system-prompt.ts

  • Executable scriptline 1
    Executable file
  • Access to secretsline 33
    [Credential-related source omitted]
  • Access to secretsline 34
    [Credential-related source omitted]
  • Access to secretsline 35
    [Credential-related source omitted]
  • Access to secretsline 36
    [Credential-related source omitted]
  • Access to secretsline 55
    [Credential-related source omitted]

packages/scanner/src/matchers/proto-rpc-surface.ts

  • Executable scriptline 1
    Executable file

packages/scanner/src/matchers/public-endpoint.ts

  • Executable scriptline 1
    Executable file

packages/scanner/src/matchers/py-aiohttp-route.ts

  • Executable scriptline 1
    Executable file

packages/scanner/src/matchers/py-airflow-dag.ts

  • Executable scriptline 1
    Executable file

packages/scanner/src/matchers/py-bottle-route.ts

  • Executable scriptline 1
    Executable file

packages/scanner/src/matchers/py-celery-task.ts

  • Executable scriptline 1
    Executable file

packages/scanner/src/matchers/py-django-view.ts

  • Executable scriptline 1
    Executable file

packages/scanner/src/matchers/py-falcon-resource.ts

  • Executable scriptline 1
    Executable file

packages/scanner/src/matchers/py-fastapi-route.ts

  • Executable scriptline 1
    Executable file

packages/scanner/src/matchers/py-flask-route.ts

  • Executable scriptline 1
    Executable file

packages/scanner/src/matchers/py-nosql-injection.ts

  • Executable scriptline 1
    Executable file

packages/scanner/src/matchers/py-sanic-route.ts

  • Executable scriptline 1
    Executable file

packages/scanner/src/matchers/py-sql-raw.ts

  • Executable scriptline 1
    Executable file

packages/scanner/src/matchers/py-starlette-route.ts

  • Executable scriptline 1
    Executable file

packages/scanner/src/matchers/py-tornado-handler.ts

  • Executable scriptline 1
    Executable file

packages/scanner/src/matchers/rate-limit-bypass.ts

  • Executable scriptline 1
    Executable file

packages/scanner/src/matchers/rb-grape-endpoint.ts

  • Executable scriptline 1
    Executable file

packages/scanner/src/matchers/rb-hanami-action.ts

  • Executable scriptline 1
    Executable file

packages/scanner/src/matchers/rb-rails-controller.ts

  • Executable scriptline 1
    Executable file

packages/scanner/src/matchers/rb-roda-route.ts

  • Executable scriptline 1
    Executable file

packages/scanner/src/matchers/rb-sinatra-route.ts

  • Executable scriptline 1
    Executable file

packages/scanner/src/matchers/rb-sql-raw.ts

  • Executable scriptline 1
    Executable file
  • Network accessline 20
    `ActiveRecord::Base.connection.execute("UPDATE users SET role = '#{role}'")`,     `DB[:users].where("name = '#{q}'")`,     `DB.fetch("SELECT * FROM t WHERE col = '#{val}'")`,
  • Network accessline 21
    `DB[:users].where("name = '#{q}'")`,     `DB.fetch("SELECT * FROM t WHERE col = '#{val}'")`,     `Sequel.lit("name = '#{user_input}'")`,
  • Network accessline 22
    `DB.fetch("SELECT * FROM t WHERE col = '#{val}'")`,

packages/scanner/src/matchers/rce.ts

  • Executable scriptline 1
    Executable file
  • Dangerous shell operationline 11
    `exec(\`ls \${dir}\`);`,
  • Dangerous shell operationline 15
    `eval(userInput);`,

packages/scanner/src/matchers/response-header-leak.ts

  • Executable scriptline 1
    Executable file

packages/scanner/src/matchers/rs-actix-route.ts

  • Executable scriptline 1
    Executable file

packages/scanner/src/matchers/rs-axum-route.ts

  • Executable scriptline 1
    Executable file

packages/scanner/src/matchers/rs-lambda-runtime.ts

  • Executable scriptline 1
    Executable file

packages/scanner/src/matchers/rs-poem-route.ts

  • Executable scriptline 1
    Executable file

packages/scanner/src/matchers/rs-rocket-route.ts

  • Executable scriptline 1
    Executable file

packages/scanner/src/matchers/rs-sql-raw.ts

  • Executable scriptline 1
    Executable file

packages/scanner/src/matchers/rs-tide-route.ts

  • Executable scriptline 1
    Executable file

packages/scanner/src/matchers/rs-tonic-grpc.ts

  • Executable scriptline 1
    Executable file

packages/scanner/src/matchers/rs-warp-filter.ts

  • Executable scriptline 1
    Executable file

packages/scanner/src/matchers/sandbox-runtime-script.ts

  • Executable scriptline 1
    Executable file
  • Network accessline 38
    `#!/bin/bash\ngit config --global credential.helper store`,     `#!/bin/bash\necho $SANDBOX_ID\necho $CONTAINER_NAME`,     `#!/bin/bash\ncurl -fsSL https://example.com/install.sh | bash`,
  • Network accessline 39
    `#!/bin/bash\necho $SANDBOX_ID\necho $CONTAINER_NAME`,     `#!/bin/bash\ncurl -fsSL https://example.com/install.sh | bash`,     `#!/bin/bash\nnohup ./daemon &`,
  • Network accessline 40
    `#!/bin/bash\ncurl -fsSL https://example.com/install.sh | bash`,
  • Network accessline 65
    label: "TARGET_/SANDBOX_/CONTAINER_ env",       },       { regex: /\bcurl\b[^|]*\|[\s]*(?:sh|bash)/, label: "curl | sh pattern" },
  • Network accessline 66
    },       { regex: /\bcurl\b[^|]*\|[\s]*(?:sh|bash)/, label: "curl | sh pattern" },       { regex: /\b(?:nohup|&\s*$|disown)\b/, label: "background daemon launch" },
  • Dangerous shell operationline 67
    { regex: /\bcurl\b[^|]*\|[\s]*(?:sh|bash)/, label: "curl | sh pattern" },
  • Network accessline 67
    { regex: /\bcurl\b[^|]*\|[\s]*(?:sh|bash)/, label: "curl | sh pattern" },

packages/scanner/src/matchers/secret-env-var.ts

  • Executable scriptline 1
    Executable file
  • Access to secretsline 10
    [Credential-related source omitted]
  • Access to secretsline 11
    [Credential-related source omitted]
  • Access to secretsline 12
    [Credential-related source omitted]
  • Access to secretsline 13
    [Credential-related source omitted]
  • Access to secretsline 14
    [Credential-related source omitted]
  • Access to secretsline 15
    [Credential-related source omitted]
  • Access to secretsline 16
    [Credential-related source omitted]
  • Access to secretsline 17
    [Credential-related source omitted]
  • Access to secretsline 18
    [Credential-related source omitted]
  • Access to secretsline 19
    [Credential-related source omitted]
  • Access to secretsline 20
    [Credential-related source omitted]
  • Access to secretsline 21
    [Credential-related source omitted]
  • Access to secretsline 22
    [Credential-related source omitted]
  • Access to secretsline 33
    [Credential-related source omitted]
  • Access to secretsline 34
    [Credential-related source omitted]
  • Access to secretsline 37
    [Credential-related source omitted]
  • Access to secretsline 38
    [Credential-related source omitted]
  • Access to secretsline 41
    [Credential-related source omitted]
  • Access to secretsline 42
    [Credential-related source omitted]
  • Access to secretsline 46
    [Credential-related source omitted]
  • Access to secretsline 47
    [Credential-related source omitted]
  • Access to secretsline 50
    [Credential-related source omitted]

packages/scanner/src/matchers/secret-in-fallback.ts

  • Executable scriptline 1
    Executable file
  • Access to secretsline 11
    [Credential-related source omitted]
  • Access to secretsline 12
    [Credential-related source omitted]
  • Access to secretsline 13
    [Credential-related source omitted]
  • Access to secretsline 16
    [Credential-related source omitted]
  • Access to secretsline 17
    [Credential-related source omitted]
  • Access to secretsline 18
    [Credential-related source omitted]
  • Access to secretsline 19
    [Credential-related source omitted]
  • Access to secretsline 20
    [Credential-related source omitted]
  • Access to secretsline 21
    [Credential-related source omitted]

packages/scanner/src/matchers/secret-in-log.ts

  • Executable scriptline 1
    Executable file
  • Access to secretsline 35
    [Credential-related source omitted]

packages/scanner/src/matchers/secrets-exposure.ts

  • Executable scriptline 1
    Executable file
  • Access to secretsline 21
    [Credential-related source omitted]
  • Access to secretsline 81
    [Credential-related source omitted]

packages/scanner/src/matchers/secrets-plaintext-exposure.ts

  • Executable scriptline 1
    Executable file

packages/scanner/src/matchers/security-behind-flag.ts

  • Executable scriptline 1
    Executable file

packages/scanner/src/matchers/sensitive-data-in-traces.ts

  • Executable scriptline 1
    Executable file
  • Access to secretsline 33
    [Credential-related source omitted]
  • Access to secretsline 62
    [Credential-related source omitted]

packages/scanner/src/matchers/service-entry-point.ts

  • Executable scriptline 1
    Executable file

packages/scanner/src/matchers/session-cookie-config.ts

  • Executable scriptline 1
    Executable file

packages/scanner/src/matchers/slack-signing-verification.ts

  • Executable scriptline 1
    Executable file
  • Access to secretsline 25
    [Credential-related source omitted]
  • Access to secretsline 33
    [Credential-related source omitted]

packages/scanner/src/matchers/snowflake-bigquery-sql.ts

  • Executable scriptline 1
    Executable file

packages/scanner/src/matchers/soql-injection.ts

  • Executable scriptline 1
    Executable file

packages/scanner/src/matchers/spread-operator-injection.ts

  • Executable scriptline 1
    Executable file

packages/scanner/src/matchers/sql-injection.ts

  • Executable scriptline 1
    Executable file

packages/scanner/src/matchers/ssrf.ts

  • Executable scriptline 1
    Executable file
  • Network accessline 11
    filePatterns: ["**/*.{ts,tsx,js,jsx}"],   examples: [     `fetch(req.body.url);`,
  • Network accessline 12
    examples: [     `fetch(req.body.url);`,     `fetch(query.target);`,
  • Network accessline 13
    `fetch(req.body.url);`,
  • Network accessline 14
    `fetch(query.target);`,
  • Network accessline 15
    `fetch(searchParams.get('u'));`,
  • Network accessline 16
    `fetch(input.url);`,
  • Network accessline 22
    `superagent(ctx.url);`,     `https.get(req.query.target);`,     "https.request(`https://api/${req.body.host}`);",
  • Network accessline 23
    `https.get(req.query.target);`,     "https.request(`https://api/${req.body.host}`);",     `page.goto(req.body.url);`,
  • Network accessline 24
    "https.request(`https://api/${req.body.host}`);",
  • Network accessline 26
    `browser.goto(params.target);`,     `page.setContent(req.body.html);`,     `fetch(headers().get('x-target'));`,
  • Network accessline 27
    `page.setContent(req.body.html);`,     `fetch(headers().get('x-target'));`,     `fetch(cookies().get('redirect')?.value);`,
  • Network accessline 28
    `fetch(headers().get('x-target'));`,
  • Network accessline 29
    `fetch(cookies().get('redirect')?.value);`,
  • Network accessline 31
    `new URL(req.query.target);`,     `new URL(nextUrl.searchParams.get('href'));`,     "fetch(`${userBase}/items`);",
  • Network accessline 32
    `new URL(nextUrl.searchParams.get('href'));`,     "fetch(`${userBase}/items`);",     "const target = `https://${req.body.host}`;",
  • Network accessline 33
    "fetch(`${userBase}/items`);",
  • Network accessline 34
    "const target = `https://${req.body.host}`;",
  • Access to secretsline 45
    [Credential-related source omitted]
  • Access to secretsline 50
    [Credential-related source omitted]
  • Access to secretsline 55
    [Credential-related source omitted]
  • Access to secretsline 59
    [Credential-related source omitted]
  • Access to secretsline 64
    [Credential-related source omitted]
  • Access to secretsline 70
    [Credential-related source omitted]

packages/scanner/src/matchers/streaming-endpoint.ts

  • Executable scriptline 1
    Executable file
  • Network accessline 25
    `const res = await openai.chat.completions.create({ model: "gpt-4", stream: true });`,     `const r = await client.chat.completions.create({ model, messages, stream: true });`,     `fetch("/api/chat", { method: "POST" });`,
  • Network accessline 26
    `const r = await client.chat.completions.create({ model, messages, stream: true });`,     `fetch("/api/chat", { method: "POST" });`,     `app.post("/api/completion", handler);`,
  • Network accessline 27
    `fetch("/api/chat", { method: "POST" });`,
  • Network accessline 28
    `app.post("/api/completion", handler);`,     `await fetch("/api/generate", { method: "POST" });`,   ],
  • Network accessline 29
    `await fetch("/api/generate", { method: "POST" });`,

packages/scanner/src/matchers/swift-vapor-route.ts

  • Executable scriptline 1
    Executable file

packages/scanner/src/matchers/test-header-bypass.ts

  • Executable scriptline 1
    Executable file

packages/scanner/src/matchers/tf-encryption-missing.ts

  • Executable scriptline 1
    Executable file

packages/scanner/src/matchers/tf-iac-surface.ts

  • Executable scriptline 1
    Executable file

packages/scanner/src/matchers/tf-iam-wildcard.ts

  • Executable scriptline 1
    Executable file

packages/scanner/src/matchers/tf-module-unpinned.ts

  • Executable scriptline 1
    Executable file
  • Network accessline 18
    examples: [     `module "vpc" {\n  source = "github.com/terraform-aws-modules/terraform-aws-vpc"\n}`,     `module "k8s" {\n  source = "git::https://github.com/some-org/k8s-module.git"\n}`,
  • Network accessline 19
    `module "vpc" {\n  source = "github.com/terraform-aws-modules/terraform-aws-vpc"\n}`,     `module "k8s" {\n  source = "git::https://github.com/some-org/k8s-module.git"\n}`,     `module "iam" {\n  source = "git::ssh://git@github.com/org/iam.
  • Network accessline 20
    `module "k8s" {\n  source = "git::https://github.com/some-org/k8s-module.git"\n}`,
  • Network accessline 21
    `module "iam" {\n  source = "git::ssh://git@github.com/org/iam.git?ref=main"\n}`,     `module "registry" {\n  source = "terraform-aws-modules/eks/aws"\n}`,     `module "external" {\n  source = "https://example.com/modules/foo.tar.gz"\n}`,
  • Network accessline 22
    `module "registry" {\n  source = "terraform-aws-modules/eks/aws"\n}`,     `module "external" {\n  source = "https://example.com/modules/foo.tar.gz"\n}`,   ],
  • Network accessline 23
    `module "external" {\n  source = "https://example.com/modules/foo.tar.gz"\n}`,

packages/scanner/src/matchers/tf-public-ingress.ts

  • Executable scriptline 1
    Executable file

packages/scanner/src/matchers/tf-secret-in-data.ts

  • Executable scriptline 1
    Executable file
  • Access to secretsline 26
    [Credential-related source omitted]

packages/scanner/src/matchers/trpc-public-procedure.ts

  • Executable scriptline 1
    Executable file

packages/scanner/src/matchers/unix-socket-listener.ts

  • Executable scriptline 1
    Executable file

packages/scanner/src/matchers/unsafe-deserialization.ts

  • Executable scriptline 1
    Executable file
  • Dangerous shell operationline 17
    `eval(JSON.parse(input));`,

packages/scanner/src/matchers/unsafe-redirect.ts

  • Executable scriptline 1
    Executable file

packages/scanner/src/matchers/untrusted-redirect-following.ts

  • Executable scriptline 1
    Executable file
  • Network accessline 4
    /**  * Server-side fetch following redirects across hosts. Common SSRF bypass:  *   - Host validation runs against the request URL ("https://allowed.com/...")
  • Network accessline 5
    * Server-side fetch following redirects across hosts. Common SSRF bypass:  *   - Host validation runs against the request URL ("https://allowed.com/...")  *   - The fetch follows a 30x to "https://169.254.169.254/...", "http://localhost:808
  • Network accessline 6
    *   - Host validation runs against the request URL ("https://allowed.com/...")  *   - The fetch follows a 30x to "https://169.254.169.254/...", "http://localhost:8080/..."  *   - Now you've reached cloud metadata or internal services
  • Network accessline 7
    *   - The fetch follows a 30x to "https://169.254.169.254/...", "http://localhost:8080/..."
  • Network accessline 14
    *   - Block fetches to private IP ranges entirely (DNS resolution check)  *  * Flags `fetch(url)` / `axios.get(url)` / `got(url)` calls in server-side
  • Network accessline 15
    *  * Flags `fetch(url)` / `axios.get(url)` / `got(url)` calls in server-side  * files where the URL likely derives from caller input. Also flags
  • Network accessline 16
    * Flags `fetch(url)` / `axios.get(url)` / `got(url)` calls in server-side
  • Network accessline 25
    filePatterns: ["**/*.ts", "**/*.tsx", "**/*.js", "**/*.mjs"],   examples: [     `await fetch(targetUrl, { redirect: "follow" });`,
  • Network accessline 26
    examples: [     `await fetch(targetUrl, { redirect: "follow" });`,     `await fetch(callbackUrl);`,
  • Network accessline 27
    `await fetch(targetUrl, { redirect: "follow" });`,
  • Network accessline 28
    `await fetch(callbackUrl);`,
  • Network accessline 29
    `const res = await fetch(redirectUrl);`,
  • Network accessline 30
    `const r = await fetch(webhookUrl);`,
  • Network accessline 34
    `await got(imageUrl); got.get(imageUrl);`,     `await fetch(fetchUrl, { method: "GET" });`,
  • Network accessline 35
    got.get(imageUrl);`,     `await fetch(fetchUrl, { method: "GET" });`,     `await fetch(returnTo, { method: "GET" });`,
  • Network accessline 36
    `await fetch(fetchUrl, { method: "GET" });`,
  • Network accessline 37
    `await fetch(returnTo, { method: "GET" });`,
  • Network accessline 71
    // fetch(url) call where `url` is a caller-style variable
  • Network accessline 85
    lineNumbers: [i + 1],           snippet: lines.slice(start, end).join("\n"),           matchedPattern: `fetch(${m[1].slice(0, 40).trim()}) — default redirect: follow + caller-style URL`,
  • Network accessline 86
    snippet: lines.slice(start, end).join("\n"),           matchedPattern: `fetch(${m[1].slice(0, 40).trim()}) — default redirect: follow + caller-style URL`,         });
  • Network accessline 87
    matchedPattern: `fetch(${m[1].slice(0, 40).trim()}) — default redirect: follow + caller-style URL`,

packages/scanner/src/matchers/unverified-lookup.ts

  • Executable scriptline 1
    Executable file

packages/scanner/src/matchers/url-regex-validation.ts

  • Executable scriptline 1
    Executable file

packages/scanner/src/matchers/utils.ts

  • Executable scriptline 1
    Executable file

packages/scanner/src/matchers/webhook-handler.ts

  • Executable scriptline 1
    Executable file

packages/scanner/src/matchers/xss.ts

  • Executable scriptline 1
    Executable file

packages/scanner/src/matchers/zod-passthrough-mass-assignment.ts

  • Executable scriptline 1
    Executable file

packages/scanner/src/types.ts

  • Executable scriptline 1
    Executable file

packages/scanner/vitest.config.ts

  • Executable scriptline 1
    Executable file

packages/website/.gitignore

  • Network accessline 1
    # See https://help.github.com/articles/ignoring-files/ for more about ignoring files.

packages/website/README.md

  • Network accessline 1
    This is a [Next.js](https://nextjs.org) project bootstrapped with [`create-next-app`](https://nextjs.org/docs/app/api-reference/cli/create-next-app).
  • Network accessline 17
    Open [http://localhost:3000](http://localhost:3000) with your browser to see the result.
  • Network accessline 21
    This project uses [`next/font`](https://nextjs.org/docs/app/building-your-application/optimizing/fonts) to automatically optimize and load [Geist](https://vercel.com/font), a new font family for Vercel.
  • Network accessline 27
    - [Next.js Documentation](https://nextjs.org/docs) - learn about Next.js features and API.
  • Network accessline 28
    - [Learn Next.js](https://nextjs.org/learn) - an interactive Next.js tutorial.
  • Network accessline 30
    You can check out [the Next.js GitHub repository](https://github.com/vercel/next.js) - your feedback and contributions are welcome!
  • Network accessline 34
    The easiest way to deploy your Next.js app is to use the [Vercel Platform](https://vercel.com/new?utm_medium=default-template&filter=next.js&utm_source=create-next-app&utm_campaign=create-next-app-readme) from the creators of Next.js.
  • Network accessline 36
    Check out our [Next.js deployment documentation](https://nextjs.org/docs/app/building-your-application/deploying) for more details.

packages/website/app/api/search/route.ts

  • Executable scriptline 1
    Executable file

packages/website/app/docs/[...slug]/page.tsx

  • Executable scriptline 1
    Executable file
  • Network accessline 19
    if (path.startsWith("../")) {     return `https://github.com/${github.owner}/${github.repo}/blob/main/${path.replace(/^(\.\.\/)+/, "")}${suffix}`;
  • Network accessline 20
    return `https://github.com/${github.owner}/${github.repo}/blob/main/${path.replace(/^(\.\.\/)+/, "")}${suffix}`;

packages/website/app/docs/layout.tsx

  • Executable scriptline 1
    Executable file

packages/website/app/docs/page.tsx

  • Executable scriptline 1
    Executable file

packages/website/app/layout.tsx

  • Executable scriptline 1
    Executable file

packages/website/app/page.tsx

  • Executable scriptline 1
    Executable file

packages/website/app/rss.xml/route.ts

  • Executable scriptline 1
    Executable file

packages/website/components/geistdocs/mdx-components.tsx

  • Executable scriptline 1
    Executable file

packages/website/components/geistdocs/provider.tsx

  • Executable scriptline 1
    Executable file

packages/website/components/run-command.tsx

  • Executable scriptline 1
    Executable file

packages/website/eslint.config.mjs

  • Executable scriptline 1
    Executable file

packages/website/lib/geistdocs/config.tsx

  • Executable scriptline 1
    Executable file
  • Network accessline 16
    {     label: "GitHub",     href: `https://github.com/${github.owner}/${github.repo}`,
  • Network accessline 17
    label: "GitHub",     href: `https://github.com/${github.owner}/${github.repo}`,     external: true,
  • Network accessline 18
    href: `https://github.com/${github.owner}/${github.repo}`,

packages/website/lib/geistdocs/fonts.ts

  • Executable scriptline 1
    Executable file

packages/website/lib/geistdocs/source.ts

  • Executable scriptline 1
    Executable file

packages/website/next.config.ts

  • Executable scriptline 1
    Executable file
  • Network accessline 22
    source: "/",         has: [{ type: "host", value: "deepsec.sh" }],         destination: "https://vercel.com/oss/deepsec",
  • Network accessline 23
    has: [{ type: "host", value: "deepsec.sh" }],         destination: "https://vercel.com/oss/deepsec",         permanent: false,
  • Network accessline 24
    destination: "https://vercel.com/oss/deepsec",

packages/website/package.json

  • Executable scriptline 1
    Executable file

packages/website/postcss.config.mjs

  • Executable scriptline 1
    Executable file

packages/website/public/file.svg

  • Network accessline 1
    <svg fill="none" viewBox="0 0 16 16" xmlns="http://www.w3.org/2000/svg"><path d="M14.5 13.5V5.41a1 1 0 0 0-.3-.7L9.8.29A1 1 0 0 0 9.08 0H1.5v13.5A2.5 2.5 0 0 0 4 16h8a2.5 2.5 0 0 0 2.5-2.5m-1.5 0v-7H8v-5H3v12a1 1 0 0 0 1 1h8a1 1 0 0 0 1-1M9

packages/website/public/globe.svg

  • Network accessline 1
    <svg fill="none" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16"><g clip-path="url(#a)"><path fill-rule="evenodd" clip-rule="evenodd" d="M10.27 14.1a6.5 6.5 0 0 0 3.67-3.45q-1.24.21-2.7.34-.31 1.83-.97 3.1M8 16A8 8 0 1 0 8 0a8 8 0 0 

packages/website/public/next.svg

  • Network accessline 1
    <svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 394 80"><path fill="#000" d="M262 0h68.5v12.7h-27.2v66.6h-13.6V12.7H262V0ZM149 0v12.7H94v20.4h44.3v12.6H94v21h55v12.6H80.5V0h68.7zm34.3 0h-17.8l63.8 79.4h17.9l-32-39.7 32-39.6

packages/website/public/vercel.svg

  • Network accessline 1
    <svg fill="none" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1155 1000"><path d="m577.3 0 577.4 1000H0z" fill="#fff"/></svg>

packages/website/public/window.svg

  • Network accessline 1
    <svg fill="none" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16"><path fill-rule="evenodd" clip-rule="evenodd" d="M1.5 2.5h13v10a1 1 0 0 1-1 1h-11a1 1 0 0 1-1-1zM0 1h16v11.5a2.5 2.5 0 0 1-2.5 2.5h-11A2.5 2.5 0 0 1 0 12.5zm3.75 4.5a.7

packages/website/source.config.ts

  • Executable scriptline 1
    Executable file

samples/webapp/deepsec.config.ts

  • Executable scriptline 1
    Executable file
  • Network accessline 19
    id: "webapp",       root: "./your-app",       githubUrl: "https://github.com/acme/webapp/blob/main",
  • Network accessline 20
    root: "./your-app",       githubUrl: "https://github.com/acme/webapp/blob/main",       infoMarkdown: fs.readFileSync(path.join(here, "INFO.md"), "utf-8"),
  • Network accessline 21
    githubUrl: "https://github.com/acme/webapp/blob/main",

samples/webapp/matchers/webapp-debug-flag.ts

  • Executable scriptline 1
    Executable file

samples/webapp/matchers/webapp-route-no-rate-limit.ts

  • Executable scriptline 1
    Executable file

samples/webapp/package.json

  • Executable scriptline 1
    Executable file

vitest.workspace.ts

  • Executable scriptline 1
    Executable file

How the signals fit together

Facts from a static read of the files at the pinned commit. They describe what the code does, not why.

Some files could not be read; the facts below still hold.

Signal confidence: 500 facts

and 450 more

Only the first 500 facts are listed.

Works with

Agent compatibility, from the files in this repository
AgentStatusEvidenceInstall to
Claude CodeNativePath CLAUDE.md.claude/skills/<skill-name>/
CodexNativeManifest .deepsec/AGENTS.md.agents/skills/<skill-name>/
CursorCompatibleStandard SKILL.md SKILL.md.cursor/skills/<skill-name>/
Gemini CLICompatibleStandard SKILL.md SKILL.md.gemini/skills/<skill-name>/
GitHub CopilotCompatibleStandard SKILL.md SKILL.md.github/skills/<skill-name>/
OpenCodeCompatibleStandard SKILL.md SKILL.md.opencode/skills/<skill-name>/
  • Native The repository ships a manifest, folder or frontmatter field for this agent.
  • Compatible A standard SKILL.md that this agent can read.
  • Unknown No evidence either way.

Derived automatically from paths, manifests and frontmatter. Not tested on each agent.

Explore alternatives and comparisons

Add this badge to your README

It updates every night and links to this page.

vercel-labs/deepsec: #174 on hotskills, 8.4k stars

[![vercel-labs/deepsec on hotskills](https://hotskills.dev/badge/vercel-labs-deepsec.svg)](https://hotskills.dev/skill/vercel-labs-deepsec/)