github analyzed 9dff4bc

QueueLab/QCX

github

Language to Maps

maintainer
QueueLab
license
Apache-2.0
first seen
2026-06-01
last seen
2026-06-20
releases · 30d
0
short id

Drift inferred · capture-to-capture

  1. HIGH code analysis flagged committed secret in QueueLab/QCX
  2. HIGH code analysis flagged committed secret in QueueLab/QCX
capabilities 0 tools
transport 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 9dff4bc · analyzer v19 · 2d ago

danger signals1

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

filesystem 6

  • fs QueueLab-QCX-9dff4bc/app/api/embeddings/route.ts :5 import fs from 'fs';
  • fs QueueLab-QCX-9dff4bc/download_index.js :24 const fs = require("fs");
  • fs QueueLab-QCX-9dff4bc/patch_header_portal.js :1 const fs = require('fs');
  • fs QueueLab-QCX-9dff4bc/patch_header_search.js :1 const fs = require('fs');
  • fs QueueLab-QCX-9dff4bc/patch_mobile_icons.js :1 const fs = require('fs');
  • fs QueueLab-QCX-9dff4bc/patch_mobile_icons_2.js :1 const fs = require('fs');

network 6

  • net QueueLab-QCX-9dff4bc/components/header-search-button.tsx :103 const response = await fetch(staticMapUrl);
  • net QueueLab-QCX-9dff4bc/components/resolution-carousel.tsx :37 const response = await fetch(googleImage)
  • net QueueLab-QCX-9dff4bc/components/sidebar/chat-history-client.tsx :46 const response = await fetch('/api/chats?limit=50&offset=0'); // Example limit/offset
  • net QueueLab-QCX-9dff4bc/lib/agents/resolution-search.tsx :53 const response = await fetch(
  • net QueueLab-QCX-9dff4bc/lib/agents/tools/retrieve.tsx :18 const response = await fetch(`https://r.jina.ai/${url}`, {
  • net QueueLab-QCX-9dff4bc/lib/agents/tools/video-search.tsx :19 const response = await fetch('https://google.serper.dev/videos', {

secrets 14

  • secrets QueueLab-QCX-9dff4bc/app/api/embeddings/route.ts :12 const GCP_CREDENTIALS_PATH = process.env.GCP_CREDENTIALS_PATH || '/home/ubuntu/gcp_credentials.json';
  • secrets QueueLab-QCX-9dff4bc/components/header-search-button.tsx :96 const apiKey = process.env.NEXT_PUBLIC_GOOGLE_MAPS_API_KEY;
  • secrets QueueLab-QCX-9dff4bc/components/map/google-map.tsx :18 const apiKey = process.env.NEXT_PUBLIC_GOOGLE_MAPS_API_KEY
  • secrets QueueLab-QCX-9dff4bc/components/map/mapbox-map.tsx :17 mapboxgl.accessToken = process.env.NEXT_PUBLIC_MAPBOX_ACCESS_TOKEN as string;
  • secrets QueueLab-QCX-9dff4bc/download_index.js :43 const GCP_CREDENTIALS_PATH = process.env.GCP_CREDENTIALS_PATH;
  • secrets QueueLab-QCX-9dff4bc/lib/agents/resolution-search.tsx :20 const client = tavily({ apiKey: process.env.TAVILY_API_KEY })
  • secrets QueueLab-QCX-9dff4bc/lib/agents/tools/geospatial.tsx :40 const composioApiKey = process.env.COMPOSIO_API_KEY;
  • secrets QueueLab-QCX-9dff4bc/lib/agents/tools/index.tsx :27 if (process.env.TAVILY_API_KEY) {
  • secrets QueueLab-QCX-9dff4bc/lib/agents/tools/search.tsx :85 const client = tavily({ apiKey: process.env.TAVILY_API_KEY })
  • secrets QueueLab-QCX-9dff4bc/lib/agents/tools/video-search.tsx :22 'X-API-KEY': process.env.SERPER_API_KEY || '',
  • secrets QueueLab-QCX-9dff4bc/lib/auth/get-current-user.ts :7 const supabaseAnonKey = process.env.NEXT_PUBLIC_SUPABASE_ANON_KEY;
  • secrets QueueLab-QCX-9dff4bc/lib/supabase/client.ts :4 const supabaseAnonKey = process.env.NEXT_PUBLIC_SUPABASE_ANON_KEY;
  • secrets QueueLab-QCX-9dff4bc/lib/utils/index.ts :27 const xaiApiKey = process.env.XAI_API_KEY;
  • secrets QueueLab-QCX-9dff4bc/mapbox_mcp/composio-mapbox.ts :16 const mapboxToken = process.env.MAPBOX_ACCESS_TOKEN;

database 2

  • db QueueLab-QCX-9dff4bc/lib/db/index.ts :2 import { Pool, type PoolConfig } from 'pg'; // Uses Pool from pg, import PoolConfig
  • db QueueLab-QCX-9dff4bc/lib/db/migrate.ts :3 import { Pool } from 'pg';

declared dependencies 99

  • @ai-sdk/amazon-bedrock@^1.1.6
  • @ai-sdk/anthropic@^1.2.12
  • @ai-sdk/google@^1.2.22
  • @ai-sdk/openai@^1.3.24
  • @ai-sdk/xai@^1.2.18
  • @composio/core@^0.3.3
  • @google-cloud/storage@^7.18.0
  • @google/generative-ai@^0.24.1
  • @heroicons/react@^2.2.0
  • @hookform/resolvers@3.3.4
  • @mapbox/mapbox-gl-draw@^1.5.0
  • @modelcontextprotocol/sdk@^1.13.0
  • @radix-ui/react-alert-dialog@^1.1.10
  • @radix-ui/react-avatar@^1.1.6
  • @radix-ui/react-checkbox@^1.2.2
  • @radix-ui/react-collapsible@^1.1.7
  • @radix-ui/react-dialog@^1.1.10
  • @radix-ui/react-dropdown-menu@^2.1.11
  • @radix-ui/react-label@^2.1.4
  • @radix-ui/react-radio-group@^1.3.4
  • @radix-ui/react-separator@^1.1.4
  • @radix-ui/react-slider@^1.3.2
  • @radix-ui/react-slot@^1.2.0
  • @radix-ui/react-switch@^1.2.2
  • @radix-ui/react-tabs@^1.1.9
  • @radix-ui/react-toast@^1.2.11
  • @radix-ui/react-tooltip@^1.2.3
  • @supabase/ssr@^0.3.0
  • @supabase/supabase-js@^2.0.0
  • @tailwindcss/typography@^0.5.16
  • @tavily/core@^0.6.4
  • @turf/turf@^7.2.0
  • @types/mapbox__mapbox-gl-draw@^1.4.8
  • @types/pg@^8.15.4
  • @upstash/redis@^1.35.0
  • @vercel/analytics@^1.5.0
  • @vercel/speed-insights@^1.2.0
  • @vis.gl/react-google-maps@^1.7.1
  • ai@^4.3.19
  • build@^0.1.4
  • class-variance-authority@^0.7.1
  • clsx@^2.1.1
  • cookie@^0.6.0
  • csv-parse@^6.1.0
  • dotenv@^16.5.0
  • drizzle-kit@^0.31.1
  • drizzle-orm@^0.29.0
  • embla-carousel-react@^8.6.0
  • exa-js@^1.6.13
  • framer-motion@^12.23.24
  • geotiff@^2.1.4-beta.1
  • glassmorphic@^0.0.3
  • html2canvas@^1.4.1
  • jspdf@^4.2.1
  • katex@^0.16.22
  • lodash@^4.17.21
  • lottie-react@^2.4.1
  • lucide-react@^0.507.0
  • mapbox-gl@^3.11.0
  • next@15.3.8
  • next-themes@^0.3.0
  • open-codex@^0.1.30
  • pg@^8.16.2
  • proj4@^2.20.2
  • radix-ui@^1.3.4
  • react@19.1.2
  • react-dom@19.1.2
  • react-hook-form@^7.56.2
  • react-icons@^5.5.0
  • react-markdown@^9.1.0
  • react-textarea-autosize@^8.5.9
  • react-toastify@^10.0.6
  • rehype-external-links@^3.0.0
  • rehype-katex@^7.0.1
  • remark-gfm@^4.0.1
  • remark-math@^6.0.0
  • sonner@^1.7.4
  • tailwind-merge@^2.6.0
  • tailwindcss-animate@^1.0.7
  • tz-lookup@^6.1.25
  • use-mcp@^0.0.9
  • uuid@^9.0.0
  • zod@^3.25.0
  • zustand@^5.0.9
  • @playwright/test@^1.60.0
  • @types/cookie@^0.6.0
  • @types/lodash@^4.17.21
  • @types/mapbox-gl@^3.4.1
  • @types/node@^20.17.30
  • @types/react@^19.1.8
  • @types/react-dom@^19.1.6
  • @types/tz-lookup@^6.1.2
  • @types/uuid@^9.0.0
  • cross-env@^7.0.3
  • eslint@^8.57.1
  • eslint-config-next@^14.2.28
  • postcss@^8.5.3
  • tailwindcss@^3.4.17
  • typescript@^5.8.3

clipboard 1

  • navigator.clipboard QueueLab-QCX-9dff4bc/lib/hooks/use-copy-to-clipboard.ts :15 if (typeof window === 'undefined' || !navigator.clipboard?.writeText) {

obfuscation 1

  • dynamic require()/import() QueueLab-QCX-9dff4bc/app/actions.tsx :731 const { getCurrentUserIdOnServer } = await import(