google / google/adk-python-community

Integration proposal: HOL Guard pre-tool security plugin

Open
#178 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
Python
Stars
182
Forks
75
PR merge metrics
No merged PRs in 30d

Description

## 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.

Contributor guide

Open the contributing guide

Research direction

Start by reading CONTRIBUTING.md and the existing plugins under src/google/adk_community/plugins, then trace ADK’s before_tool_callback and runner/plugin path. The proposal is ready for maintainer direction rather than implementation; completion would require an approved scope, focused unit tests for deny/review/error and allow behavior, documented unsupported-tool behavior, and a small reproducible E2E example.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
security, tooling
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Active
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.