Feeling overwhelmed by AI? Learn the Centaur Mindset. Read More →
Terminal output from agent-bom scan showing a security posture summary with 2 critical, 21 high, 20 medium, and 5 low findings, a posture grade of F, and a findings table naming a CVE in axios with a blast radius chain ending in a browser session token

The CVE List Isn't the Point: Mapping Blast Radius in AI Infrastructure with agent-bom

The Rabbit Hole Generator gave me agent-bom this week, and it landed on a question I’ve been circling for a while: what does a vulnerability scanner actually owe you once “AI agent” and “MCP server” show up in your stack next to the usual packages and containers? A traditional scanner tells you a package has a CVE. It stops there. It doesn’t know that package sits inside an MCP server (a small local process that gives an AI agent tools like “read this file” or “run this shell command”), and it definitely doesn’t know that server has an AWS_SECRET_ACCESS_KEY sitting in its environment. agent-bom is built specifically to answer the next question a CVE list never does: from this vulnerable package, what can actually be reached? ...

September 18, 2026 · 12 min · Scott Algatt
Terminal-style output from macaron analyze against Django 5.0.6, showing four failed provenance/build checks, one passed license check, a 17-check summary totaling 10 failures, and the report JSON showing is_inferred true with a Not Available justification

Beyond CVEs: Verifying Supply Chain Provenance with Macaron

The Rabbit Hole Generator gave me Macaron this week, Oracle’s open-source tool for checking software supply chain security. My first instinct was to file it next to every other dependency scanner I’ve used: point it at a package, get a list of CVEs back. That’s not what it does, and the gap between those two things turned out to be the actual point. A vulnerability scanner answers “does this package version have a known CVE.” Macaron answers a different question: “was this artifact actually built from the source code we think it was, by a process we can verify, with evidence that isn’t just the vendor’s word for it.” Those sound similar. They aren’t. A package can have zero known CVEs and still have no evidence at all connecting the file you pip installed to the GitHub repo everyone assumes it came from. ...

September 11, 2026 · 11 min · Scott Algatt
Terminal output showing a real SLSA provenance JSON statement generated by Tejolote from a live GitHub Actions run, with a matching sha256 artifact digest

Provenance From the Outside: Attesting Real Builds with Tejolote

A signature on a piece of software proves someone with a key signed it. It doesn’t prove much about where that software actually came from: what source it was built from, what process built it, or whether anything happened to it between “code written” and “artifact shipped.” Provenance is the term for closing that gap: a verifiable record tying a specific commit, through a specific build process, to a specific output, in a way that’s checkable rather than just asserted. ...

August 28, 2026 · 13 min · Scott Algatt

Supply Chain Cyberattacks: Lessons from the UNFI Breach

Supply Chain Cyberattacks: Lessons from the UNFI Breach The June 2025 cyberattack on United Natural Foods Inc. (UNFI) exposed critical vulnerabilities in food distribution infrastructure, disrupting shipments to over 30,000 stores including Whole Foods. This technical deep dive analyzes the attack’s mechanisms, operational impacts, and actionable security controls for supply chain resilience. Incident Timeline and Impact Analysis Attack Chronology June 5, 2025: Initial breach detected via anomalous EDI traffic patterns June 6: UNFI takes critical systems offline, including: Transportation Management System (TMS) Warehouse Management System (WMS) Electronic Data Interchange (EDI) platforms June 9: SEC filing discloses “material operational disruption” June 11: Partial restoration of cold chain logistics systems [Diagram: UNFI System Architecture and Compromise Points] ...

November 2, 2023 · 4 min · Scott Algatt