NutriTrace Updates, Supply Chain Attacks, and AI Review Pitfalls

Homelab Highlights for 2026-08-04: self-hosting and homelab notes worth knowing.

[Audio embed placeholder]

News Roundup

Keyv and Friends Compromised in Active NPM Supply Chain Attack

An ongoing campaign dubbed ‘Shai-Hulud’ is compromising popular npm packages like Keyv using stolen maintainer credentials to push malicious updates containing infostealers.

Why it matters: The attack targets the core software supply chain, putting any project using these dependencies—including homelab Node.js services—at risk of credential theft and lateral movement.

Source: Aikido Security

Flowise AI Announces Shutdown

The open-source low-code platform for building LLM applications is ceasing active development immediately due to sustainability challenges.

Why it matters: Users of the platform need to plan migrations, highlighting the inherent risks of depending on single, resource-constrained open-source projects for critical AI workflows.

Source: Flowise AI

Omdia Report: 77% of Orgs Hit by Software Supply Chain Incidents

New research sponsored by Docker finds a vast majority of organizations experienced a software supply chain incident in the past year, with compromised open-source components and developer tools as leading vectors.

Why it matters: The data underscores the pervasive threat to modern software development, reinforcing the need for practices like SBOM generation, image scanning, and shifting security left—even in homelab environments.

Source: Docker

Unit 42 Details ‘Pass the Passkey’ Authentication Risks

Researchers outline a novel attack surface in some FIDO2/WebAuthn passwordless authentication implementations where requests can be intercepted and relayed.

Why it matters: For self-hosted services implementing passkey-based login, ensuring robust origin validation is critical to prevent authentication bypass.

Source: Palo Alto Networks Unit 42

Using DuckDB for Embedded Data Analysis

A tutorial demonstrates using DuckDB, the embedded analytical database, from Clojure to query local files like CSV and Parquet without a separate database server.

Why it matters: DuckDB provides a powerful, low-overhead tool for homelab data analysis tasks, eliminating the need to deploy and manage a full database instance for ad-hoc queries.

Source: TechAscent

Tool & Software Highlight: NutriTrace v1.1.0 Released with In-App Updates and Improved UX

The AGPL-licensed, self-hosted nutrition tracking platform introduces in-app updates for both the server and Android app, a redesigned and searchable Settings page, editable log times for diary entries, and a fix for password manager identification on Android.

Why it matters: This release significantly reduces the operational friction for running a personal health data platform, making self-hosting a more viable and user-friendly alternative to commercial services.

Source: GitHub

One Thing to Try

Inspired by the active Keyv supply chain attack, make a habit of running npm audit and npm outdated on your Node.js projects. Consider setting up a simple cron job or using tools like Dependabot for automated alerts.

Sources

Transcript

Host A: Welcome to Homelab Highlights, the show that surfaces practical homelab wins and useful self-hosted tools.

Host A: Alright, let’s kick off with some urgent supply chain news. Aikido Security is tracking an active attack campaign they’ve dubbed Shai-Hulud—named after the desert sandworms from Dune, which feels about right for something that just keeps multiplying. The attackers have been compromising npm packages since late May using stolen maintainer credentials, and it’s still very much active.

Host B: Keyv is the poster child here—it’s a key-value store that’s a dependency in thousands of other packages, pulling in over 1.5 million weekly downloads just on its own. But it’s not just Keyv; they’ve gone after keyv-redis and keyv-postgres too. The malicious updates aren’t just dropping simple backdoors. They’re using base64-encoded payloads and pulling additional code from external sources at runtime to hide their tracks.

Host A: That’s the scary part—it’s not about exploiting a CVE. It’s about taking over the legitimate publishing process itself. Once they have a maintainer account, they push what looks like a normal update, but it’s got infostealers designed to hit developer laptops and CI/CD pipelines. For homelabbers running Node.js projects, this is a wake-up call to audit your dependencies more aggressively.

Host B: Speaking of wake-up calls, Flowise AI announced they’re shutting down yesterday. The open-source low-code platform for building LLM apps posted the notice on their GitHub repo. They’re stopping active development immediately, though the code will stay available. The team cited sustainability challenges—maintaining an open-source project with their current resources just wasn’t viable long-term.

Host A: If you were using Flowise, you need to start thinking about exports and migration paths. LangFlow or rolling your own with LangChain might be your best bets. It’s a stark reminder of how fragile some of these AI-focused open-source projects can be when the momentum shifts.

Host B: On the flip side, Docker shared some sobering data from an Omdia report they sponsored. The headline: 77% of organizations experienced a software supply chain incident in the past year. That’s nearly every other organization.

Host A: And here’s what’s concerning for homelab setups: 43% of those incidents involved compromised open-source components. The attack vectors break down to 31% through compromised developer tools, 28% through vulnerable application dependencies, and 22% through insecure container images. That last one’s why scanning your Docker images before deployment isn’t just best practice anymore—it’s survival.

Host B: Palo Alto Networks’ Unit 42 also dropped some research on passwordless authentication. They’re calling it a “Pass the Passkey” attack surface. The paper details how authentication requests can be intercepted and relayed to bypass intended security in some FIDO2/WebAuthn implementations. If you’re self-hosting anything with passkey support, you need to verify your origin validation is solid.

Host A: And wrapping up the news with something lighter: a blog post showing how to use DuckDB from Clojure. It’s a neat reminder that DuckDB—the embedded analytical database—isn’t just for Python or R anymore. You can run it as a local process to query CSV, Parquet, or JSON files with SQL syntax, no separate database server needed.

Host B: Perfect for homelab data munging. Instead of spinning up PostgreSQL just to analyze some logs or sensor data, you embed DuckDB in your scripts. It runs in-process, so you get analytical power without the infrastructure overhead.

Host A: For our tool highlight, let’s talk about NutriTrace v1.1.0. It’s a self-hosted nutrition tracker—essentially a privacy-focused alternative to MyFitnessPal, Cronometer, or Lose It. Part of the TraceApps family, which also includes CookTrace for recipes and LiftTrace for strength training. This release is all about reducing friction and improving the daily experience.

Host B: The headline feature is in-app updates. The PWA now shows a server-update banner if your instance is out of date, comparing your running version against the latest GitHub release. It even gives you a copy-paste docker compose upgrade command. On Android, the app can download signed APKs directly with a progress bar and hand off to the system installer via FileProvider. No more SSHing in just to pull a new container image—that’s a massive quality-of-life win.

Host A: And since you mentioned it, the shared signing key means in-place installs work—no reinstall needed for Android upgrades. But there’s a trade-off worth noting: the WebView used to identify itself as “localhost” for password manager autofill, which meant every entry in Bitwarden or 1Password just said “localhost” and was indistinguishable from any other localhost app. Now it identifies as app.nutritrace.local, so your password manager shows the right entry. The catch? Android users need to sign back in once after upgrading because the auth cookie is tied to that new origin. Your food and diary data is untouched—it’s just a login hiccup.

Host B: The redesigned Settings page is another big one. They killed the single-scroll approach and replaced it with per-section drill-in navigation plus search. Type “notifications” or “backup” or a specific field name and it jumps you there with the target row highlighted. Same fields, dramatically less scrolling. I’ve got a feeling that’s going to save everyone dozens of taps.

Host A: Editable log time on diary entries is a nice touch too. If you eat lunch at 2pm but only log it at 10pm, you can now correct the timestamp instead of being stuck with whatever time you added it. It’s gated on the existing Show Timestamps setting so the edit sheet stays clean for users who don’t care.

Host B: And the Foods page now lets you set a configurable default search source. Pick All, My Foods, OFF, USDA, or Mealie as your default chip. Existing users keep My Foods as default, so no surprise changes there. They also fixed the Open Food Facts country filter that was silently broken since an API change, and expanded support from 15 to 30 countries.

Host A: On the technical side, they bumped two transitive dependencies for regexp-DoS advisories—fast-uri and brace-expansion. Standard npm audit fix update, but good to see they’re staying on top of security. The container image is multi-arch for Pi 4/5 support, published to both GHCR and Docker Hub with identical tag sets. Memory usage is reasonable—I’ve seen it run comfortably on a Raspberry Pi 4 with 2GB of RAM.

Host B: One operational detail: the developers recommend using a reverse proxy with HTTPS even for local access, especially now with the app.nutritrace.local domain change. That ensures proper security context for the PWA features and password manager integration. The improved setup wizard also does a better job guiding new users through account creation and Open Food Facts connection.

Host A: For our community highlight, there’s a paper testing a workflow a lot of us probably use: having one AI model write code and another review it. The research from UC researchers used 116 medium and hard coding tasks from platforms like LeetCode and Codeforces. The reviewer couldn’t run tests—it had to analyze statically, which mimics how many of us actually use AI assistants in practice.

Host B: The results were fascinating, and honestly a bit counterintuitive. When Claude reviewed Codex drafts, the pass rate jumped from 71.6% to 89.7%. But when Codex reviewed Claude drafts, the pass rate dropped from 91.4% to 82.8%. So adding a second model isn’t automatically better—it depends entirely on which model is playing reviewer.

Host A: The paper digs into why this happens. Weaker models often introduce false positives—flagging correct code as problematic—or suggest changes that break working solutions. Stronger models are better at identifying genuine issues without breaking things, but they’re not perfect either. The researchers noted that reviewing models have a tendency to be overly critical or make unnecessary changes, which significantly impacts performance.

Host B: They also catalogued the kinds of errors introduced. Sometimes the reviewing model would “fix” code that was already correct but used a different algorithmic approach than expected. Other times, it would miss subtle logic errors while focusing on style issues. For homelabbers using AI assistants for scripting or app development, this is a crucial data point: a second opinion is good, but it’s not a substitute for your own understanding and testing.

Host A: The paper suggests human oversight remains crucial, especially for catching errors AI reviewers tend to miss. One practical takeaway from community discussion: several developers mentioned they’ve started using AI-generated code as a starting point rather than a final product. They’ll ask for multiple approaches, then manually synthesize the best parts, rather than relying on a single model’s output followed by automated review.

Host B: And there’s a security angle worth considering. If you’re using AI to generate configuration files or deployment scripts for your homelab, blindly accepting reviewed code could introduce vulnerabilities. The paper didn’t specifically test for security issues, but the pattern of introducing errors suggests it’s a real risk. The researchers made their full dataset and methodology publicly available, so you can dig into the specifics if you want to run your own analysis.

Host B: Here’s a practical tip inspired by today’s supply chain news. If you run any Node.js services in your homelab, make checking dependencies a regular habit. Start with npm audit on your projects periodically, and consider pinning dependency versions in your package.json to avoid unexpected updates that might introduce new risks.

Host A: Take it a step further: set up a simple cron job or scheduled task that runs npm outdated and npm audit on your critical projects weekly. Pipe the output to a log file or send it to a notification channel like Discord or email. You could even use tools like Trivy or Grype to scan your container images for known vulnerabilities in Node modules.

Host B: For bonus points, look into dependency graphing tools that show you exactly which packages are pulling in what dependencies. Tools like npm ls or depcruise can visualize your dependency tree. Understanding your supply chain is the first step toward securing it. And remember: in a homelab context, you have the luxury of being more conservative with updates than in a production environment. If something’s working, sometimes it’s okay to wait a bit before jumping to the latest version.

Host A: One more thing—consider using Dependabot or Renovate for automated dependency alerts. They’ll create pull requests for updates and security fixes, giving you visibility into what’s changing. For your own packages, enable two-factor authentication on your npm accounts and consider using npm’s provenance feature to verify package integrity during installs.

Host A: That’s Homelab Highlights for Tuesday. Until next time, happy hosting!