Open-source auth gateway connecting 1000+ SaaS providers to AI agents through SDK, CLI, MCP, HTTP, and OpenAPI.
Drift inferred · capture-to-capture
- HIGH code analysis flagged committed secret in oomol-lab/open-connector
transport http counts 0 tools · 0 res
· 0 prompts
permission surface via code analysis
No tools enumerated yet for this server.
prompt-surface
shipped agent-instruction files + hidden-content / dangerous-code findings —
quoted from the analyzed source
analyzed commit e86860c · analyzer v28 · 2d ago
skills & prompt files 2
danger signals44
- suspicious endpoint 169.254.169.254 (cloud metadata) oomol-lab-open-connector-e86860c/src/core/guarded-fetch.test.ts :70
"http://169.254.169.254/latest/meta-data/", - suspicious endpoint 93.184.216.34 oomol-lab-open-connector-e86860c/src/core/guarded-fetch.test.ts :369
await guarded("https://93.184.216.34/"); - suspicious endpoint 100.100.100.200 (cloud metadata) oomol-lab-open-connector-e86860c/src/core/request.test.ts :74
"http://100.100.100.200/", - suspicious endpoint 169.254.169.254 (cloud metadata) oomol-lab-open-connector-e86860c/src/core/request.test.ts :75
"http://169.254.169.254/", - suspicious endpoint eu.posthog.com (telemetry) oomol-lab-open-connector-e86860c/src/oauth/oauth-flow-service.test.ts :434
posthog_base_url: "https://eu.posthog.com", - suspicious endpoint amplitude.com (telemetry) oomol-lab-open-connector-e86860c/src/providers/amplitude/definition.ts :18
"Amplitude project Secret Key used as the Basic Auth password for Dashboard REST API requests. Find it in Amplitude Settings > Projects > General > Secret Key: https://amplitude.com/docs/apis/authenti - suspicious endpoint amplitude.com (telemetry) oomol-lab-open-connector-e86860c/src/providers/amplitude/runtime.ts :14
export const amplitudeApiBaseUrl = "https://amplitude.com"; - suspicious endpoint analytics.eu.amplitude.com (telemetry) oomol-lab-open-connector-e86860c/src/providers/amplitude/runtime.ts :15
export const amplitudeEuApiBaseUrl = "https://analytics.eu.amplitude.com"; - suspicious endpoint app.bugsnag.com (telemetry) oomol-lab-open-connector-e86860c/src/providers/bugsnag/definition.ts :18
"Bugsnag personal auth token sent with the Authorization header using the token prefix. Find it on your Bugsnag project overview page after signing in: https://app.bugsnag.com/.", - suspicious endpoint www.bugsnag.com (telemetry) oomol-lab-open-connector-e86860c/src/providers/bugsnag/definition.ts :22
homepageUrl: "https://www.bugsnag.com", - suspicious endpoint api.bugsnag.com (telemetry) oomol-lab-open-connector-e86860c/src/providers/bugsnag/runtime.ts :13
export const bugsnagApiBaseUrl: string = "https://api.bugsnag.com"; - suspicious endpoint docs.datadoghq.com (telemetry) oomol-lab-open-connector-e86860c/src/providers/datadog/definition.ts :21
"Datadog API key used for API requests. Create or view API keys in Organization Settings: https://docs.datadoghq.com/account_management/api-app-keys/", - suspicious endpoint www.datadoghq.com (telemetry) oomol-lab-open-connector-e86860c/src/providers/datadog/definition.ts :45
homepageUrl: "https://www.datadoghq.com/", - suspicious endpoint docs.datadoghq.com (telemetry) oomol-lab-open-connector-e86860c/src/providers/datadog/executors.ts :26
const datadogCredentialHelpUrl = "https://docs.datadoghq.com/account_management/api-app-keys/"; - suspicious endpoint api.datadoghq.com (telemetry) oomol-lab-open-connector-e86860c/src/providers/datadog/executors.ts :28
us1: "https://api.datadoghq.com", - suspicious endpoint api.us3.datadoghq.com (telemetry) oomol-lab-open-connector-e86860c/src/providers/datadog/executors.ts :29
us3: "https://api.us3.datadoghq.com", - suspicious endpoint api.us5.datadoghq.com (telemetry) oomol-lab-open-connector-e86860c/src/providers/datadog/executors.ts :30
us5: "https://api.us5.datadoghq.com", - suspicious endpoint api.datadoghq.eu (telemetry) oomol-lab-open-connector-e86860c/src/providers/datadog/executors.ts :31
eu: "https://api.datadoghq.eu", - suspicious endpoint api.ap1.datadoghq.com (telemetry) oomol-lab-open-connector-e86860c/src/providers/datadog/executors.ts :32
ap1: "https://api.ap1.datadoghq.com", - suspicious endpoint api.ap2.datadoghq.com (telemetry) oomol-lab-open-connector-e86860c/src/providers/datadog/executors.ts :33
ap2: "https://api.ap2.datadoghq.com", - suspicious endpoint analytics.google.com (telemetry) oomol-lab-open-connector-e86860c/src/providers/google_analytics/definition.ts :29
homepageUrl: "https://analytics.google.com", - suspicious endpoint developer.mixpanel.com (telemetry) oomol-lab-open-connector-e86860c/src/providers/mixpanel/definition.ts :18
"Mixpanel service account secret used with HTTP Basic authentication for project-scoped query APIs. Create it from Mixpanel Service Accounts: https://developer.mixpanel.com/reference/service-accounts- - suspicious endpoint mixpanel.com (telemetry) oomol-lab-open-connector-e86860c/src/providers/mixpanel/definition.ts :46
placeholder: "https://mixpanel.com", - suspicious endpoint data.mixpanel.com (telemetry) oomol-lab-open-connector-e86860c/src/providers/mixpanel/definition.ts :55
placeholder: "https://data.mixpanel.com", - suspicious endpoint mixpanel.com (telemetry) oomol-lab-open-connector-e86860c/src/providers/mixpanel/executors.ts :32
const mixpanelDefaultBaseUrl = "https://mixpanel.com"; - suspicious endpoint data.mixpanel.com (telemetry) oomol-lab-open-connector-e86860c/src/providers/mixpanel/executors.ts :33
const mixpanelDefaultExportBaseUrl = "https://data.mixpanel.com"; - suspicious endpoint oauth.posthog.com (telemetry) oomol-lab-open-connector-e86860c/src/providers/posthog/definition.ts :15
authorizationUrl: "https://oauth.posthog.com/oauth/authorize/", - suspicious endpoint us.posthog.com (telemetry) oomol-lab-open-connector-e86860c/src/providers/posthog/definition.ts :59
"PostHog personal API key used with the Authorization Bearer header. Create or manage it at https://us.posthog.com/settings/user-api-keys or https://eu.posthog.com/settings/user-api-keys.", - suspicious endpoint posthog.com (telemetry) oomol-lab-open-connector-e86860c/src/providers/posthog/definition.ts :74
homepageUrl: "https://posthog.com", - suspicious endpoint us.posthog.com (telemetry) oomol-lab-open-connector-e86860c/src/providers/posthog/executors.ts :64
baseUrl: optionalString(input.metadata.posthog_base_url) ?? "https://us.posthog.com", - suspicious endpoint 169.254.169.254 (cloud metadata) oomol-lab-open-connector-e86860c/src/providers/provider-runtime.test.ts :103
new Response(null, { status: 302, headers: { location: "http://169.254.169.254/latest/meta-data/" } }), - suspicious endpoint segment.com (telemetry) oomol-lab-open-connector-e86860c/src/providers/segment/definition.ts :18
"Segment source write key sent as the writeKey JSON body field. Open the Segment app, select a source, then copy its write key from the source settings: https://segment.com/docs/connections/find-write - suspicious endpoint api.segment.io (telemetry) oomol-lab-open-connector-e86860c/src/providers/segment/executors.ts :25
const segmentApiBaseUrl = "https://api.segment.io/v1"; - suspicious endpoint sentry.io (telemetry) oomol-lab-open-connector-e86860c/src/providers/sentry/definition.ts :19
authorizationUrl: "https://sentry.io/oauth/authorize/", - suspicious endpoint sentry.io (telemetry) oomol-lab-open-connector-e86860c/src/providers/sentry/runtime.ts :8
export const sentryApiBaseUrl: string = "https://sentry.io/api/0/"; - suspicious endpoint api.telegram.org oomol-lab-open-connector-e86860c/src/providers/telegram/executors.ts :20
const telegramApiBaseUrl = "https://api.telegram.org"; - suspicious endpoint analytics.google.com (telemetry) oomol-lab-open-connector-e86860c/web/src/shared-ui.test.ts :24
homepageUrl: "https://analytics.google.com", - over-broad OAuth scope delete_repo oomol-lab-open-connector-e86860c/src/providers/databricks/actions.ts :390
"delete_repo", - over-broad OAuth scope gmail.modify oomol-lab-open-connector-e86860c/src/providers/gmail/scopes.ts :2
export const gmailModifyScope = "https://www.googleapis.com/auth/gmail.modify"; - over-broad OAuth scope https://www.googleapis.com/auth/documents oomol-lab-open-connector-e86860c/src/providers/googledocs/scopes.ts :2
export const googleDocsWriteScope = "https://www.googleapis.com/auth/documents"; - over-broad OAuth scope https://www.googleapis.com/auth/drive oomol-lab-open-connector-e86860c/src/providers/googledrive/scopes.ts :3
export const googleDriveFullScope = "https://www.googleapis.com/auth/drive"; - over-broad OAuth scope https://www.googleapis.com/auth/spreadsheets oomol-lab-open-connector-e86860c/src/providers/googlesheets/scopes.ts :2
export const googleSheetsFullScope = "https://www.googleapis.com/auth/spreadsheets"; - over-broad OAuth scope https://www.googleapis.com/auth/drive oomol-lab-open-connector-e86860c/src/providers/googlesheets/scopes.ts :4
export const googleDriveFullScope = "https://www.googleapis.com/auth/drive"; - over-broad OAuth scope https://www.googleapis.com/auth/drive oomol-lab-open-connector-e86860c/src/providers/googleslides/scopes.ts :4
export const googleDriveFullScope = "https://www.googleapis.com/auth/drive";
evidence-backed
findings quoted directly from the published source artifact — not inferred
code files: 4696
filesystem 8
- fs oomol-lab-open-connector-e86860c/src/catalog-store.ts :3
import { readdir, readFile } from "node:fs/promises"; - fs oomol-lab-open-connector-e86860c/src/mail/imap-smtp/protocol.ts :7
import { createWriteStream } from "node:fs"; - fs oomol-lab-open-connector-e86860c/src/mail/imap-smtp/runtime.ts :13
import { createWriteStream } from "node:fs"; - fs oomol-lab-open-connector-e86860c/src/providers/dokploy/generate.ts :3
import { mkdir, readFile, rm, writeFile } from "node:fs/promises"; - fs oomol-lab-open-connector-e86860c/src/server/api/static-routes.ts :4
import { readFile } from "node:fs/promises"; - fs oomol-lab-open-connector-e86860c/src/server/files/transit-files.ts :5
import { createReadStream, createWriteStream } from "node:fs"; - fs oomol-lab-open-connector-e86860c/src/server/index.ts :2
import { access, mkdir } from "node:fs/promises"; - fs oomol-lab-open-connector-e86860c/src/server/storage/sqlite-runtime-store.ts :18
import { readFileSync, readdirSync } from "node:fs";
shell / exec 2
- shell oomol-lab-open-connector-e86860c/src/providers/calendly/actions.ts :9
s.stringPattern(`^https://api\\.calendly\\.com/${resource}/[^/]+(?:/.*)?$`, { - shell oomol-lab-open-connector-e86860c/src/providers/dokploy/generate.ts :1
import { spawnSync } from "node:child_process";
network 20
- net oomol-lab-open-connector-e86860c/src/core/guarded-fetch.ts :104
/** Base transport behind each guarded fetch (undefined = global fetch) so re-wrapping never stacks guards. */ - net oomol-lab-open-connector-e86860c/src/providers/abuseipdb/executors.ts :4
import { isIP } from "node:net"; - net oomol-lab-open-connector-e86860c/src/providers/api_void/executors.ts :5
import { isIP } from "node:net"; - net oomol-lab-open-connector-e86860c/src/providers/aws_s3/executors.ts :10
import { isIP } from "node:net"; - net oomol-lab-open-connector-e86860c/src/providers/baidu_maps/runtime.ts :172
// the bytes sent by the proxy's fetch(url) match the RFC-1738 bytes the SN was - net oomol-lab-open-connector-e86860c/src/providers/convex/executors.ts :4
import { isIP } from "node:net"; - net oomol-lab-open-connector-e86860c/src/providers/dokploy/generate.ts :190
const response = await fetch(defaultSourceUrl); - net oomol-lab-open-connector-e86860c/src/providers/googlephotos/actions.ts :296
mediaItemIds: s.stringArray("The list of media item IDs to fetch (1-50).", { minItems: 1, maxItems: 50 }), - net oomol-lab-open-connector-e86860c/src/providers/iplocate/runtime.ts :4
import { isIP } from "node:net"; - net oomol-lab-open-connector-e86860c/src/providers/ipqualityscore/executors.ts :5
import { isIP } from "node:net"; - net oomol-lab-open-connector-e86860c/src/providers/n8n/runtime.ts :4
import { isIP } from "node:net"; - net oomol-lab-open-connector-e86860c/src/providers/provider-runtime.ts :93
/** Deployment-gated private-network opt-in applied to this provider's egress fetch (currently Dokploy). */ - net oomol-lab-open-connector-e86860c/src/providers/rocket_chat/executors.ts :11
import { isIP } from "node:net"; - net oomol-lab-open-connector-e86860c/src/server/api/action-markdown.ts :42
`const response = await fetch("http://localhost:3000/v1/actions/${action.id}", {`, - net oomol-lab-open-connector-e86860c/src/server/cloudflare.ts :32
async fetch(request: Request, env: CloudflareEnv, _ctx: CloudflareExecutionContext): Promise<Response> { - net oomol-lab-open-connector-e86860c/src/server/cloudflare/catalog-assets.ts :18
const response = await assets.fetch(new Request(new URL(path, "https://assets.local"))); - net oomol-lab-open-connector-e86860c/src/server/cloudflare/cloudflare-bindings.ts :30
fetch(request: Request): Promise<Response>; - net oomol-lab-open-connector-e86860c/web/src/actions-page.tsx :439
const response = await fetch(`/v1/actions/${props.action.id}`, { - net oomol-lab-open-connector-e86860c/web/src/api.ts :16
await fetch(path, { - net oomol-lab-open-connector-e86860c/web/src/model.ts :461
`const response = await fetch("http://localhost:3000/v1/actions/${action.id}", {`,
secrets 1
- secrets oomol-lab-open-connector-e86860c/src/server/index.ts :25
const secretCodec = createSecretCodec(process.env.OOMOL_CONNECT_ENCRYPTION_KEY);
install hooks 1
- postinstall oomol-lab-open-connector-e86860c/package.json :10
node scripts/ensure-generated.ts
declared dependencies 31
- @modelcontextprotocol/sdk@^1.30.0
- @cfworker/json-schema@^4.1.1
- @hono/node-server@^2.0.10
- @scalar/hono-api-reference@^0.11.7
- ali-oss@^6.23.0
- fast-xml-parser@^5.10.1
- hono@^4.12.27
- imapflow@^1.4.6
- jose@^6.2.3
- mailparser@^3.9.14
- mdast-util-from-markdown@^2.0.3
- mdast-util-gfm@^3.1.0
- mdast-util-to-markdown@^2.1.2
- micromark-extension-gfm@^3.0.0
- minisearch@^7.2.0
- nodemailer@^9.0.3
- pino@^10.3.1
- rss-parser@^3.13.0
- zod@^4.4.3
- @hyrious/configs@^0.1.6
- @types/ali-oss@^6.23.3
- @types/mailparser@^3.4.6
- @types/mdast@^4.0.4
- @types/node@^26.0.1
- @types/nodemailer@^8.0.1
- oxfmt@^0.56.0
- oxlint@^1.71.0
- pino-pretty@^13.1.3
- typescript@^7.0.2
- vitest@^4.1.9
- wrangler@^4.114.0
obfuscation 1
- dynamic require()/import() oomol-lab-open-connector-e86860c/scripts/provider-source.ts :23
const module = (await import(`../src/providers/${service}/definition.ts`)) as ProviderDefinitionModule;