Skip to content

Fail closed when high-risk tools lack explicit confirmation policy #4625

@davidahmann

Description

@davidahmann

Problem

High-risk tool execution can proceed without an explicit confirmation policy in ambiguous configurations, which weakens safety boundaries for agent/tool orchestration.

Why now

ADK is increasingly used in environments where tool execution safety controls must be explicit and auditable.

Evidence Packet

  • Version/commit under test: origin/main at 3256a679da3e
  • Runtime environment: macOS 26.3 (arm64), Python 3.14.0
  • Minimal repro:
    1. Configure agent with a high-risk tool.
    2. Omit explicit confirmation policy.
    3. Execute run path that invokes the tool.
  • Expected behavior: fail-closed denial until explicit confirmation policy is provided.
  • Actual behavior: missing-policy configurations are not uniformly treated as hard safety violations.

Why code change (not docs)

This is a runtime policy gate and contract issue; docs cannot enforce execution constraints.

Scope / Codepaths

  • src/google/adk/tools
  • src/google/adk/agents
  • src/google/adk/runners.py

Acceptance Criteria

  • High-risk tools require explicit confirmation policy.
  • Missing policy causes deterministic fail-closed errors.
  • Tests cover sync/async execution surfaces.

Validation Plan

  • Add focused fixtures for high-risk tools without policy.
  • Verify deterministic deny behavior across run modes.

Metadata

Metadata

Labels

tools[Component] This issue is related to tools

Type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions