google / google/adk-python-community

Integration proposal: HOL Guard pre-tool security plugin

未关闭
#178 0 条评论 0 个 reaction 已指派 0 人 在 GitHub 查看
主要语言
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

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。