microsoft / microsoft/semantic-kernel
[Feature] Official HOL Guard FunctionInvocationFilter security sample
Nobody has claimed this yet.
- Dominant language
- C#
- Stars
- 28.6k
- Forks
- 4.8k
- Avg merge
- 14h 13m
- Merged PRs (30d)
- 18
Description
Proposal
Add a small official Semantic Kernel sample/docs example that integrates HOL Guard at the existing IFunctionInvocationFilter boundary. This is not a request for a new generic filter API.
Semantic Kernel already demonstrates that an invocation filter can prevent execution by not calling next(context) in the FunctionInvocationApproval sample. HOL Guard can use that same boundary to evaluate a function invocation locally before execution.
Suggested sample behavior
- install/configure HOL Guard explicitly in the sample
- register a
HolGuardFunctionInvocationFilter : IFunctionInvocationFilter - send the function name + arguments to the local HOL Guard decision path before
next(context) allow-> callnext(context)exactly oncedeny-> return a blocked result and never execute the underlying functionreview-> require an explicit host approval callback; otherwise fail closed- timeout/unavailable/malformed/ambiguous Guard response -> fail closed
- keep HOL Guard Cloud optional; local-only use should work without a Cloud login
Existing implementation evidence
We already maintain a small Semantic Kernel adapter and real invocation-contract tests here: https://github.com/hashgraph-online/hol-guard-plugin/pull/52
That proof is pinned against Semantic Kernel and tests allow/deny/review/unavailable paths, including zero downstream execution on deny. I’m proposing only an official Semantic Kernel sample/docs placement so users can discover and apply HOL Guard through the framework’s existing supported filter seam.
If this placement makes sense, I can follow the project’s fork-first workflow and keep the PR limited to the agreed sample/docs scope.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with the existing FunctionInvocationApproval sample and the IFunctionInvocationFilter boundary, then review the HOL Guard adapter and invocation-contract tests in hashgraph-online/hol-guard-plugin pull request 52. Done means an official sample or docs example shows explicit local configuration and covers allow, deny, review, and fail-closed unavailable or malformed responses without requiring Cloud login.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- csharp
- Domain
- ai, documentation, security
- Issue type
- Feature
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Active
- Clarity
- Mostly clear
- Newbie friendliness
- 55/100