docs(problems): add tool call risk assessment problem doc - #2009
Conversation
Proposes approaches for evaluating the risk of individual tool calls before execution, covering LLM-as-judge, behavioral baselines, declarative policies, and hybrid approaches. References issue fullsend-ai#174 (reasoning monitor). Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> Signed-off-by: Benjamin Kapner <bkapner@redhat.com>
ReviewFindingsMedium
Low
Previous runReviewFindingsMedium
Low
Info
Labels: PR adds a new problem document exploring tool call risk assessment, a security-adjacent topic. Previous runReviewFindingsMedium
Low
Info
Previous run (2)ReviewFindingsMedium
Info
|
| - Can the judge model be meaningfully isolated from the same poisoned context that might compromise the primary agent? | ||
| - Should the risk assessment operate at the individual tool call level, or should it also consider sequences (e.g., "read credentials file" followed by "curl to external URL")? | ||
| - How do we handle the cold start problem for behavioral baselines in new repos or with new agent roles? | ||
| - What is the right model for the judge? It needs to be fast and cheap but capable enough to understand security context. Is a small fine-tuned model better than a general-purpose small model? |
There was a problem hiding this comment.
[medium] stale-reference
The Open Questions section links to graduated-approval-policy.md but this file does not exist anywhere in the repository. Readers following this link will get a 404.
Suggested fix: Either create the referenced document, remove the link, or replace with a general description that doesn't imply the document exists.
Add README.md entry for the new problem document. Remove stale cross-reference to graduated-approval-policy.md. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> Signed-off-by: Benjamin Kapner <bkapner@redhat.com>
|
Addressed in b3fe09f. Response to each finding: [missing-doc] Added a bullet point entry in README.md linking to [stale-reference] Removed the broken link to [technical-accuracy] The doc uses "unicode normalizer" which matches the function name in the codebase ( [authorization-status] Acknowledged, no action needed per the bot's own assessment. |
Correct autonomy-spectrum.md vs intent-representation.md distinction. Replace broken tool-call-risk-assessment.md link with PR fullsend-ai#2009 reference. Add README.md entry. Clarify Challenger as intra-agent verification, not inter-agent disagreement. Add mixed-path PR semantics for CODEOWNERS interaction. Qualify change-type scoring for additions of new attack surface. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> Signed-off-by: Benjamin Kapner <bkapner@redhat.com>
ralphbean
left a comment
There was a problem hiding this comment.
LGTM. Two non-blocking notes inline.
| allow_domains: | ||
| - "github.com" | ||
| - "api.github.com" | ||
| Read: |
There was a problem hiding this comment.
[moderate] AGENTS.md asks problem docs to present options with trade-offs, not prescribe. "(recommended for exploration)" in the heading edges into prescription. Could drop it and let the trade-offs speak for themselves.
There was a problem hiding this comment.
ok ill remove "(recommended for exploration)" from the heading. the trade-offs section already makes the case for why a hybrid is worth exploring, so the heading doesn't really need to say it
| - Unauthorized network access | ||
| - Scope violation (tool call unrelated to assigned task) | ||
|
|
||
| **Verdict structure:** |
There was a problem hiding this comment.
[minor] If a compromised agent sees the block reason, it could use that feedback to reformulate the call and evade the judge on retry. Worth adding to Open Questions?
There was a problem hiding this comment.
great point, i hadn't considered that.. i'll add it to open questions. it connects to the broader question of how much information a blocked tool call should return to the agent, there's a tension between giving the agent enough context to adjust legitimately and giving a compromised agent a roadmap for evasion.
E2E tests did not runE2E tests run automatically for org/repo members and collaborators on pull requests. For other contributors, a maintainer must add the See E2E testing guide for details. |
|
🤖 Review · |
…essment Remove prescriptive "(recommended for exploration)" from Approach 4 heading, and add evasion-via-block-reason concern to Open Questions. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> Signed-off-by: Benjamin Kapner <bkapner@redhat.com>
8728ae2 to
2e6ac34
Compare
Site previewPreview: https://b4a3f948-site.fullsend-ai.workers.dev Commit: |
|
🤖 Review · ❌ Terminated · Started 6:18 AM UTC · Ended 6:32 AM UTC |
Codecov Report✅ All modified and coverable lines are covered by tests. 📢 Thoughts on this report? Let us know! |
|
🤖 Finished Review · ✅ Success · Started 6:18 AM UTC · Completed 6:32 AM UTC |
|
@ralphbean your input is needed again I think |
|
I think we can merge as ralph approved with non-blocking. Thanks for the contribution. |
|
🤖 Finished Retro · ✅ Success · Started 8:43 AM UTC · Completed 8:49 AM UTC |
Retro: PR #2009 — Tool Call Risk Assessment Problem DocTimeline: Opened June 8 by Benkapner, merged July 1 by rh-hemartin. Docs-only PR adding a new problem exploration document and linking it from README. What went well:
What the human caught that the bot missed:
Skipped proposals (covered by existing issues):
1 proposal filed. Proposals filed
|
Summary
Complements #174 (Experiment: reasoning monitor agent for prompt injection detection) by addressing dangerous actions regardless of intent, rather than monitoring reasoning traces for compromise signals. Both layers are needed; neither subsumes the other.