google / google/adk-python-community
Integration proposal: HOL Guard pre-tool security plugin
- 主要语言
- Python
- 星标
- 182
- 派生
- 75
- PR 合并指标
- 30 天内没有已合并 PR
描述
## Context
`google/adk-python#6886` was closed with an explicit redirect here because the core ADK repository does not plan to support third-party tools directly.
I’m proposing a small community plugin for HOL Guard in this repository’s existing `src/google/adk_community/plugins` surface, rather than a core ADK change.
## Proposed integration
A `HolGuardPlugin(BasePlugin)` would use ADK’s existing `before_tool_callback` boundary for command-bearing tools on supported local execution paths.
The intended contract is deliberately fail-closed:
- inspect the validated tool name/arguments with HOL Guard before downstream execution;
- proceed only for an explicitly benign HOL Guard result;
- review/risky/unknown/error paths short-circuit before the protected tool executes;
- allow paths delegate exactly once;
- no Guard Cloud dependency is required for the local enforcement path.
The implementation would stay scoped to tools whose arguments can be represented as a command/action HOL Guard actually understands. It would not claim interception of unrelated hosted/control-plane operations.
## Validation
If maintainers are comfortable with this placement, I’d include focused unit tests covering:
- deny/review/error -> zero downstream executions;
- allow -> exactly one downstream execution;
- unsupported/non-command tools -> explicit, documented behavior;
- a small reproducible E2E example using the ADK runner/plugin path.
I did not find an existing HOL Guard issue or PR in this repository. Per `CONTRIBUTING.md`, I’m opening the issue first and will wait for maintainer direction before implementing.
Affiliation: I’m contributing on behalf of Hashgraph Online / HOL Guard.
贡献指南
调研方向
首先阅读 CONTRIBUTING.md 以及 src/google/adk_community/plugins 下现有的插件,然后跟踪 ADK 的 before_tool_callback 和 runner/plugin 路径。该提案已准备好交由 maintainer 指导,而不是立即实现;要完成它,需要经过批准的范围、针对 deny/review/error 和 allow 行为的聚焦单元测试、对不支持的工具行为的文档说明,以及一个小型可复现的 E2E 示例。
由索引模型根据 Issue 内容生成。
评估
- 技术栈
- python
- 领域
- security, tooling
- Issue 类型
- 功能
- 难度
- 5/5
- 预计耗时
- 一周以上
- 活跃度
- 活跃
- 描述清晰度
- 基本清楚
- 新手友好度
- 35/100