Generated banner for Owasp LLM
Generated logo for Owasp LLM

Owasp LLM

MicrosoftOfficialPublished by Microsoft

  • Skill
  • Guidelines
  • Security
  • CC-BY-SA-4.0
  • No issues found

From the author

OWASP Top 10 for LLM Applications (2025) knowledge base for identifying, assessing, and remediating large language model security risks.
— the description by Microsoft

AutoGineer summary

Written by AutoGineer from the skill’s own files, not by the author

The owasp-llm skill provides a machine-readable implementation of the OWASP Top 10 for LLM Applications (2025). It serves as a comprehensive reference for developers and security professionals to understand, detect, and mitigate vulnerabilities inherent in large language model systems. Each of the ten identified risks is documented with detailed descriptions, risk assessments, vulnerability checklists, and actionable prevention and remediation strategies.

What it does

  • Provides a structured index of the 2025 OWASP LLM Top 10 vulnerabilities.
  • Offers detailed breakdowns for each vulnerability, including risk impact and attack scenarios.
  • Includes specific vulnerability checklists to help identify system exposure.
  • Supplies defensive measures and remediation guidance for each security risk.
  • Categorizes risks into logical groups like Input Integrity, Data Protection, and Access Control.

When to use it

  • During the design phase of an LLM-integrated application to implement security by design.
  • When performing a security audit or risk assessment of an existing LLM system.
  • To train development teams on common LLM-specific security threats.
  • When developing remediation plans for identified security vulnerabilities in AI workflows.

Advantages

  • Standardized, industry-recognized framework for LLM security.
  • Machine-readable format suitable for integration into automated security agents.
  • Covers both direct and indirect attack vectors, including multimodal risks.
  • Provides clear, actionable steps for both detection and long-term remediation.

Usage examples

“What are the primary risks associated with Prompt Injection according to the OWASP LLM Top 10?”
The agent retrieves the LLM01:2025 documentation, detailing direct and indirect injection risks, potential consequences like data exfiltration, and a checklist for identifying exposure.
“How can I prevent Excessive Agency in my LLM agent?”
The agent references LLM06:2025, providing guidance on enforcing least privilege, implementing human-in-the-loop requirements for high-risk actions, and defining strict capability boundaries.

Install

  1. Download the skill as a ZIP:

    https://mp-staging.autogineer.com/agent-skills/microsoft/owasp-llm/download
  2. Unzip it into the cross-client skills folder of your project:

    mkdir -p .agents/skills && unzip owasp-llm.zip -d .agents/skills

Documentation by Microsoft

OWASP® LLM Top 10 — Skill Entry

This SKILL.md is the entrypoint for the OWASP LLM Top 10 skill.

The skill encodes the OWASP Top 10 for LLM Applications (2025) as structured, machine-readable references that an agent can query to identify, assess, and remediate security risks in large language model systems.

Normative references (LLM Top 10)

  1. 00 Vulnerability Index

  2. 01 Prompt Injection

  3. 02 Sensitive Information Disclosure

  4. 03 Supply Chain

  5. 04 Data and Model Poisoning

  6. 05 Improper Output Handling

  7. 06 Excessive Agency

  8. 07 System Prompt Leakage

  9. 08 Vector and Embedding Weaknesses

  10. 09 Misinformation

  11. 10 Unbounded Consumption

Skill layout

  • SKILL.md — this file (skill entrypoint).

  • references/ — the LLM Top 10 normative documents.

    • 00-vulnerability-index.md — index of all vulnerability identifiers, categories, and cross-references.

    • 01 through 10 — one document per vulnerability aligned with OWASP LLM Applications numbering.

Third-Party Attribution

Copyright © OWASP Foundation. OWASP® Top 10 for LLM Applications (2025) content is derived from works by the OWASP Foundation, licensed under CC BY-SA 4.0 (https://creativecommons.org/licenses/by-sa/4.0/). Source: https://genai.owasp.org/resource/owasp-top-10-for-llm-applications-2025/ Modifications: Vulnerability descriptions restructured into agent-consumable reference documents with added detection and remediation guidance. OWASP® is a registered trademark of the OWASP Foundation. Use does not imply endorsement.

Files

references/06-excessive-agency.md


title: 'LLM06: Excessive Agency' description: OWASP LLM Top 10 reference for excessive agency vulnerabilities where LLM systems perform unintended actions with excessive permissions

06 Excessive Agency

Identifier: LLM06:2025 Category: Access Control

Description

An LLM-based system is often granted a degree of agency by its developer — the ability to call functions or interface with other systems via extensions (tools, skills, or plugins) to undertake actions in response to a prompt. The decision over which extension to invoke may also be delegated to an LLM agent to dynamically determine based on input prompt or LLM output. Agent-based systems will typically make repeated calls to an LLM using output from previous invocations to ground and direct subsequent invocations.

Excessive Agency is the vulnerability that enables damaging actions to be performed in response to unexpected, ambiguous, or manipulated outputs from an LLM, regardless of what is causing the LLM to malfunction. Common triggers include hallucination caused by poorly engineered prompts or a poorly performing model, direct or indirect prompt injection from a malicious user, or a malicious or compromised extension or peer agent.

The root cause is typically one or more of: excessive functionality, excessive permissions, or excessive autonomy. Excessive Agency can lead to a broad range of impacts across the confidentiality, integrity, and availability spectrum, depending on which systems an LLM-based application is able to interact with.

Risk

  • Unauthorized data access through extensions with excessive read capabilities.

  • Data exfiltration via extensions with unnecessary send or write capabilities.

  • Modification or deletion of data through excessive permissions on downstream systems.

  • Privilege escalation through extensions accessing systems with generic high-privileged identities.

  • Unintended destructive actions performed without user confirmation or approval.

  • Lateral movement across accounts through extensions operating outside the intended user's security context.

Vulnerability checklist

  • LLM agents have access to extensions with functions not needed for the intended system operation.

  • Development-era extensions remain available to the LLM agent after being replaced by better alternatives.

  • Extensions with open-ended functionality such as shell command execution or URL fetching fail to properly filter input instructions.

  • Extensions have permissions on downstream systems beyond what is needed for the intended operation, such as UPDATE, INSERT, and DELETE when only SELECT is required.

  • Extensions access downstream systems with generic high-privileged identities instead of executing in the user's security context.

  • High-impact actions such as deletions are performed without independent verification or user approval.

  • Authorization decisions are delegated to the LLM rather than enforced in downstream systems.

Prevention controls

  1. Limit the extensions that LLM agents are allowed to call to the minimum necessary for intended operation.

  2. Limit the functions implemented in LLM extensions to the minimum necessary. Avoid extensions that include capabilities beyond their intended purpose.

  3. Avoid open-ended extensions such as shell command execution or URL fetching and use extensions with more granular, purpose-specific functionality.

  4. Limit the permissions that LLM extensions are granted to other systems to the minimum necessary. Enforce appropriate database permissions for the identity that the LLM extension uses to connect.

  5. Execute extensions in the user's context, tracking user authorization and security scope to ensure actions use minimum privileges. Require user authentication via OAuth with the minimum scope required.

  6. Require human approval for high-impact actions via human-in-the-loop control before they are taken.

  7. Implement authorization in downstream systems rather than relying on the LLM to decide if an action is allowed. Enforce the complete mediation principle so all requests made to downstream systems via extensions are validated against security policies.

  8. Follow secure coding best practices such as applying OWASP ASVS recommendations with strong focus on input sanitization. Use SAST, DAST, and IAST in development pipelines.

Example attack scenarios

Scenario A — Email exfiltration via excessive extension

An LLM-based personal assistant is granted mailbox access via an extension in order to summarize incoming emails. The extension includes functions for sending messages beyond the needed read capability. A maliciously-crafted incoming email tricks the LLM into scanning the inbox for sensitive information and forwarding it to the attacker's email address. This could be avoided by using an extension that only implements mail-reading capabilities, authenticating via an OAuth session with a read-only scope, and requiring the user to manually review and approve every mail send action.

Detection guidance

  • Audit all LLM extensions for unnecessary functions and permissions beyond their intended purpose.

  • Review downstream system permissions granted to extension identities for excessive access levels.

  • Monitor and log LLM extension activity and downstream system interactions for undesirable or unauthorized actions.

  • Test whether high-impact actions can be triggered without human approval or user confirmation.

  • Verify that extensions execute in the specific user's security context with minimum privileges rather than using generic high-privileged identities.

Remediation

  • Remove unnecessary extensions and functions from LLM agent configurations.

  • Restrict extension permissions to the minimum necessary on all downstream systems.

  • Replace open-ended extensions with more granular, purpose-specific alternatives.

  • Implement human-in-the-loop control for all high-impact actions.

  • Enforce authorization in downstream systems rather than relying on LLM decisions.

  • Add rate-limiting on extension actions to reduce the impact of undesirable operations and increase the opportunity for detection.

  • Log and monitor the activity of all LLM extensions and downstream systems to identify and respond to undesirable actions.


Content derived from works by the OWASP Foundation, licensed under CC BY-SA 4.0 (https://creativecommons.org/licenses/by-sa/4.0/). Modifications: Restructured into agent-consumable reference format with added detection and remediation guidance.

Requirements and compatibility

Written for: GitHub Copilot, Claude Code

Works with: Claude Code, Claude apps, OpenAI Codex, GitHub Copilot, Cursor, Gemini CLI, Kiro, OpenCode, Goose, Amp, Roo Code, JetBrains Junie, Factory Droid, Devin (ex-Windsurf), Mistral Vibe, OpenHands, Letta

“Works with” means the tool reads the open Agent Skills format; a skill written for one tool may use features others lack.

Needs: Claude Code frontmatter

Security

No issues found by our static scan· No issues found

A static scan is not a guarantee. Skills are third-party content: review a skill before you let an agent use it.

Attribution and licence

Published by
Microsoft
Publisher
Microsoft (Official)
Source
microsoft/hve-core · .github/skills/security/owasp-llm · commit f425e94
Licence
Creative Commons Attribution-ShareAlike 4.0 International (redistribution allowed)
  • LICENSE (written by AutoGineer)
  • ATTRIBUTION.md (written by AutoGineer)
Synced

AutoGineer is not affiliated with or endorsed by Microsoft.

Download ZIP

The ZIP holds the skill’s files, its licence files and an ATTRIBUTION.md. Download owasp-llm.zip