FIDES: deterministic prompt-injection defense, coming soon to Agent Framework #5624
Replies: 3 comments 1 reply
|
This is a strong direction. Deterministic information-flow control is exactly the kind of defense agent frameworks need because prompt-only defenses leave too much to model behavior. On the feedback points:
The main evidence I would want from the framework is a compact decision record: input labels, propagated labels, policy checked, decision, tool/action name, and reason. That makes the defense usable for audit, incident review, and regression testing. |
|
this looks very useful, is this planned for dotnet agent framework too? |
|
Great work on FIDES! Information-flow control is clearly the right approach for deterministic prompt injection defense — much better than hoping the model behaves correctly. Here's our feedback from building runtime security verification for MCP agents: 1. API ergonomics: A dedicated 2. Defaults: MCP tool results should absolutely be 3. Label scoping: Long-running agents definitely need scoped labels. "Most-restrictive-wins" creates a ratcheting problem — one untrusted input permanently contaminates the entire session. Compaction-aware decay makes sense, but promotion from untrusted→trusted should require explicit validation, not just time decay. 4. What's missing: FIDES solves data flow control ("who can call what"), but doesn't address parameter-level content validation ("is this specific argument dangerous"):
We've seen these gaps in practice — auditing open-source agent projects found real vulnerabilities (eval injection, hardcoded credentials, SSRF) that label-based systems wouldn't catch. FIDES + parameter-level validation would be a much stronger combination. The two layers are complementary: FIDES decides who can call what, parameter validation verifies whether the arguments are safe. Also worth noting: the current approach trusts MCP server annotations for label assignment. A malicious server can declare — Guigui Wang | Correctover — Failover ≠ Correctover™ |
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Hi all 👋
FIDES (Flow Integrity Deterministic Enforcement System) is landing in
agent-framework-core(as of v1.3.0) underagent_framework.security— an information-flow-control defense against prompt injection and data exfiltration. It's based on the FIDES paper by Costa et al. and tracked in ADR-0024.The problem in one screenshot
A triage agent that reads issues and can call
read_file/post_comment. An attacker opens a normal-looking bug report with a footer:A defensive system prompt lowers the success rate of known attacks. It doesn't make the next one impossible. The agent only has to be wrong once.
What FIDES does
Content: integrity (trusted/untrusted) and confidentiality (public/private/user_identity).additional_properties(accepts_untrusted=False,max_allowed_confidentiality="public").Opt-in via a single
SecureAgentConfigcontext provider on your existingAgent.Try it
python/samples/02-agents/security/—email_security_example.py(prompt injection) andrepo_confidentiality_example.py(data exfiltration).What we'd like feedback on
additional_propertiesdecorator approach feel right, or would you prefer a dedicatedSecurityLabelargument on@tool?SecureAgentConfigkeeps existing agents unchanged; should some labels apply automatically (e.g. tool results from MCP servers beinguntrustedby default)?Co-authored with @shrutitople.
All reactions