Agent Ops: running AI coding agents (Claude Code, MCP) in production without breaking things. Guardrails, kill switches, monitoring. No trading signals.
Free: the Agent Ops Pre-Flight Checklist.
25 checks I run before any AI agent, bot or scheduled job is allowed to post, deploy, email or spend on its own. Every item comes from something that actually went wrong in my own setup.
https://t.co/KuFpQpUKgV
@TheHackersNews Whatever the final details, the ops takeaway holds: isolation is something you test, not trust. My small version: the API spend cap lives at the provider, not only in my code, so a runaway job can’t talk its way past it.
@RoundtableSpace Fewer agents also means fewer handoffs to audit. My worst bug lived at a seam: a job unsure whether a post went out. Logging attempt before send, then sent/failed/unknown, fixed it. Every extra subagent is another seam to log.
A guard that disappears when it crashes is worse than no guard. You stop looking.
I checked my own Claude Code plugin this week: 10-second timeout, no onFailure set. If Python is missing, the guard is skipped.
Fixing that next. Have you broken yours on purpose?
@TheHackersNews A forgotten updater is the scariest kind of live system: nobody owns it, but it can still push. I once found an old auto-post pipeline of mine still production-ready; only its quality filters had kept it quiet. Inventory beats memory.
@hazemomier Agreed. The bundled runtime is the blind spot: a CLI that ships its own Python never shows up in your system pip list. Lockfiles plus the image digest are the record I'd trust.
The MCP Python SDK's OAuth client didn't check which server issued its tokens on every path.
A malicious MCP server could collect the client secret, auth code and PKCE verifier (WS-2026-0089, CVSS v4 8.7).
Fixed in 1.30.0 / 2.2.0. Run pip show mcp everywhere.
@jarredsumner 67 subagents in 267 MB is wild. At that fan-out the failure I'd watch is one shell dying quietly: an unattended job of mine once died overnight on a cp932 UnicodeEncodeError and nothing upstream noticed.
@devXritesh It helped me most when each agent owns its own files and its own log. The complexity shows up in shared state: two agents touching one file, or one retrying a send the other already did. I never auto-resend anything with an unknown result.
@TheHackersNews Revoke first, investigate second. A key that leaks and stays valid is an open door however good the postmortem is. I also set spend caps on the provider side, not only in my own code, so a leaked key hits a ceiling.
@jarredsumner How will you measure it on Claude Code: startup, or peak RSS over a multi-hour session? For agent CLIs I'd care most about the long tail, where a session spawns many tool subprocesses and memory slowly creeps.
@AnthropicAI@AISecurityInst The ops lesson for the rest of us: an agent's reach should be decided before the run, not reviewed after. Even my small posting bot checks which account it's signed in as before every action and stops on a mismatch.
@tannerlinsley Congrats on shipping. For the harness, the rule I'd want stated early: what happens when a tool call's result is unknown? In my bot, anything that might have gone out is never auto-retried; it blocks until I check. No double-posts since.
19.7% of AI-generated code samples referenced a package that doesn't exist, per the Cloud Security Alliance (2.23M samples).
Every one of those names is a slot a squatter can register.
Check the exact name, the publish date and the maintainers before an agent installs anything.
@TheHackersNews No CVE means scanners stay quiet, so the check is manual: run the version command on every machine with the agent, WSL and CI included, and list which MCP servers each one can reach. The unknown server is the real exposure.
Your coding agent suggests a package you've never heard of.
What do you check before it gets installed?
A) Nothing, the agent knows
B) That it exists on npm / PyPI
C) Publish date and maintainer count
D) I install with scripts off first
@RoundtableSpace The case I'd test first: the order call times out. Did it land? My posting bot writes an attempt to a ledger before sending and never auto-retries an unknown result. An agent that can buy needs that rule even more.
@GergelyOrosz Faster discovery means forgotten automation gets found first. I found an old posting pipeline of mine still wired to production; only its quality filters had kept it quiet. Inventory what you don't run anymore and switch it off.
@IntCyberDigest Whatever the root cause turns out to be, my lesson from scares like this: set spend caps at the provider, not just in code. A stolen key never runs through your code's limits. Rotating keys is step two; the cap bounds the damage.