semantic-kernel-tool-security

Audit Semantic Kernel plugin registration and planner argument handling for security risks.

4|Updated Apr 27, 2026
One-click install
npx skills add https://github.com/maruakshay/mii-ai-security --skill semantic-kernel-tool-security
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: semantic-kernel-tool-security
Source: https://github.com/maruakshay/mii-ai-security/tree/main/skills/semantic-kernel-tool-security
Command: npx skills add https://github.com/maruakshay/mii-ai-security --skill semantic-kernel-tool-security

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

Semantic Kernel's planner and automatic function calling are designed to let the model decide which plugins to invoke and with what arguments. This is the intended design — and the core security risk. The model's plugin selection is model output, not deterministic policy. If all registered plugins are visible to all users, and if the planner can call them without a per-invocation authorization check, then any injection that influences the model's plugin selection has effectively invoked those capabilities with the ambient permissions of the service account.

Core Features & Use Cases

  • Native and prompt-based plugins, function registration, and plugin exposure rules
  • Planners, automatic function calling, kernel arguments, filters, and memory connectors
  • Connectors to files, HTTP APIs, databases, enterprise systems, and code execution surfaces
  • Use Case: Security review of Semantic Kernel deployments across multi-tenant environments to prevent privilege escalation and unauthorized actions by the planner.

Quick Start

Review your Semantic Kernel planner and plugins to verify authorization, sandboxing, and proper connector permissions.

Frequently Asked Questions about semantic-kernel-tool-security

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
What is the security risk of Semantic Kernel automatic function calling?

Semantic Kernel automatic function calling risks privilege escalation because the planner's plugin selection is model output, not deterministic policy, allowing injected prompts to invoke capabilities using ambient service account permissions.

How do I secure Semantic Kernel plugins during a security review?

Secure Semantic Kernel plugins by auditing plugin registration, enforcing per-request role-based access, validating JSON schemas, checking KernelArguments, and enabling audit logging of each invocation to prevent unauthorized actions.

Does Semantic Kernel support per-request plugin registration for multi-tenant environments?

Yes, Semantic Kernel supports per-request plugin registration, which is critical for multi-tenant environments to prevent unauthorized planner actions and ensure users only see plugins matching their role-based permissions.

What is the best way to prevent privilege escalation in Semantic Kernel planner deployments?

Prevent Semantic Kernel planner privilege escalation by implementing explicit authorization checks on each invocation, sandboxing code execution surfaces, and restricting connector permissions to files, HTTP APIs, and databases.

Why does the Semantic Kernel planner invoke plugins without authorization checks?

The Semantic Kernel planner invokes plugins without authorization checks because its design lets the model decide which plugins to call, meaning any injection influencing the model bypasses deterministic policy unless explicit per-invocation checks are added.

Do I need JSON schema validation for Semantic Kernel KernelArguments?

Yes, JSON schema validation for Semantic Kernel KernelArguments is required to ensure the planner passes properly structured data to plugins, mitigating the risk of malformed inputs executing unintended connector actions.