Urgent.News

What's breaking now, across thousands of outlets.

Tech

Home Assistant at Internet Scale: 2.7 Million Fingerprint Matches and the Automation Control Plane

Home Assistant at Internet Scale: 2.7 Million Fingerprint Matches and the Automation Control Plane Home Assistant is a local-first automation platform: one host that talks to lights, locks, cameras, thermostats and alarm panels, and presents them through a single interface. The design goal is that the house keeps working when the internet does not, which is why the software is commonly run on a…

Home Assistant, a local-first automation platform, connects devices like lights, locks, cameras, thermostats, and alarm panels through a single interface. Designed to function independently from the internet, it operates on a small device inside the home. This design makes compromised credentials particularly valuable, as physical outcomes result from their breach.

Using ZoomEye's internet-facing service index, a query for "Home Assistant" yielded 2,711,859 fingerprint matches as of 2026-09-23 (UTC). It's important to note that these matches signify observed services, not confirmed installations or vulnerable hosts. A match indicates the service is observable from the internet, but verification is needed to ascertain the operator's intent and potential vulnerabilities.

The web interface operates on TCP port 8123, with HTTP integration settings governing trust and reverse proxy configuration. Many matches are behind reverse proxies terminating TLS, which may obscure the actual application. The platform supports multi-factor authentication, but older installations or those exposed via port forwarding warrant attention.

Long-lived access tokens issued for integrations and scripts pose a risk since they lack expiration. Additionally, add-ons and the supervisor layer can extend the platform's reach into the host operating system, making an exposed instance more than just an automation interface.

Fingerprint matches reveal the existence of an automation platform surface, but they don't confirm weaknesses. The decision to accept this exposure depends on the specific installation, as the consequences can include control of doors and cameras. ZoomEye helps quantify the extent of exposure for consumer-grade automation platforms, which were initially designed for private networks and later connected to the public internet.

Defenders should locate their installations, prefer authenticated access paths over port forwards, enable multi-factor authentication, and regularly audit long-lived access tokens. Keeping the platform and add-ons updated and treating the host as a device with physical authority are crucial steps to mitigate the risks associated with this exposure.

Written by urgent.news from Dev.to's reporting — not their text. Machine-written — may contain errors; check the original before relying on it.

Read the original at dev.to →

More in Tech

A No-Repeat Random Draw Looks Trivial Until Round 70

Drawing numbers without repeats sounds like a beginner exercise. It is also a place where a lot of shipped code has a real defect.

  • Naive rejection sampling inefficient as pool shrinks
  • Check operation O(n) complexity leads to loops
  • Directly select from remaining set for constant time

Normalize Units at the Boundary, or Ship a 12x Bug

A user types 3 into a depth field. The label says inches. Your formula assumes feet. You just shipped a 12x error, and nothing in the type system noticed, because both values are number .

  • User inputs depth in inches, but formula assumes feet
  • Convert all inputs to a single internal unit at boundary
  • Validate unit and number, reject unknown or non-positive values

Small Calculator, Three Bugs: Input Parsing, Unit Drift, and Stale Results

A calculator with two inputs and one output is the "hello world" of interactive UI. It is also a small minefield. These are three defects I hit while building bidirectional CPM ↔ CPC conversion, and…

  • Bug 1: Percentage drift in CTR calculation due to treating CTR as percentage
  • Bug 2: Validation allowing empty fields treated as zero instead of leaving blank
  • Bug 3: Stale results displayed after invalid form submission

More from Friday 25 September →