github TypeScript analyzed 451ebbd deep scan · partial (383/1,569 files)

VeriTeknik/pluggedin-app

github

The Crossroads for AI Data Exchanges. A unified, self-hostable web interface for discovering, configuring, and managing Model Context Protocol (MCP) servers—bringing together AI tools, workspaces, prompts, and logs from multiple MCP sources (Claude, Cursor, etc.) under one roof.

maintainer
VeriTeknik
licence
MIT
first seen
2026-06-01
last seen
2026-09-11
releases · 30d
2
short id

Drift inferred · capture-to-capture

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

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

No tools enumerated yet for this server.

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

analyzed commit 451ebbd · analyzer v33 · 1d ago

skills & prompt files 3

danger signals17

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

code files: 1067

filesystem 49

  • fs VeriTeknik-pluggedin-app-451ebbd/app/actions/check-mcp-remote-oauth.ts :4 import { promises as fs } from 'fs';
  • fs VeriTeknik-pluggedin-app-451ebbd/app/actions/library.ts :4 import { mkdirSync, realpathSync } from 'fs';
  • fs VeriTeknik-pluggedin-app-451ebbd/app/actions/log-retention.ts :4 import fs from 'fs/promises'; // Use fs.promises
  • fs VeriTeknik-pluggedin-app-451ebbd/app/admin/blog/actions.ts :4 import { mkdir,unlink, writeFile } from 'fs/promises';
  • fs VeriTeknik-pluggedin-app-451ebbd/app/api/documents/[id]/route.ts :2 import { readFile, writeFile } from 'fs/promises';
  • fs VeriTeknik-pluggedin-app-451ebbd/app/api/documents/ai/route.ts :2 import { mkdir,writeFile } from 'fs/promises';
  • fs VeriTeknik-pluggedin-app-451ebbd/app/api/library/download/[uuid]/route.ts :1 import { readFile } from 'fs/promises';
  • fs VeriTeknik-pluggedin-app-451ebbd/app/api/settings/account/route.ts :2 import { unlink } from 'fs/promises';
  • fs VeriTeknik-pluggedin-app-451ebbd/app/api/settings/avatar/route.ts :2 import { mkdir, writeFile } from 'fs/promises';
  • fs VeriTeknik-pluggedin-app-451ebbd/lib/mcp/client-wrapper.ts :19 import * as fs from 'fs';
  • fs VeriTeknik-pluggedin-app-451ebbd/lib/mcp/oauth-process-manager.ts :3 import { promises as fs } from 'fs';
  • fs VeriTeknik-pluggedin-app-451ebbd/lib/mcp/package-manager/config.ts :1 import fs from 'fs';
show 28 more
  • fs VeriTeknik-pluggedin-app-451ebbd/lib/mcp/package-manager/handlers/base-handler.ts :1 import { promises as fs } from 'fs';
  • fs VeriTeknik-pluggedin-app-451ebbd/lib/mcp/package-manager/handlers/docker-handler.ts :2 import fs from 'fs';
  • fs VeriTeknik-pluggedin-app-451ebbd/lib/mcp/package-manager/handlers/pnpm-handler.ts :2 import { promises as fs } from 'fs';
  • fs VeriTeknik-pluggedin-app-451ebbd/lib/mcp/package-manager/handlers/uv-handler.ts :2 import { promises as fs } from 'fs';
  • fs VeriTeknik-pluggedin-app-451ebbd/lib/rag/text-extract.ts :6 import { readFile, stat } from 'fs/promises';
  • fs VeriTeknik-pluggedin-app-451ebbd/lib/services/kubernetes-service.ts :10 import * as fs from 'fs';
  • fs VeriTeknik-pluggedin-app-451ebbd/lib/vectors/vector-service.ts :29 import { existsSync, renameSync, rmSync } from 'fs';
  • fs VeriTeknik-pluggedin-app-451ebbd/lib/version-manager.ts :8 import { access, constants, mkdir, readFile, unlink, writeFile } from 'fs/promises';
  • fs VeriTeknik-pluggedin-app-451ebbd/performance-analysis.js :13 import fs from 'fs';
  • fs (weak) VeriTeknik-pluggedin-app-451ebbd/scripts/apply-migrations.js :2 import fs from 'fs'; // Import full fs module
  • fs (weak) VeriTeknik-pluggedin-app-451ebbd/scripts/copy-pdf-worker.js :3 import { copyFile, mkdir } from 'fs/promises';
  • fs (weak) VeriTeknik-pluggedin-app-451ebbd/scripts/reindex-rag.ts :30 import { existsSync, renameSync, rmSync } from 'fs';
  • fs (weak) VeriTeknik-pluggedin-app-451ebbd/tests/api/health.test.ts :18 import { readFileSync } from 'node:fs';
  • fs (weak) VeriTeknik-pluggedin-app-451ebbd/tests/db/migration-journal.test.ts :13 import { readdirSync, readFileSync } from 'node:fs';
  • fs (weak) VeriTeknik-pluggedin-app-451ebbd/tests/integration/duplicate-default-hub-naming.test.ts :2 import { readFile } from 'fs/promises';
  • fs (weak) VeriTeknik-pluggedin-app-451ebbd/tests/integration/workspace-promotion.test.ts :3 import { readFile } from 'fs/promises';
  • fs (weak) VeriTeknik-pluggedin-app-451ebbd/tests/security/admin-role-not-email.test.ts :1 import fs from 'node:fs';
  • fs (weak) VeriTeknik-pluggedin-app-451ebbd/tests/security/agent-deploy-image-validation.test.ts :1 import fs from 'node:fs';
  • fs (weak) VeriTeknik-pluggedin-app-451ebbd/tests/security/app-version-single-source.test.ts :23 import { readdirSync, readFileSync, statSync } from 'node:fs';
  • fs (weak) VeriTeknik-pluggedin-app-451ebbd/tests/security/audit-writer-not-action.test.ts :1 import fs from 'node:fs';
  • fs (weak) VeriTeknik-pluggedin-app-451ebbd/tests/security/collection-content-read-paths.test.ts :1 import fs from 'node:fs';
  • fs (weak) VeriTeknik-pluggedin-app-451ebbd/tests/security/default-project-once.test.ts :1 import fs from 'node:fs';
  • fs (weak) VeriTeknik-pluggedin-app-451ebbd/tests/security/discovery-internal-not-action.test.ts :1 import fs from 'node:fs';
  • fs (weak) VeriTeknik-pluggedin-app-451ebbd/tests/security/log-retention-not-action.test.ts :1 import fs from 'node:fs';
  • fs (weak) VeriTeknik-pluggedin-app-451ebbd/tests/security/mcp-package-store-runtime.test.ts :3 import fs from 'node:fs';
  • fs (weak) VeriTeknik-pluggedin-app-451ebbd/tests/security/notification-email-not-action.test.ts :1 import fs from 'node:fs';
  • fs (weak) VeriTeknik-pluggedin-app-451ebbd/tests/security/progressive-init-not-an-endpoint.test.ts :1 import fs from 'node:fs';
  • fs (weak) VeriTeknik-pluggedin-app-451ebbd/tests/security/registry-cleanup-not-action.test.ts :1 import fs from 'node:fs';

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

shell / exec 13

  • shell (weak) VeriTeknik-pluggedin-app-451ebbd/app/actions/test-mcp-connection.ts :465 const { execFile } = await import('child_process');
  • shell VeriTeknik-pluggedin-app-451ebbd/lib/mcp/client-wrapper.ts :18 import { execFileSync } from 'child_process';
  • shell VeriTeknik-pluggedin-app-451ebbd/lib/mcp/oauth-process-manager.ts :1 import { ChildProcess, spawn } from 'child_process';
  • shell VeriTeknik-pluggedin-app-451ebbd/lib/mcp/package-manager/handlers/docker-handler.ts :1 import { execFile } from 'child_process';
  • shell VeriTeknik-pluggedin-app-451ebbd/lib/mcp/package-manager/handlers/pnpm-handler.ts :1 import { execFile } from 'child_process';
  • shell VeriTeknik-pluggedin-app-451ebbd/lib/mcp/package-manager/handlers/uv-handler.ts :1 import { execFile } from 'child_process';
  • shell (weak) VeriTeknik-pluggedin-app-451ebbd/tests/actions/collection-import-shape.test.ts :116 ['node', ['-e', "require('child_process').execSync('id')"]],
  • shell (weak) VeriTeknik-pluggedin-app-451ebbd/tests/security/command-injection-handlers.test.ts :25 const { exec, execFile } = vi.mocked(await import('child_process'));
  • shell (weak) VeriTeknik-pluggedin-app-451ebbd/tests/security/command-injection.test.ts :9 * lifted out as the "package name" and interpolated into an `exec()` string,
  • shell (weak) VeriTeknik-pluggedin-app-451ebbd/tests/security/compose-app-ingress.test.ts :2 import { execFileSync } from 'node:child_process';
  • shell (weak) VeriTeknik-pluggedin-app-451ebbd/tests/security/import-server-ownership.test.ts :185 ['node', ['-e', "require('child_process').execSync('id')"]],
  • shell (weak) VeriTeknik-pluggedin-app-451ebbd/tests/security/mcp-package-store-runtime.test.ts :2 import { execFileSync } from 'node:child_process';
show 1 more
  • shell (weak) VeriTeknik-pluggedin-app-451ebbd/tests/security/test-mcp-connection.test.ts :12 const { exec, execFile } = vi.mocked(await import('child_process'));

network 72

  • net VeriTeknik-pluggedin-app-451ebbd/app/(auth)/logout/page.tsx :16 await fetch('/api/auth/logout', {
  • net VeriTeknik-pluggedin-app-451ebbd/app/(sidebar-layout)/(container)/agents/[id]/page.tsx :253 const response = await fetch(`/api/agents/${id}/${endpoint}`, {
  • net VeriTeknik-pluggedin-app-451ebbd/app/(sidebar-layout)/(container)/agents/marketplace/[namespace]/[name]/page.tsx :52 const response = await fetch(url);
  • net VeriTeknik-pluggedin-app-451ebbd/app/(sidebar-layout)/(container)/agents/marketplace/page.tsx :51 const response = await fetch(url);
  • net VeriTeknik-pluggedin-app-451ebbd/app/(sidebar-layout)/(container)/agents/page.tsx :150 const response = await fetch('/api/agents', {
  • net VeriTeknik-pluggedin-app-451ebbd/app/(sidebar-layout)/(container)/library/components/DocumentPreview.tsx :431 const response = await fetch(downloadUrl, { signal: abortController.signal });
  • net VeriTeknik-pluggedin-app-451ebbd/app/(sidebar-layout)/(container)/mcp-servers/[uuid]/page.tsx :99 (url: string) => fetch(url).then((res) => res.json()) as Promise<ResourceTemplate[]>
  • net VeriTeknik-pluggedin-app-451ebbd/app/(sidebar-layout)/(container)/mcp-servers/components/custom-instructions-editor.tsx :24 const fetcher = (url: string) => fetch(url).then((res) => {
  • net VeriTeknik-pluggedin-app-451ebbd/app/(sidebar-layout)/(container)/mcp-servers/components/prompt-list.tsx :13 const fetcher = (url: string) => fetch(url).then((res) => {
  • net VeriTeknik-pluggedin-app-451ebbd/app/(sidebar-layout)/(container)/mcp-servers/components/resource-list.tsx :15 const fetcher = (url: string) => fetch(url).then((res) => {
  • net VeriTeknik-pluggedin-app-451ebbd/app/(sidebar-layout)/(container)/mcp-servers/components/resource-template-list.tsx :15 const fetcher = (url: string) => fetch(url).then((res) => {
  • net VeriTeknik-pluggedin-app-451ebbd/app/(sidebar-layout)/(container)/mcp-servers/components/smart-server-wizard/wizard-steps/EnvVarConfigStep.tsx :122 const response = await fetch(`/api/analyze-repository?url=${encodeURIComponent(data.githubUrl!)}`);
show 28 more
  • net VeriTeknik-pluggedin-app-451ebbd/app/(sidebar-layout)/(container)/mcp-servers/components/smart-server-wizard/wizard-steps/GitHubInputStep.tsx :64 const response = await fetch(`https://api.github.com/repos/${parsed.owner}/${parsed.repo}`);
  • net VeriTeknik-pluggedin-app-451ebbd/app/(sidebar-layout)/(container)/memory/components/FreshMemoryTab.tsx :111 const res = await fetch('/api/memory/sessions/prune', { method: 'POST' });
  • net VeriTeknik-pluggedin-app-451ebbd/app/(sidebar-layout)/(container)/search/components/CardGrid.tsx :199 const response = await fetch(`/api/registry/server/${item.external_id}`);
  • net VeriTeknik-pluggedin-app-451ebbd/app/(sidebar-layout)/(container)/search/page.tsx :143 const res = await fetch(url);
  • net VeriTeknik-pluggedin-app-451ebbd/app/(sidebar-layout)/(container)/settings/components/settings-form.tsx :127 const response = await fetch('/api/settings/profile', {
  • net VeriTeknik-pluggedin-app-451ebbd/app/(sidebar-layout)/release-notes/page.tsx :22 const res = await fetch(url);
  • net VeriTeknik-pluggedin-app-451ebbd/app/actions/detect-package.ts :64 const response = await fetch(
  • net VeriTeknik-pluggedin-app-451ebbd/app/actions/metrics.ts :71 const registryResponse = await fetch('https://registry.plugged.in/v0/enhanced/servers?limit=1', {
  • net VeriTeknik-pluggedin-app-451ebbd/app/actions/registry-servers.ts :85 const response = await fetch(userUrl.toString(), {
  • net VeriTeknik-pluggedin-app-451ebbd/app/actions/reviews.ts :30 const response = await fetch(targetUrl.toString(), {
  • net VeriTeknik-pluggedin-app-451ebbd/app/actions/shared-content.ts :139 * @param limit Number of servers to fetch (default: 6)
  • net VeriTeknik-pluggedin-app-451ebbd/app/admin/agent-templates/actions.ts :155 const response = await fetch(endpoint.toString(), { headers });
  • net VeriTeknik-pluggedin-app-451ebbd/app/admin/model-services/page.tsx :131 const response = await fetch('/api/admin/model-services');
  • net VeriTeknik-pluggedin-app-451ebbd/app/admin/models/page.tsx :133 const res = await fetch('/api/admin/models');
  • net (weak) VeriTeknik-pluggedin-app-451ebbd/app/api/admin/model-services/[serviceId]/test/route.ts :78 const healthResponse = await fetch(healthUrl, {
  • net VeriTeknik-pluggedin-app-451ebbd/app/api/admin/model-services/route.ts :63 const healthResponse = await fetch(`${url}${healthEndpoint}`, {
  • net VeriTeknik-pluggedin-app-451ebbd/app/api/analyze-repository/route.ts :99 const repoCheck = await fetch(repoApiUrl, { headers });
  • net VeriTeknik-pluggedin-app-451ebbd/app/api/auth/callback/registry/route.ts :91 const tokenResponse = await fetch('https://github.com/login/oauth/access_token', {
  • net VeriTeknik-pluggedin-app-451ebbd/app/api/github/stars/route.ts :34 const response = await fetch(`https://api.github.com/repos/${repo}`, { headers });
  • net VeriTeknik-pluggedin-app-451ebbd/app/api/mcp/oauth/callback/route.ts :99 const response = await fetch(callbackUrl.toString(), {
  • net VeriTeknik-pluggedin-app-451ebbd/app/cli/authorize/use-cli-authorize.ts :89 const res = await fetch('/api/cli/auth/approve', {
  • net VeriTeknik-pluggedin-app-451ebbd/app/collections/page.tsx :30 const res = await fetch(url);
  • net VeriTeknik-pluggedin-app-451ebbd/components/agents/agent-config-form.tsx :64 const response = await fetch('/api/model-router/models');
  • net VeriTeknik-pluggedin-app-451ebbd/components/agents/agent-deploy-wizard.tsx :182 fetch('/api/model-router/models')
  • net VeriTeknik-pluggedin-app-451ebbd/components/analytics/link-tracker.tsx :91 fetch(process.env.NEXT_PUBLIC_ANALYTICS_ENDPOINT, {
  • net VeriTeknik-pluggedin-app-451ebbd/components/auth/auth-form.tsx :244 const response = await fetch('/api/auth/register', {
  • net VeriTeknik-pluggedin-app-451ebbd/components/intelligent-server-dialog.tsx :255 fetch('https://api.github.com/user', {
  • net VeriTeknik-pluggedin-app-451ebbd/components/landing-sections/popular-servers.tsx :51 fetch('/api/popular-servers?limit=6')

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

secrets 59

  • secrets VeriTeknik-pluggedin-app-451ebbd/app/actions/mcp-server-metrics.ts :30 const apiKey = process.env.REGISTRY_INTERNAL_API_KEY;
  • secrets VeriTeknik-pluggedin-app-451ebbd/app/admin/agent-templates/actions.ts :142 process.env.GITHUB_PACKAGES_TOKEN ||
  • secrets VeriTeknik-pluggedin-app-451ebbd/app/admin/emails/actions.ts :951 if (!process.env.UNSUBSCRIBE_TOKEN_SECRET) {
  • secrets VeriTeknik-pluggedin-app-451ebbd/app/api/agents/[id]/access-token/route.ts :27 const secret = process.env.AGENT_ACCESS_TOKEN_SECRET || process.env.NEXTAUTH_SECRET;
  • secrets VeriTeknik-pluggedin-app-451ebbd/app/api/agents/zombie-check/route.ts :31 const cronSecret = process.env.CRON_SECRET;
  • secrets VeriTeknik-pluggedin-app-451ebbd/app/api/auth/callback/registry/route.ts :99 client_secret: process.env.GITHUB_CLIENT_SECRET || '',
  • secrets (weak) VeriTeknik-pluggedin-app-451ebbd/app/api/auth/test-email/route.ts :91 if (!authHeader || !authHeader.startsWith('Bearer ') || authHeader.substring(7) !== process.env.ADMIN_SECRET) {
  • secrets VeriTeknik-pluggedin-app-451ebbd/app/api/clipboard/cleanup/route.ts :17 const cronSecret = process.env.CRON_SECRET;
  • secrets VeriTeknik-pluggedin-app-451ebbd/app/api/clusters/[clusterId]/agents/[agentId]/route.ts :26 const COLLECTOR_API_KEY = process.env.PAP_COLLECTOR_API_KEY;
  • secrets VeriTeknik-pluggedin-app-451ebbd/app/api/clusters/[clusterId]/agents/route.ts :32 const COLLECTOR_API_KEY = process.env.PAP_COLLECTOR_API_KEY;
  • secrets VeriTeknik-pluggedin-app-451ebbd/app/api/clusters/[clusterId]/alerts/route.ts :22 const COLLECTOR_API_KEY = process.env.PAP_COLLECTOR_API_KEY;
  • secrets VeriTeknik-pluggedin-app-451ebbd/app/api/db-migrations/route.ts :10 const adminSecret = process.env.ADMIN_MIGRATION_SECRET;
show 28 more
  • secrets VeriTeknik-pluggedin-app-451ebbd/app/api/emails/process-scheduled/route.ts :21 const cronSecret = process.env.CRON_SECRET;
  • secrets VeriTeknik-pluggedin-app-451ebbd/app/api/github/stars/route.ts :29 const token = process.env.GITHUB_TOKEN || process.env.GITHUB_PAT;
  • secrets VeriTeknik-pluggedin-app-451ebbd/app/api/memory/cbp/route.ts :28 const expected = process.env.CRON_SECRET;
  • secrets VeriTeknik-pluggedin-app-451ebbd/app/api/memory/gut/route.ts :21 const expected = process.env.CRON_SECRET;
  • secrets VeriTeknik-pluggedin-app-451ebbd/app/api/model-router/sync/route.ts :95 const MODEL_ROUTER_JWT_SECRET = process.env.MODEL_ROUTER_JWT_SECRET;
  • secrets VeriTeknik-pluggedin-app-451ebbd/app/api/oauth/cleanup-pkce/route.ts :32 const cronSecret = process.env.CRON_SECRET;
  • secrets VeriTeknik-pluggedin-app-451ebbd/app/api/oauth/refresh-tokens/route.ts :52 const cronSecret = process.env.CRON_SECRET;
  • secrets VeriTeknik-pluggedin-app-451ebbd/app/api/v1/auth/model-router-token/route.ts :27 const secret = process.env.MODEL_ROUTER_JWT_SECRET;
  • secrets VeriTeknik-pluggedin-app-451ebbd/app/api/v1/chat/completions/route.ts :350 openai: !!process.env.OPENAI_API_KEY,
  • secrets (weak) VeriTeknik-pluggedin-app-451ebbd/infra/scripts/test-reencrypt-idempotency.mjs :48 const OLD = process.env.OLD_KEY;
  • secrets VeriTeknik-pluggedin-app-451ebbd/lib/ai/index.ts :76 const apiKey = process.env.GEMINI_API_KEY;
  • secrets VeriTeknik-pluggedin-app-451ebbd/lib/auth.ts :81 secret: process.env.NEXTAUTH_SECRET,
  • secrets VeriTeknik-pluggedin-app-451ebbd/lib/cron-auth.ts :11 const expected = process.env.CRON_SECRET;
  • secrets VeriTeknik-pluggedin-app-451ebbd/lib/email-translation-service.ts :112 const anthropicKey = process.env.ANTHROPIC_API_KEY;
  • secrets VeriTeknik-pluggedin-app-451ebbd/lib/encryption.ts :23 const key = process.env.NEXT_SERVER_ACTIONS_ENCRYPTION_KEY;
  • secrets VeriTeknik-pluggedin-app-451ebbd/lib/env-validation.ts :179 process.env.ANTHROPIC_API_KEY ||
  • secrets VeriTeknik-pluggedin-app-451ebbd/lib/github/release-fetcher.ts :15 const GITHUB_PAT = process.env.GITHUB_PAT || process.env.GITHUB_TOKEN;
  • secrets VeriTeknik-pluggedin-app-451ebbd/lib/mcp/connector/handles.ts :22 const secret = process.env.NEXTAUTH_SECRET;
  • secrets VeriTeknik-pluggedin-app-451ebbd/lib/mcp/package-detector.ts :441 const githubToken = process.env.GITHUB_TOKEN;
  • secrets VeriTeknik-pluggedin-app-451ebbd/lib/memory/cbp/hash-utils.ts :21 const secret = process.env.CBP_HASH_SECRET || process.env.NEXTAUTH_SECRET;
  • secrets VeriTeknik-pluggedin-app-451ebbd/lib/model-router/providers.ts :227 openai: process.env.OPENAI_API_KEY,
  • secrets VeriTeknik-pluggedin-app-451ebbd/lib/model-router/token.ts :10 const MODEL_ROUTER_JWT_SECRET = process.env.MODEL_ROUTER_JWT_SECRET;
  • secrets VeriTeknik-pluggedin-app-451ebbd/lib/oauth/integrity.ts :33 const secret = process.env.OAUTH_INTEGRITY_SECRET || process.env.NEXTAUTH_SECRET;
  • secrets VeriTeknik-pluggedin-app-451ebbd/lib/oauth/provider/consent-ticket.ts :53 const secret = process.env.NEXTAUTH_SECRET;
  • secrets VeriTeknik-pluggedin-app-451ebbd/lib/services/kubernetes-service.ts :16 const K8S_SERVICE_ACCOUNT_TOKEN = process.env.K8S_SERVICE_ACCOUNT_TOKEN || '';
  • secrets VeriTeknik-pluggedin-app-451ebbd/lib/unsubscribe-tokens.ts :8 const UNSUBSCRIBE_SECRET = process.env.UNSUBSCRIBE_TOKEN_SECRET ||
  • secrets VeriTeknik-pluggedin-app-451ebbd/middleware.ts :93 const token = await getToken({ req: request, secret: process.env.NEXTAUTH_SECRET });
  • secrets (weak) VeriTeknik-pluggedin-app-451ebbd/scripts/migrate-encryption.ts :73 const encryptionKey = process.env.NEXT_SERVER_ACTIONS_ENCRYPTION_KEY;

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

database 9

  • db VeriTeknik-pluggedin-app-451ebbd/db/index.ts :4 import { Pool } from 'pg';
  • db (weak) VeriTeknik-pluggedin-app-451ebbd/infra/scripts/reencrypt-data-key.mjs :31 import pg from 'pg';
  • db (weak) VeriTeknik-pluggedin-app-451ebbd/infra/scripts/test-reencrypt-idempotency.mjs :27 import pg from 'pg';
  • db VeriTeknik-pluggedin-app-451ebbd/lib/rate-limiter-redis.ts :1 import Redis from 'ioredis';
  • db VeriTeknik-pluggedin-app-451ebbd/lib/rate-limiter.ts :68 const Redis = require('ioredis');
  • db (weak) VeriTeknik-pluggedin-app-451ebbd/scripts/add-sample-mcp-servers.ts :9 import { Pool } from 'pg';
  • db (weak) VeriTeknik-pluggedin-app-451ebbd/scripts/apply-migrations.js :4 import pg from 'pg';
  • db (weak) VeriTeknik-pluggedin-app-451ebbd/scripts/set-admin-user.ts :9 import { Pool } from 'pg';
  • db (weak) VeriTeknik-pluggedin-app-451ebbd/scripts/setup-email-consents.ts :16 import pg from 'pg';

install hooks 1

  • postinstall VeriTeknik-pluggedin-app-451ebbd/package.json :18 node scripts/copy-pdf-worker.js

declared dependencies 134

  • @modelcontextprotocol/sdk@1.30.0
  • @auth/drizzle-adapter@^1.11.1
  • @google/genai@^1.43.0
  • @h1deya/langchain-mcp-tools@^0.4.1
  • @hookform/resolvers@^5.2.2
  • @langchain/anthropic@^1.3.21
  • @langchain/core@^1.1.29
  • @langchain/google-genai@^2.1.21
  • @langchain/langgraph@^1.2.0
  • @langchain/openai@^1.2.11
  • @monaco-editor/react@^4.7.0
  • @octokit/rest@^22.0.1
show 28 more
  • @radix-ui/react-accordion@^1.2.12
  • @radix-ui/react-alert-dialog@^1.1.15
  • @radix-ui/react-avatar@^1.1.11
  • @radix-ui/react-checkbox@^1.3.3
  • @radix-ui/react-collapsible@^1.1.12
  • @radix-ui/react-dialog@^1.1.15
  • @radix-ui/react-dropdown-menu@^2.1.16
  • @radix-ui/react-label@^2.1.8
  • @radix-ui/react-popover@^1.1.15
  • @radix-ui/react-progress@^1.1.8
  • @radix-ui/react-radio-group@^1.3.8
  • @radix-ui/react-scroll-area@^1.2.10
  • @radix-ui/react-select@^2.2.6
  • @radix-ui/react-separator@^1.1.8
  • @radix-ui/react-slider@^1.3.6
  • @radix-ui/react-slot@^1.2.4
  • @radix-ui/react-switch@^1.2.6
  • @radix-ui/react-tabs@^1.1.13
  • @radix-ui/react-toast@^1.2.15
  • @radix-ui/react-toggle@^1.1.10
  • @radix-ui/react-toggle-group@^1.1.11
  • @radix-ui/react-tooltip@^1.2.8
  • @radix-ui/react-visually-hidden@^1.2.4
  • @sentry/nextjs@^10.40.0
  • @tanstack/react-table@^8.21.3
  • @tanstack/react-virtual@^3.13.19
  • @types/lodash@^4.17.24
  • @types/prismjs@^1.26.6

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

perm:untrusted 5

  • untrusted VeriTeknik-pluggedin-app-451ebbd/app/(sidebar-layout)/(container)/mcp-servers/[uuid]/page.tsx :99 (url: string) => fetch(url).then((res) => res.json()) as Promise<ResourceTemplate[]>
  • untrusted VeriTeknik-pluggedin-app-451ebbd/app/(sidebar-layout)/(container)/mcp-servers/components/custom-instructions-editor.tsx :24 const fetcher = (url: string) => fetch(url).then((res) => {
  • untrusted VeriTeknik-pluggedin-app-451ebbd/app/(sidebar-layout)/(container)/mcp-servers/components/prompt-list.tsx :13 const fetcher = (url: string) => fetch(url).then((res) => {
  • untrusted VeriTeknik-pluggedin-app-451ebbd/app/(sidebar-layout)/(container)/mcp-servers/components/resource-list.tsx :15 const fetcher = (url: string) => fetch(url).then((res) => {
  • untrusted VeriTeknik-pluggedin-app-451ebbd/app/(sidebar-layout)/(container)/mcp-servers/components/resource-template-list.tsx :15 const fetcher = (url: string) => fetch(url).then((res) => {

transport_posture 2

  • network-listening, binds all interfaces, no auth detected VeriTeknik-pluggedin-app-451ebbd/lib/mcp/utils/port-allocator.ts :62 server.listen(port, '0.0.0.0');
  • punycode (IDN homograph) host in endpoint VeriTeknik-pluggedin-app-451ebbd/tests/security/url-validator.test.ts :303 expect(() => validateExternalUrl('https://xn--e1afmkfd.xn--p1ai')).toThrow('Domain not allowed');