THE ONE
HUMAN
ON STAFF
Agent security · AI infrastructure · Autonomous systems
Thomas Sprayberry
I build the control-plane layer for autonomous agents — the action firewall, the
secrets broker, the supply-chain gate, and the reliability primitives that let
an agent fleet touch real systems without handing it the keys — and I run an entire software
studio, Sprayberry Labs, on that fleet, in production.
4 frameworks governed · 68,560 skills scanned · OpenSSF Scorecard 9.4, verified live · every claim links to a real PR or release
SEE THE PROOF ↓
GITHUB ↗
RÉSUMÉ
EMAIL ↗
§1Proof — watch it, then verify it
Don't take my word for it. Click in.
A control plane that governs agent frameworks it has never seen, an open firewall benchmark,
a 68,560-skill supply-chain sweep, a 9.4/10 OpenSSF Scorecard on a package that ships itself,
and the fleet shipping a real fix end to end. Every link below
resolves to a real pull request, CI run, npm package, or post — nothing staged.
Featured · live · the strongest signal
One firewall, four unrelated agent frameworks — governed end to end
I put my agent firewall (redstamp) in front of a CrewAI Flow (Python), a
LangGraph StateGraph (JS), OpenAI's own Agents SDK, and Microsoft AutoGen — each fully governed
without patching the framework: the poisoned tool stripped before the model can
load it, a destructive rm -rf / blocked at the gate, and every verdict
written to a tamper-evident audit that breaks if you edit it. The gate sits below the
framework, at the MCP protocol layer, so it holds no matter what's upstream. One
framework could be a trick; four unrelated ones is a structural property.
the write-up ↗
CrewAI ↗
LangGraph ↗
OpenAI Agents SDK ↗
AutoGen ↗
the code ↗
Watch the fleet work
-
Open
benchmark
The agent-firewall benchmark, run through a cold pipe
The 298-sample arena corpus scores redstamp at 100% recall, 100%
precision — with rival firewalls and sanity anchors in the same table,
scored in CI on recall, precision, and determinism together through one
language-agnostic pipe. Earlier corpus revisions documented five misses rather than
hiding them.
methodology ↗
the rivals, run ↗
arena results ↗
-
Daily
in CI
66,541 skills scanned — and the audit that became a tripwire
truecopy poison-scanned every skill in ClawHub — the registry whose
incident started the poisoned-skills panic — zero confirmed malicious, all 813
deterministic alarms mapped. And because one-time audits rot, it now re-verifies the
official Claude Code plugin directory every day: 276 plugins re-fetched at
their pinned commits, published to a public badge with pin drift as a first-class signal.
68,560 skills scanned all told — and the gate eats its own cooking: truecopy's
repo pins its own tool surface and verifies it on every PR with truecopy-action, live on
the GitHub Marketplace.
the 66,541-skill scan ↗
the standing tripwire ↗
the Action ↗
source ↗
-
Enforced
in prod
Agent security, enforced on the fleet that runs the company
redstamp (action firewall) and strongroom (single-use secret
leases) both run in enforce mode on my live agent fleet: redstamp classifies every
tool call green→black and blocks the dangerous ones before they run; strongroom cut the
fleet's 132 inherited secrets to 13, replacing the rest with TTL-bound, use-limited leases.
Composed with truecopy into the open-source agent-security-stack, the three leave a
tamper-evident audit that pinpoints any altered entry.
132→13 secrets ↗
composed demo ↗
-
Live
case study
dario — a self-healing release pipeline
A closed-loop CI/CD pipeline that keeps a published npm package in lockstep with a
dependency that ships every few days: hourly drift watch → auto-rebake PR →
full CI → auto-merge → build / smoke / tag / release / npm-publish, with zero
humans in the loop. Multiple independently verifiable auto-releases, each on the record.
case study ↗
source ↗
releases ↗
-
Scorecard
9.4/10
A 9.4/10 OpenSSF Scorecard — on the package that ships itself
Same repo the pipeline above releases several times a week. dario scores
9.4/10 on the OpenSSF Scorecard — 14 of 18 checks a perfect 10,
fuzzing, SAST, pinned dependencies, and token permissions among them — and holds a
100% OpenSSF Best Practices badge: releases signed and SLSA-attested,
npm publishes tokenless from CI via OIDC trusted publishing, zero open security alerts.
The same hardening runs fleet-wide — weekly Scorecard and hardened branch rulesets
on every public code repo, signed and attested releases wherever one ships.
Scored 2026-08-14 by Scorecard v5.5.0 — the scanner re-scores on its own release
cadence, so /receipts fetches the current number in your browser.
the live number
the Scorecard report ↗
the Best Practices badge ↗
attested releases ↗
-
Merged
CI green
The fleet ships a real fix, end to end
The agent fleet found a real bug in deepdive's source-trust engine — a rule
that scored every docs.* host as authoritative, so an anyone-can-publish
Google Doc ranked as high as a peer-reviewed paper — then wrote the fix and a
regression test and drove it through public CI to green. Pick → fix → test
→ PR → merge, the whole trail on GitHub.
PR #125 ↗
the bug (#111) ↗
-
Merged
upstream
A fix merged into huggingface_hub — a core ML dependency
Not one of my repos — huggingface_hub, the client library the Hugging Face stack
(transformers, datasets, and the rest) is built on. On Windows its long-path guard
switched on the extended-length \\?\ prefix only above 255 characters, but
directory creation already fails at 248 — so a download into a deep local directory
crashed in the 248–255 gap. I found the off-by-window bug, tightened the threshold,
added a parametrized Windows regression test, and the maintainer merged it on the first
pass — no changes requested.
PR #4546 ↗
VERIFY IT YOURSELF — every repository here is public, MIT-licensed, and CI-green. Clone any of them and re-run the checks:
redstamp,
truecopy,
strongroom,
fieldpass,
dario,
deepdive,
agent-security-stack.
dario, deepdive, truecopy, strongroom, and fieldpass install straight from npm — every
publish tokenless from CI via OIDC trusted publishing, with SLSA provenance.
§2Selected work
What I've built, in the open.
-
01
askalf — a self-hosted AI workforce platform
An autonomous agent fleet that runs a whole software studio end to end:
intake → tickets → specialist agents → pull requests, with its own
nervous system, shared memory, scheduling, and guardrails. I designed it and I operate it daily.
github.com/askalf ↗
the lab & blog ↗
-
02
Own Your Stack — the agent-security control plane
The boundary between an agent and its tools: vet the tool, contain the call, give it a
credential it never holds — and prove every decision. redstamp and strongroom run in
enforce mode on my production fleet today, and redstamp governs any MCP-speaking framework
(CrewAI, LangGraph, OpenAI's Agents SDK, Microsoft AutoGen) from below.
-
redstamp — a deterministic, offline action firewall that decides what a
tool call may do before it runs: green/yellow/red/black risk tiers,
secret-exfil and prompt-injection blocking, tamper-evident audit — plus arena, an open
agent-firewall benchmark. Enforced in prod.
/redstamp ↗
-
strongroom — an agent secrets broker that hands out scoped, short-lived,
single-use leases instead of raw keys, audits every access — and lets a parent agent
delegate a narrower sub-lease to a sub-agent, attenuation-only: scopes can shrink, never
widen. Enforced in prod.
/strongroom ↗
-
truecopy — the supply-chain gate: vet, sign, and pin every skill and
MCP server before it loads — and the daily watch re-verifying the official plugin
directory in CI.
/truecopy ↗
-
fieldpass — a governed browser for agents: indirect prompt injection
quarantined before the model sees it, dangerous actions gated — 8/8 planted payloads
withheld on real Chrome, and the headline 2025–26 agentic-browser attacks reproduced
as an offline incident suite, all stopped.
/fieldpass ↗
composed as agent-security-stack ↗
how the firewall works ↗
-
03
dario — a self-healing LLM proxy
An OAuth LLM proxy with an autonomous release pipeline I built on top of it: it detects
when an upstream dependency drifts, rebakes, runs full CI, and self-publishes a new npm
release — no humans in the loop — with a supply chain hardened to match:
OpenSSF Scorecard 9.4/10, a 100% Best Practices badge, signed and SLSA-attested releases.
Routes any tool through one local endpoint on your own subscription pool.
Open source, MIT, 300+★.
github.com/askalf/dario ↗
npm ↗
Scorecard ↗
case study ↗
-
04
deepdive — a research agent you can trust by construction
One command, one cited answer: plan → search → headless fetch → extract →
synthesize, every call through your own router. Built on deterministic trust signals,
because citation-verification alone scores content farms a perfect 1.00.
github.com/askalf/deepdive ↗
the source-trust engine ↗
More open source —
hybrid (a local-first LLM router),
cordon (a PII-redacting LLM gateway that fails closed),
hands (a cross-platform computer-use agent),
amnesia (self-hosted private search).
All repositories ↗
§3Writing — receipts, not think-pieces
Every post is a system I built and broke.
An engineering blog at sprayberrylabs.com/blog
— 30+ posts, each grounded in real infrastructure rather than opinion. The misses stay in.
-
One gate, four frameworks: CrewAI, LangGraph, OpenAI Agents SDK, AutoGen
↗
-
We scanned the marketplace that started the poisoned-skills panic — 66,541 skills, clean
↗
-
The agent-firewall benchmark, run through a cold pipe — recall, precision, and determinism together
↗
-
132 inherited secrets cut to 13 — the rest replaced with single-use leases
↗
-
The audit is now a tripwire — 276 plugins re-verified at their pinned commits, every day
↗
-
You can't use an LLM to grade an LLM. I tried, for money.
↗
Read all posts ↗
§4About
I work at the layer where AI meets real infrastructure.
Rather than write about agents, I run a fleet of them in production — and I build
the firewall, secrets broker, proxying, and reliability primitives that make that safe to
do. The repositories and posts above are the work itself, not a portfolio of it.
I'm drawn to the unglamorous parts: the firewall that has to be deterministic and
offline, the secrets broker that hands out a lease instead of a key, the proxy that stays
honest when a provider pulls a model overnight, the audit trail that has to be
tamper-evident. If autonomous systems are going to touch anything that matters, that's the
work that has to exist first — and it has to hold no matter which framework is upstream.
Before the agent work, I spent 15+ years in systems and infrastructure engineering
— data centers, virtualization (VMware), networking, security, and MSP-scale operations, taking
solutions from data-center builds to user endpoints. That foundation is why the agent-infra work looks
the way it does: I've run the systems that aren't allowed to go down. Based in Greater Atlanta, GA —
full résumé →