← Back to all sparks
H

Huginn

INFRA · APIS
Velocity5.0

Self-hosted system for building agents that monitor the web and automate tasks

Huginn wakes from a four-year silence and spends it hardening multi-user instances.

securityself-hostedautomationmaintenance-revivaldockeropen-source
◆Current state
After no releases between August 2022 and August 2026, Huginn has shipped seven dated releases in seven weeks. The first two were security releases: command injection, cross-user OAuth binding, arbitrary file reads, and same-origin script execution. Later releases added an egress proxy against internal-address fetches, a JSONPath method allowlist, a separate-process job runner with a watchdog, and moves to Ruby 4, MySQL 8.4 and PostgreSQL 18.
◆Where it's heading
The pattern is a maintainer paying down years of security and runtime debt, in that order. Fixes have shifted from advisories toward operational reliability (job recovery, lock timeouts, check deduplication) and deployment cleanup (Heroku-24, dropping OpenShift and Cloud Foundry, a rewritten Docker-first README). Several releases ship breaking defaults with upgrade notes and conservative migrations rather than avoiding change.
◆Prediction
Expect more roughly fortnightly dated releases on runtime, dependency and deployment upkeep. The entries show no new Agent types yet, so whether feature work returns is unclear.

◆Recent moves

  1. 4d ago

    OpenStreetMap map fallback, PostgreSQL 18 compose, Heroku-24

    Huginn moves from hardening to deployment cleanup: the Docker-first README, a security policy and contributing guide, Heroku-24, and dropping dead OpenShift and Cloud Foundry targets. The OpenStreetMap fallback for location events is a small user-facing fix. The PostgreSQL 18 compose example comes with a warning not to start it on old data.

    View source ↗
  2. 13d ago

    Stricter json 3 parsing, deduplicated Agent checks, MySQL 8.4

    More runtime upkeep. The json 3 upgrade now rejects duplicate keys and comments in external inputs, and automatic Agent checks are deduplicated while one is queued or running. The bundled MySQL moves to 8.4 LTS. Like most releases in this revival, it ships stricter defaults with explicit upgrade notes.

    View source ↗
  3. 26d ago

    JSONPath method allowlist and RFC 9535 evaluation by default

    A security advisory turns into a semantics change. Legacy JSONPath method calls are now restricted to an allowlist, and RFC 9535 evaluation becomes the default. The migration only converts expressions it can verify and flags uncertain Agents for review, the same cautious approach as earlier releases.

    View source ↗
  4. 27d ago

    Job watchdog, per-Agent proxy routing, Ruby 4 runtime

    The focus moves from security to reliability. An opt-in process-forking job runner with a runtime watchdog, execution-lock timeouts, and outbound network timeouts target stalled background jobs, a long-standing self-hosting complaint. It also adds per-Agent proxy routing and the Ruby 4 and Ubuntu Noble upgrade.

    View source ↗
  5. 1mo ago

    Egress proxy blocks Agents from reaching internal addresses

    The SSRF fix behind the earlier advisories becomes a deployable control. Shared instances can now route every outbound HTTP request through an egress proxy that blocks loopback, private and metadata addresses, with Smokescreen bundled in the Docker images. FTP, IMAP, MQTT and XMPP Agents are explicitly not covered.

    View source ↗
  6. 1mo ago

    Security release: file-read, Scenario XSS and same-origin fixes

    The second security release in two weeks closes Scenario-import script injection, arbitrary file reads that could leak the session secret, and same-origin execution of user-served pages. It tells operators to rotate secrets and sandboxes served pages with CSP. It also replaces the fixed Docker secret and retires TwitterStreamAgent.

    View source ↗