v2026.09.09
karpathy/nn-zero-to-herov2026.09.09Sep 8, 2026by knu
Upgrading?
AI Summary
Adds outbound proxy enforcement to prevent Agents from accessing internal addresses and hardens Scenario import defaults.
Key Highlights
- Huginn can now route outbound HTTP through an egress proxy (Smokescreen) to block loopback and private-network addresses.
- Scenario imports by URL now have timeout and size limits.
- Docker images are now tagged with release versions in addition to commit SHA.
New Features
- Egress proxy enforcement via `OUTBOUND_PROXY` or `ENABLE_SMOKESCREEN`.
- Scenario import validation and timeout handling.
- Docker secret randomization on container start.
- Devise paranoid mode enabled for password reset forms.
Full Release Notes
# v2026.09.09 This release adds a way to keep Agents from reaching internal addresses on shared instances, and hardens several defaults. Agents that fetch URLs and the Scenario import form request whatever URL a user configures, so on an instance where untrusted users can create Agents, any user could make the server connect to loopback, private-network or cloud metadata addresses. Huginn can now route every outbound HTTP(S) request through an egress proxy that refuses such destinations at connection time: set `OUTBOUND_PROXY` to a proxy of your own, or set `ENABLE_SMOKESCREEN=true` with the official Docker images, which bundle Smokescreen and configure it automatically. The per-Agent `proxy` option is refused while a proxy is enforced. Operators of instances with untrusted users should enable this; single-user instances need not. Agents speaking FTP, IMAP, MQTT or XMPP are not covered. See doc/manual/outbound-requests.md. Other changes: - Scenario imports by URL have a timeout and a size limit, follow redirects, and report any fetch failure as a validation error instead of a server error. - Agents without a `proxy` option now honor `http_proxy` on the `net_http` backend, which they previously ignored. - The Docker configurations no longer ship a fixed `APP_SECRET_TOKEN`. A random one is generated on container start unless `APP_SECRET_TOKEN` is set; set it yourself to keep sessions valid across container restarts. Deployments still supplying the previously shipped value get a warning and a generated secret instead. - `rake db:seed` generates a random admin password and prints it once unless `SEED_PASSWORD` is set. - DataOutputAgent and LiquidOutputAgent get a random default secret. - Devise paranoid mode is enabled, so the password reset, unlock and confirmation forms no longer reveal whether an account exists. - TwitterStreamAgent is retired, as the Twitter streaming API it depended on was shut down in 2023. Existing Agents remain loadable but new ones cannot be created. - Building a Docker image from a development checkout no longer copies `.env.local` and other dotenv files into the image. - The Docker images on GHCR and Docker Hub are now also tagged with the release version, e.g. `ghcr.io/huginn/huginn:v2026.09.09`, in addition to the commit SHA and `latest`. Full details: - https://github.com/huginn/huginn/security/advisories/GHSA-f7cq-gj98-cfjp **Full Changelog**: https://github.com/huginn/huginn/compare/v2026.09.08...v2026.09.09
Related Repositories
rasbt/LLMs-from-scratch★ 107,049
Implement a ChatGPT-like LLM in PyTorch from scratch, step by step
lyogavin/airllm★ 40,163
AirLLM 2.8T LLM inference with single 4GB GPU
NirDiamant/RAG_Techniques★ 29,958
This repository showcases various advanced techniques for Retrieval-Augmented Generation (RAG) systems. Each technique has a detailed notebook tutorial.
microsoft/OmniParser★ 25,539
A simple screen parsing tool towards pure vision based GUI agent
NirDiamant/GenAI_Agents★ 24,655
50+ tutorials and implementations for Generative AI Agent techniques, from basic conversational bots to complex multi-agent systems.