News for hackers. Stuff that matters.

Mooshux

Non-repudiation for MCP tool calls is a genuinely missing piece. Logs are too easy to edit, and "the agent did it" is not a useful audit trail when real money or infra is involved.

One thing this pairs well with: making sure the credentials behind those tool calls are scoped to exactly what each agent needs. Cryptographic receipts tell you what happened and who authorized it. Scoped short-lived tokens cap what could happen in the first place. Both layers together give you accountability before and after the fact.

We handle the credential scoping side at API Stronghold: https://www.apistronghold.com/blog/mcp-servers-no-long-lived...

Blocking before execution is the right approach. Reactive detection is basically a post-mortem tool.

One layer MoltGuard doesn't cover on its own: what credentials the agent is holding when it makes those tool calls. Even with guardrails in place, an agent carrying a full-access API key is one bypass away from real damage. Pairing runtime blocking with scoped credentials per task means even a guardrail failure has a limited blast radius. The agent can't do what it doesn't have keys for.

We put together a guide on the credential side of this if it's useful as a complement: https://www.apistronghold.com/blog/openclaw-proxy-setup-guid...

FireClaw handles the input side well. Worth pairing it with scoped credentials on the output side too. If injection does succeed, the agent should only be able to call what it actually needs. We built around exactly that idea: https://www.apistronghold.com/blog/mcp-servers-no-long-lived...

Runtime injection plus scoped keys gives you two independent blast radius caps. Either one alone still leaves a gap.

Good timing on this. Runtime credential injection for agents is the right model: the agent gets a scoped token, the real key never touches its environment.

One thing worth thinking through at the architecture level: where does the agent's identity come from? A scoped token is only as good as the identity that requested it. If any process can ask for a token and get one, you've just moved the raw key one layer up.

The model that holds up better in production: agent identity is established at startup (signed, tied to a deployment profile), and the vault issues tokens scoped to what that identity is allowed to call. No identity, no token. A compromised agent can exfiltrate its token, but it expires and only covers what it was scoped to.

We built API Stronghold around this pattern if you want to compare notes on the implementation: https://www.apistronghold.com/blog/phantom-token-pattern-pro...

The dependency angle is real but I think it's a symptom of a bigger problem: AI coding agents run with whatever credentials are in the environment, so a malicious dep doesn't just get file system access. It gets every API key the agent was holding.

The fix most teams reach for is auditing deps more carefully, which helps. But it doesn't change the blast radius if something slips through. A compromised dep in an agent holding a full-access AWS key is a very different situation from one holding a scoped, session-bound token that expires in 24 hours.

The pattern that actually limits damage: agents request short-lived credentials at runtime from a vault, scoped to exactly what that agent needs. The dep can still run, but there's nothing worth stealing.

We wrote about the mechanics: https://www.apistronghold.com/blog/phantom-token-pattern-pro...

The layered approach makes sense. Behavior guardrails sit at the reasoning/action layer and have to handle every possible attack vector.

Credentials are a separate surface. An agent can pass every behavioral check and still hold a full-access API key that makes a successful injection far more damaging than it needs to be. Defense in depth works better when the credential layer enforces least privilege independently of what the agent is doing.

We built the secrets side of this: https://www.apistronghold.com/blog/stop-giving-ai-agents-you...

Good timing on this. Red-teaming agents pre-production is underrated and most teams skip it entirely.

One thing that keeps coming up: even when red-teaming surfaces credential exfiltration vectors, the fix is usually reactive (rotate the key, patch the prompt). The more durable approach is limiting what the credential can do in the first place. Scoped per-agent keys mean a successful attack through one of these exploits can only reach what that agent was authorized to touch. The exfiltration path exists, but the payload is bounded.

We built around this pattern: https://www.apistronghold.com/blog/stop-giving-ai-agents-you...

Re:Secure Secrets Management for Cursor Cloud Agents on Sunday March 15, 2026 @12:31PM (#47388994)
The discussion keeps circling back to prompt injection as the entry point. That's right, but blast radius depends entirely on what the agent holds when it gets hit.

Cursor agents holding raw API keys are one injection away from full credential exposure. The fix isn't just blocking the injection. It's scoping what the agent can do with whatever it does hold.

Session-scoped tokens instead of raw keys mean a stolen token is worth a lot less than a stolen key. The real credential never touches the agent context.

https://www.apistronghold.com/blog/phantom-token-pattern-pro...

Re:Show HN: Hardened OpenClaw on AWS with Terraform on Sunday March 15, 2026 @01:30AM (#47384603)
"Minute six" is a good way to put it.

The infra layer and the agent layer really are separate problems. Secrets Manager + KMS handles storage correctly, but if an agent holds a broad-scope key for the duration of a session, the blast radius is still wide open. A compromised skill or prompt injection can use that key for anything it has access to.

The pattern that actually closes the gap: the agent never holds the raw key at all. It gets a short-lived, scoped token that maps to the real credential server-side, and that mapping expires. So even a fully compromised agent context can't do much with what it has.

That's what we built at API Stronghold if it's useful context for the roadmap item: https://www.apistronghold.com/blog/phantom-token-pattern-pro...

Re:Show HN: Hardened OpenClaw on AWS with Terraform on Saturday March 14, 2026 @03:17PM (#47380120)
The CVE count on the Lightsail blueprint is the part that gets me. 31 unpatched CVEs in the default install is not a hardening problem, it's a baseline hygiene problem. The hardening hasn't even started yet.

The curl-pipe-sh-as-root pattern is endemic to self-hosted AI agent tooling right now. Everyone's moving fast, nobody's thinking about the install footprint. The Bitsight 30k exposed instances number makes more sense when you see what the install process looks like.

Good Terraform module. One thing worth adding if you haven't: credential scoping at the agent level, not just network-level hardening. A hardened perimeter with over-privileged agents inside is still a single compromise away from full blast radius.

The layer ordering matters more than people realize, and you got it right with identity running before ingestion. Checking identity after input scanning is a common mistake — you're doing expensive processing on requests you should have rejected immediately.

One gap I see in most agent security frameworks: they handle what agents do, but not what agents hold. An agent that's behaviorally constrained by guardrails can still be prompt-injected into exfiltrating a raw API key it was given at startup. The credential layer sits outside the behavioral layer.

What actually closes that gap: agents that never hold raw provider keys at all. You broker the credential at request time, scoped to the specific call, and it's gone when the session ends. The agent can't leak what it doesn't have. We're doing exactly this at https://www.apistronghold.com/blog/securing-openclaw-ai-agen... if it's useful context.

The Markdown wrapping point is underappreciated. Most developers see a skill as just a function call, not an execution boundary with its own trust level.

The piece that completes least privilege for agents: credentials scoped at skill invocation time, not inherited from the agent's environment. Even with sandboxing and privilege separation, if all skills share the same credential set, a compromised skill still has full access. Per-invocation scoping is what actually closes that gap.

Container isolation is a solid first layer for agent sandboxing. The gap that usually comes next: how are the agent's API credentials getting into the container?

The common pattern is environment variables, which means keys are visible to anything running inside that container. If the agent gets prompt injected and reads its own environment, or if the image ever gets inspected, the keys are there.

The layer that closes this: runtime credential injection via a vault proxy. The agent gets a session-scoped token at startup, the real key never touches the container environment. Works well alongside the network isolation Sandcat provides.

Good work on the OWASP scanning. The 41% zero-authentication stat for MCP servers tracks with what we're seeing.

MCPS and credential scoping solve adjacent problems and stack well. MCPS answers "is this agent who it claims to be and was this message tampered with." The next question is "what can this authenticated identity actually reach." Authentication alone doesn't constrain what a compromised or injected agent can do once it's trusted.

The Trust Authority revocation you mentioned is a clean hook for this: if an agent identity gets revoked, its credential access should be invalidated at the same time.

The "dedicated and locked-down credentials" point is worth expanding. Most of the discussion here focuses on model robustness, but credential scope matters just as much. An agent running with a full-access API key and a scoped one fail very differently under prompt injection.

The pattern that helps most: agents get session-scoped tokens that map to real credentials stored in a vault. The real key never appears in agent context. If the agent gets injected and leaks its token, the token expires after the session. Blast radius is bounded by design, not by model choice.

How we've implemented this: https://www.apistronghold.com/blog/securing-openclaw-ai-agen...

Interesting approach. Scrubbing secrets at the input layer is a useful defense, especially for teams that already have keys scattered across configs and prompts.

The complementary problem worth thinking about: if your agent needs to call an external API, the key has to get into context somehow. Masking it on the way in helps, but the agent still needs to use it on the way out. That's where a proxy or phantom token pattern closes the loop: the agent never holds the real key at all, just a session-scoped token that expires after the task. Nothing to leak in the first place.

These two approaches stack well. Wrote about the agent credential side of this here: https://www.apistronghold.com/blog/securing-openclaw-ai-agen...

Re:Personal AI Agents Like OpenClaw Are a Security Nightmare on Thursday March 12, 2026 @03:14PM (#47355703)
Cisco is right that raw key access is the core problem, but the framing of "personal AI agents" undersells the scale. The same issue hits team deployments and CI pipelines. Anywhere an agent inherits credentials from its runtime environment is a blast radius waiting to happen.

The fix isn't really agent-level. Agents will always be exploitable. The fix is making the damage bounded: scoped credentials per agent so a successful prompt injection or compromised skill can only reach what that specific agent was authorized to touch.

Re:Show HN: OneCLI – Vault for AI Agents in Rust on Thursday March 12, 2026 @03:13PM (#47355698)
Nice. The proxy-intercept approach is the right architecture. Agent gets a placeholder, the real credential never touches agent memory. Rust is a solid choice for something this sensitive.

The gap that gets teams eventually: this works great on one machine, but breaks at the team boundary. CI pipelines have no localhost. Multiple devs sharing agents need access control and audit trails, not just a local swap. A rogue sub-agent with the placeholder can still do damage if the proxy has no per-agent scoping.

We ran into the same thing building this out for OpenClaw setups. Ended up going vault-backed with group-based access control and HMAC-signed calls per request. Full breakdown on the production version: https://www.apistronghold.com/blog/phantom-token-pattern-pro...

Re:Show HN: Ash, an Agent Sandbox for Mac on Thursday March 12, 2026 @01:02PM (#47353921)
Sandboxing agent execution on the host is table stakes now. The bigger gap is external blast radius: even a perfectly sandboxed agent with full API keys can still nuke prod if compromised. Scoped credentials limit what it can actually touch.

Example from a recent plugin incident: agent had DB admin rights because it inherited the deployer's token. Scoped per-tool keys + blast radius audit fixes that. https://www.apistronghold.com/blog/chatgpt-plugin-database-a...

Nice primitive. Giving agents their own inboxes, phone numbers, and virtual cards fills a real gap. One missing piece though: those services all need upstream API keys (Twilio, Stripe, etc.) to work. Without scoped credentials per agent, a compromised Clawcard deployment leaks access to all of them.

We've been running scoped key injection for OpenClaw agents: the agent gets a runtime token scoped to just the APIs/services it needs, nothing more. Rotation is automatic on compromise. Relevant mechanics here: https://www.apistronghold.com/blog/chatgpt-plugin-database-a...

Rug pull attacks on MCP servers are underrated. The trust model is broken by design once you add a server to your config. It has context access immediately, including any injected secrets.

Blocking exfiltration after the fact is the wrong frame. If the credentials in context are short-lived and scoped to specific endpoints, a rug pull yields something that expires in minutes and cannot be used broadly. The attack still happens but the blast radius is tiny.

We have been building exactly this layer: https://www.apistronghold.com/blog/securing-openclaw-ai-agen...

Re:Protective Dome for AI Agents – MCP Security Gateway on Thursday March 12, 2026 @12:44AM (#47346549)
The traffic filter layer makes sense, but there is still a credential problem underneath it.

A tool call can pass every gateway rule cleanly, and then the MCP server uses a broad-permission key to make the actual external request. You cannot stop a compromised tool at the proxy layer if it is authorized to call that endpoint.

The missing piece is scope enforcement at the key level: each agent gets credentials valid only for its specific operations, nothing broader. Combined with short TTLs, a key extracted through prompt injection goes stale fast and cannot be used for anything interesting.

Happy to talk through how we approached this if useful.

This is exactly the problem API Stronghold is built around. Behavioral scanning tells you what an agent is doing, but if it's holding a 90-day full-scope key, the blast radius of any bad session is your entire account.

The pattern that actually fixes it: agents never hold persistent credentials at all. They request scoped, short-lived keys at task time and those keys expire when the task ends. g0 catching a compromised session is valuable, but if the credential is already scoped to "read this one resource for the next 5 minutes," the attacker's window is nearly zero.

Complementary layers, not competing ones. https://apistronghold.com/blog/securing-openclaw-ai-agent-wi...

Re:Show HN: Klaus – OpenClaw on a VM, batteries included on Wednesday March 11, 2026 @02:08PM (#47339056)
Guess I don't have the naked domain set up yet. Ill fix that up. You should be able to go to www.apistronghold.com
The detection and rotation approach makes sense as a layer, but it's still treating the symptom. The dev only pastes the key into Claude because they can see it. If secrets are fetched at runtime through a vault or proxy layer, the developer never holds a raw credential to paste anywhere. The 401 debugging workflow becomes "here's my request, here's my masked token reference" instead of "here's my actual key, what's wrong?"

We see this pattern constantly with API Stronghold. Teams switch from static .env keys to runtime-injected scoped credentials and the whole "key in a prompt" failure mode goes away because there's nothing to copy-paste. Rotation still matters, but it's a lot less urgent when your keys aren't sitting in clipboards, shells, and Slack messages all day.

Good writeup. The gap you're describing: skill installer copies the whole directory, test files run outside the agent context, so the agent's credential store becomes the actual attack surface. Scanners focus on what the agent does at runtime, but if the test file executes with the same environment, it can reach whatever keys were loaded.

The fix most people overlook: the agent shouldn't hold long-lived keys at all. Short-lived, scoped credentials mean even if a bundled test file runs and tries to exfiltrate something, it gets a credential that expires in minutes. We cover the pattern here: https://apistronghold.com

The mail server story is exactly why least-privilege matters more for AI agents than it does for human operators. A human who accidentally deletes a resource at least knows they did it. An agent doing the same thing for opaque internal reasons may not even log it in a way you'd notice.

Same principle applies to API keys. Most agents run with a single long-lived key that covers everything. One bad completion, one prompt injection, and that key does whatever it can reach. Scoped credentials with short TTLs are the API equivalent of "don't give the robot root": https://apistronghold.com

The security warnings usually focus on the agent's behavior, not what it holds. An OpenClaw agent with scoped, short-lived credentials is a fundamentally different risk profile than one running with a long-lived key that touches production. The warnings are valid but the fix is at the credential layer, not the agent behavior layer.
Monitoring and compliance at the agent level makes sense. The gap I keep hitting is that most agent security tooling focuses on what the agent does but not what credentials it holds while doing it. An agent that passes all behavioral checks but carries a 90-day full-access API key is still one compromised session away from a bad day.
The irony: the model trained on leaked API internals is the same model teams hand their API keys to for debugging. Every time someone pastes a key into a prompt to troubleshoot a 401, that credential goes through the same pipeline. Key rotation helps but only if you know the key leaked. Most teams find out from a bill, not a log.

Older »