Lightweight upload host and tool for coding agents to add files to pull requests. Cloud and self-host options.
Drift inferred · capture-to-capture
No drift recorded — single capability capture; advisories appear once its surface changes.
transport stdio · streamable-http · 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 bb8ac7d · analyzer v33 · 1d ago
skills & prompt files 10
- agent-rules buildinternet-uploads-bb8ac7d/.codex/agents/uploads-explorer.toml
- agent-rules buildinternet-uploads-bb8ac7d/.codex/agents/uploads-implementer.toml
- agent-rules buildinternet-uploads-bb8ac7d/.codex/agents/uploads-reviewer.toml
- agent-rules buildinternet-uploads-bb8ac7d/AGENTS.md
- agent-rules buildinternet-uploads-bb8ac7d/CLAUDE.md
- agent-rules buildinternet-uploads-bb8ac7d/apps/web/src/content/docs/agents.mdx
- skill buildinternet-uploads-bb8ac7d/skills/annotate-screenshots/SKILL.md
- skill buildinternet-uploads-bb8ac7d/skills/docs-page-style/SKILL.md
- skill buildinternet-uploads-bb8ac7d/skills/github-screenshots/SKILL.md
- skill buildinternet-uploads-bb8ac7d/skills/uploads-cli/SKILL.md
danger signals4
- suspicious endpoint 169.254.169.254 (cloud metadata) buildinternet-uploads-bb8ac7d/apps/api/src/storage-verify.test.ts :593
{ ...VALID_S3, endpoint: "https://169.254.169.254" }, - suspicious endpoint 169.254.169.254 (cloud metadata) buildinternet-uploads-bb8ac7d/apps/api/test/routes-render.test.ts :326
"http://169.254.169.254/", - suspicious endpoint 169.254.169.254 (cloud metadata) buildinternet-uploads-bb8ac7d/apps/auth/src/cimd.test.ts :233
"https://169.254.169.254/meta.json", - suspicious endpoint 169.254.169.254 (cloud metadata) buildinternet-uploads-bb8ac7d/packages/uploads/test/fetch-upload-source.test.ts :44
"https://169.254.169.254/latest",
evidence-backed
findings quoted directly from the published source artifact — not inferred
code files: 931
filesystem 73
- fs (weak) buildinternet-uploads-bb8ac7d/apps/api/scripts/run-timed.mjs :20
import { existsSync } from "node:fs"; - fs (weak) buildinternet-uploads-bb8ac7d/apps/api/src/file-metadata-facets.test.ts :1
import { readFileSync } from "node:fs"; - fs (weak) buildinternet-uploads-bb8ac7d/apps/api/src/github-comment-render.test.ts :1
import { readFileSync } from "node:fs"; - fs (weak) buildinternet-uploads-bb8ac7d/apps/api/src/openapi-contract.test.ts :25
import { readFileSync } from "node:fs"; - fs (weak) buildinternet-uploads-bb8ac7d/apps/api/src/poster-probe.test.ts :1
import { readFileSync } from "node:fs"; - fs (weak) buildinternet-uploads-bb8ac7d/apps/api/src/routes/me.test.ts :1
import { readFileSync } from "node:fs"; - fs (weak) buildinternet-uploads-bb8ac7d/apps/api/test/content-hash-vocab-parity.test.ts :23
import { readFileSync } from "node:fs"; - fs (weak) buildinternet-uploads-bb8ac7d/apps/api/test/helpers/sqlite-d1.ts :10
import { readFileSync } from "node:fs"; - fs (weak) buildinternet-uploads-bb8ac7d/apps/api/test/routes-galleries.test.ts :1
import { readFileSync } from "node:fs"; - fs (weak) buildinternet-uploads-bb8ac7d/apps/api/test/routes-workspace-galleries.test.ts :13
import { readFileSync } from "node:fs"; - fs (weak) buildinternet-uploads-bb8ac7d/apps/auth/src/test/fake-d1.ts :33
import { readdirSync, readFileSync } from "node:fs"; - fs (weak) buildinternet-uploads-bb8ac7d/apps/web/astro.config.mjs :1
import { createReadStream } from "node:fs";
show 28 more
- fs (weak) buildinternet-uploads-bb8ac7d/apps/web/src/legal-consent.test.ts :17
import { readFileSync } from "node:fs"; - fs (weak) buildinternet-uploads-bb8ac7d/apps/web/src/lib/changelog-ui.test.ts :1
import { readFileSync } from "node:fs"; - fs (weak) buildinternet-uploads-bb8ac7d/apps/web/src/lib/client-router-boot.test.ts :8
import { readFileSync } from "node:fs"; - fs (weak) buildinternet-uploads-bb8ac7d/apps/web/src/lib/signed-in-page.test.ts :1
import { readFileSync } from "node:fs"; - fs (weak) buildinternet-uploads-bb8ac7d/packages/comment-config/src/index.test.ts :1
import { readFileSync } from "node:fs"; - fs buildinternet-uploads-bb8ac7d/packages/ui/tsup.config.ts :1
import { copyFileSync } from "node:fs"; - fs buildinternet-uploads-bb8ac7d/packages/uploads/bin/dist-staleness.mjs :16
import { existsSync, readdirSync, statSync } from "node:fs"; - fs (weak) buildinternet-uploads-bb8ac7d/packages/uploads/scripts/check-pack.mjs :3
import { mkdtempSync, rmSync } from "node:fs"; - fs (weak) buildinternet-uploads-bb8ac7d/packages/uploads/scripts/inline-shared.mjs :10
import { readFileSync, writeFileSync } from "node:fs"; - fs buildinternet-uploads-bb8ac7d/packages/uploads/src/annotate/text.ts :10
import { readFileSync } from "node:fs"; - fs buildinternet-uploads-bb8ac7d/packages/uploads/src/commands.ts :1
import { existsSync, readFileSync } from "node:fs"; - fs buildinternet-uploads-bb8ac7d/packages/uploads/src/commands/annotate.ts :1
import { readFileSync, writeFileSync } from "node:fs"; - fs buildinternet-uploads-bb8ac7d/packages/uploads/src/commands/config.ts :1
import { existsSync } from "node:fs"; - fs buildinternet-uploads-bb8ac7d/packages/uploads/src/commands/screenshot.ts :1
import { readFileSync, writeFileSync } from "node:fs"; - fs buildinternet-uploads-bb8ac7d/packages/uploads/src/commands/update.ts :1
import { realpathSync } from "node:fs"; - fs buildinternet-uploads-bb8ac7d/packages/uploads/src/comment-config.ts :9
import fs from "node:fs"; - fs buildinternet-uploads-bb8ac7d/packages/uploads/src/config-file.ts :1
import { chmodSync, existsSync, mkdirSync, readFileSync, renameSync, writeFileSync } from "node:fs"; - fs buildinternet-uploads-bb8ac7d/packages/uploads/src/config.ts :1
import { existsSync, readFileSync } from "node:fs"; - fs buildinternet-uploads-bb8ac7d/packages/uploads/src/frame.ts :11
import { existsSync, mkdirSync, readFileSync, writeFileSync } from "node:fs"; - fs buildinternet-uploads-bb8ac7d/packages/uploads/src/hooks-install.ts :12
import fs from "node:fs"; - fs buildinternet-uploads-bb8ac7d/packages/uploads/src/report.ts :10
import { readFileSync, statSync } from "node:fs"; - fs buildinternet-uploads-bb8ac7d/packages/uploads/src/screenshot-local.ts :11
import { existsSync, readdirSync } from "node:fs"; - fs buildinternet-uploads-bb8ac7d/packages/uploads/src/screenshot.ts :11
import { existsSync, readFileSync, statSync } from "node:fs"; - fs buildinternet-uploads-bb8ac7d/packages/uploads/src/session-cli-version.ts :7
import { mkdirSync, readFileSync, writeFileSync } from "node:fs"; - fs buildinternet-uploads-bb8ac7d/packages/uploads/src/sidecar.ts :22
import { existsSync, readFileSync, writeFileSync } from "node:fs"; - fs buildinternet-uploads-bb8ac7d/packages/uploads/src/telemetry.ts :12
import { chmodSync, existsSync, mkdirSync, readFileSync, unlinkSync, writeFileSync } from "node:fs"; - fs buildinternet-uploads-bb8ac7d/packages/uploads/src/update-check.ts :8
import { mkdirSync, readFileSync, writeFileSync } from "node:fs"; - fs (weak) buildinternet-uploads-bb8ac7d/packages/uploads/test/annotate-render.test.ts :1
import { existsSync, mkdirSync, readFileSync, writeFileSync } from "node:fs";
33 more not shown — this panel samples each group; the count above is the real total.
shell / exec 16
- shell (weak) buildinternet-uploads-bb8ac7d/apps/api/scripts/run-timed.mjs :19
import { spawn, spawnSync } from "node:child_process"; - shell (weak) buildinternet-uploads-bb8ac7d/apps/auth/src/test/fake-d1.ts :178
async exec(sql: string) { - shell (weak) buildinternet-uploads-bb8ac7d/apps/web/scripts/preview-supervisor.mjs :18
import { spawn } from "node:child_process"; - shell (weak) buildinternet-uploads-bb8ac7d/packages/uploads/scripts/check-pack.mjs :2
import { execFileSync } from "node:child_process"; - shell buildinternet-uploads-bb8ac7d/packages/uploads/src/commands/hook.ts :13
import { execFileSync } from "node:child_process"; - shell buildinternet-uploads-bb8ac7d/packages/uploads/src/commands/login.ts :3
import { spawn } from "node:child_process"; - shell buildinternet-uploads-bb8ac7d/packages/uploads/src/github-gh.ts :1
import { execFileSync } from "node:child_process"; - shell buildinternet-uploads-bb8ac7d/packages/uploads/src/keys.ts :1
import { execSync } from "node:child_process"; - shell (weak) buildinternet-uploads-bb8ac7d/packages/uploads/test/cli-completion.test.ts :1
import { spawnSync } from "node:child_process"; - shell (weak) buildinternet-uploads-bb8ac7d/packages/uploads/test/hooks-install.test.ts :1
import { spawnSync } from "node:child_process"; - shell (weak) buildinternet-uploads-bb8ac7d/packages/uploads/test/inline-shared.test.ts :1
import { execFileSync } from "node:child_process"; - shell (weak) buildinternet-uploads-bb8ac7d/scripts/auth-d1-data-move.mjs :53
import { spawnSync } from "node:child_process";
show 4 more
- shell (weak) buildinternet-uploads-bb8ac7d/scripts/build-mcp-server-card.mjs :10
import { execFileSync } from "node:child_process"; - shell (weak) buildinternet-uploads-bb8ac7d/scripts/cf-error-pages/deploy.mjs :36
import { execFile } from "node:child_process"; - shell (weak) buildinternet-uploads-bb8ac7d/scripts/dev-stack-common.mjs :2
import { spawnSync } from "node:child_process"; - shell (weak) buildinternet-uploads-bb8ac7d/scripts/dev-stack.mjs :7
import { spawn, spawnSync } from "node:child_process";
network 58
- net (weak) buildinternet-uploads-bb8ac7d/apps/api/scripts/backfill-orgs.mjs :28
const res = await fetch(`${api}/admin/orgs/backfill`, { - net (weak) buildinternet-uploads-bb8ac7d/apps/api/scripts/reencrypt-workspace-secrets.mjs :25
const res = await fetch(url, { - net (weak) buildinternet-uploads-bb8ac7d/apps/api/src/github-ingest.test.ts :530
it("transient asset fetch (503) throws instead of skipping", async () => { - net buildinternet-uploads-bb8ac7d/apps/api/src/metrics-overview.ts :104
const res = await env.AUTH.fetch(`https://auth.internal/internal/metrics?since=${since}`, { - net (weak) buildinternet-uploads-bb8ac7d/apps/api/src/org-workspaces.test.ts :16
/** Stub matching the Fetcher interface's `.fetch()` shape used by env.AUTH. */ - net buildinternet-uploads-bb8ac7d/apps/api/src/org-workspaces.ts :94
response = await env.AUTH.fetch(url.toString(), { - net (weak) buildinternet-uploads-bb8ac7d/apps/api/src/routes/admin-promote.test.ts :20
/** Stub matching the Fetcher interface's `.fetch()` shape used by env.AUTH. */ - net buildinternet-uploads-bb8ac7d/apps/api/src/routes/admin-ui.ts :118
response = await env.AUTH.fetch(`https://auth.internal${path}`, { - net buildinternet-uploads-bb8ac7d/apps/api/src/routes/admin.ts :133
// fetch(), so there is nothing to strip here. - net buildinternet-uploads-bb8ac7d/apps/api/src/routes/auth.ts :111
c.env.AUTH.fetch("https://auth.internal/internal/join", { - net buildinternet-uploads-bb8ac7d/apps/api/src/routes/galleries.ts :59
* shared handler reference rather than a `.fetch()` re-dispatch (galleries - net buildinternet-uploads-bb8ac7d/apps/api/src/routes/me.ts :55
// `c.executionCtx` throws outside a real Workers/`app.fetch(req, env, ctx)`
show 28 more
- net buildinternet-uploads-bb8ac7d/apps/api/src/routes/workspace-files.ts :496
// This router is `.fetch()`-ed directly (not only mounted via `.route()`) - net buildinternet-uploads-bb8ac7d/apps/api/src/routes/workspace-galleries.ts :11
* established for files via a `.fetch()` re-dispatch. Galleries doesn't use - net buildinternet-uploads-bb8ac7d/apps/api/src/routes/workspace-github.ts :391
// `.fetch()`-ed directly by `routes/me.ts`'s `forwardToWorkspaceGithub` - net buildinternet-uploads-bb8ac7d/apps/api/src/routes/workspace-members.ts :7
* own auth, own `.onError()`, `.fetch()`-able directly by an alias with no - net buildinternet-uploads-bb8ac7d/apps/api/src/routes/workspace-settings.ts :9
* own `.onError()`, `.fetch()`-able directly by an alias with no - net buildinternet-uploads-bb8ac7d/apps/api/src/routes/workspaces.ts :453
const response = await c.env.AUTH.fetch("https://auth.internal/internal/invite", { - net (weak) buildinternet-uploads-bb8ac7d/apps/api/src/session-auth.test.ts :12
/** Stub matching the Fetcher interface's `.fetch()` shape used by env.AUTH. */ - net buildinternet-uploads-bb8ac7d/apps/api/src/session-auth.ts :46
// Host is unused for routing on a direct service-binding fetch() call — it - net (weak) buildinternet-uploads-bb8ac7d/apps/api/src/storage-verify.test.ts :479
it("reports a thrown fetch (DNS/timeout/subrequest failure) as 'couldn't verify from here', not 'domain is broken'", async () => { - net buildinternet-uploads-bb8ac7d/apps/api/src/storage-verify.ts :239
* browsers and `fetch()` will still resolve as part of an IP literal even - net buildinternet-uploads-bb8ac7d/apps/api/src/usage-alert-sweep.ts :101
const res = await env.AUTH.fetch(`${INTERNAL_ORIGIN}/internal/usage-alerts/notify`, { - net (weak) buildinternet-uploads-bb8ac7d/apps/api/test/backfill-gh-metadata.test.ts :157
it("counts a thrown PATCH fetch (transport error) as an error and continues", async () => { - net (weak) buildinternet-uploads-bb8ac7d/apps/api/test/dual-workspace-auth-preset.test.ts :78
const res = await workspaceGithub.fetch(request, env); - net buildinternet-uploads-bb8ac7d/apps/auth/src/billing-bridge.ts :64
const response = await env.API.fetch("https://internal/internal/billing/plan", { - net buildinternet-uploads-bb8ac7d/apps/auth/src/billing-outbox.ts :247
const response = await env.API.fetch("https://internal/internal/billing/plan", { - net buildinternet-uploads-bb8ac7d/apps/auth/src/cimd-transport.ts :296
const res = await fetch(request); - net (weak) buildinternet-uploads-bb8ac7d/apps/auth/src/internal-routes.test.ts :1810
// between them. Simulated here by making the cap-lookup fetch (which runs - net buildinternet-uploads-bb8ac7d/apps/auth/src/internal.ts :7
* `fetch()` call never traverses the Cloudflare edge, so `cf-connecting-ip` - net buildinternet-uploads-bb8ac7d/apps/auth/src/member-cap.ts :66
response = await env.API.fetch(url, { - net buildinternet-uploads-bb8ac7d/apps/mcp/src/index.ts :229
return await handler.fetch(c.req.raw); - net buildinternet-uploads-bb8ac7d/apps/mcp/src/oauth.ts :42
const res = await fetch(jwksUrl); - net (weak) buildinternet-uploads-bb8ac7d/apps/mcp/test/mcp.test.ts :49
* through, so stubbing global fetch (the thing src/oauth.ts's default - net (weak) buildinternet-uploads-bb8ac7d/apps/web/scripts/preview-supervisor.mjs :74
const res = await fetch(previewUrl, { - net buildinternet-uploads-bb8ac7d/apps/web/src/entry.ts :12
async fetch(request, env, ctx) { - net buildinternet-uploads-bb8ac7d/apps/web/src/lib/admin-api.ts :78
const res = await fetch(url, { credentials: "include", cache: "no-store" }); - net (weak) buildinternet-uploads-bb8ac7d/apps/web/src/lib/api-proxy.test.ts :229
it("adapts serverApiFetch to a fetch(input, init) shape for api-client's fetchImpl", async () => { - net buildinternet-uploads-bb8ac7d/apps/web/src/lib/api-proxy.ts :29
API?: { fetch(req: Request): Promise<Response> }; - net buildinternet-uploads-bb8ac7d/apps/web/src/lib/auth-client.ts :4
* Decision: plain `fetch()` wrappers against the auth worker's REST
18 more not shown — this panel samples each group; the count above is the real total.
secrets 16
- secrets (weak) buildinternet-uploads-bb8ac7d/apps/api/scripts/add-workspace.mjs :171
secretAccessKey: opts["secret-access-key"] ?? process.env.R2_SECRET_ACCESS_KEY, - secrets (weak) buildinternet-uploads-bb8ac7d/apps/api/scripts/backfill-gh-metadata.mjs :177
const token = process.env.UPLOADS_TOKEN; - secrets (weak) buildinternet-uploads-bb8ac7d/apps/api/scripts/backfill-orgs.mjs :21
const token = process.env.ADMIN_TOKEN ?? process.env.UPLOADS_ADMIN_TOKEN ?? ""; - secrets (weak) buildinternet-uploads-bb8ac7d/apps/api/scripts/reencrypt-workspace-secrets.mjs :17
const token = process.env.ADMIN_TOKEN ?? process.env.UPLOADS_ADMIN_TOKEN ?? ""; - secrets buildinternet-uploads-bb8ac7d/packages/uploads/src/commands/admin-enrollment.ts :88
process.env.ADMIN_TOKEN ?? - secrets buildinternet-uploads-bb8ac7d/packages/uploads/src/commands/login.ts :500
if (process.env.UPLOADS_TOKEN && !force) - secrets buildinternet-uploads-bb8ac7d/packages/uploads/src/commands/session.ts :163
const envTokenStillSet = Boolean(process.env.UPLOADS_TOKEN); - secrets buildinternet-uploads-bb8ac7d/packages/uploads/src/config.ts :136
const token = flags?.token ?? process.env.UPLOADS_TOKEN ?? fromEnvFile.token ?? fromUser.token; - secrets (weak) buildinternet-uploads-bb8ac7d/packages/uploads/test/commands-login.test.ts :830
process.env.ADMIN_TOKEN = "admin-secret"; - secrets (weak) buildinternet-uploads-bb8ac7d/packages/uploads/test/commands-session.test.ts :10
delete process.env.UPLOADS_TOKEN; - secrets (weak) buildinternet-uploads-bb8ac7d/scripts/attachment-index-shadow-report.mjs :23
const token = process.env.CLOUDFLARE_API_TOKEN; - secrets (weak) buildinternet-uploads-bb8ac7d/scripts/backfill-posters.mjs :262
const token = process.env.UPLOADS_TOKEN;
show 4 more
- secrets (weak) buildinternet-uploads-bb8ac7d/scripts/cf-error-pages/deploy.mjs :60
const token = process.env.CLOUDFLARE_API_TOKEN; - secrets (weak) buildinternet-uploads-bb8ac7d/scripts/smoke-contract.mjs :9
const token = process.env.UPLOADS_TOKEN; - secrets (weak) buildinternet-uploads-bb8ac7d/scripts/smoke-remote-mcp.mjs :11
const adminToken = process.env.ADMIN_TOKEN; - secrets (weak) buildinternet-uploads-bb8ac7d/scripts/stripe/reconcile-plans.mjs :30
const apiKey = process.env.STRIPE_LIVE_OPERATOR_KEY;
install hooks 2
- prepare buildinternet-uploads-bb8ac7d/package.json :59
husky - prepublishOnly buildinternet-uploads-bb8ac7d/packages/uploads/package.json :43
npm run build
declared dependencies 13
- @buildinternet/uploads@workspace:*
- @changesets/cli@^2.31.0
- @manypkg/get-packages@1.1.3
- husky@^9.1.7
- lint-staged@^17.0.8
- oxfmt@^0.57.0
- oxlint@^1.72.0
- oxlint-tsgolint@^0.24.0
- portless@^0.15.4
- prettier@^3.9.6
- prettier-plugin-astro@^0.14.1
- typescript@^7.0.2
show 1 more
- vitest@^4.1.10
cursor-plugin 2
- opaque (low) buildinternet-uploads-bb8ac7d/.cursor/environment.json
bundled .cursor/ plugin descriptor (buildinternet-uploads-bb8ac7d/.cursor/environment.json) — presence-detected; review the descriptor - opaque (low) buildinternet-uploads-bb8ac7d/.cursor/install.sh
bundled .cursor/ plugin descriptor (buildinternet-uploads-bb8ac7d/.cursor/install.sh) — presence-detected; review the descriptor