Skip to content
Skillpedia
Agents40k · #4986

agent-owasp-compliance

Makes your agent check other agents' code against security risks. It helps ensure compliance with security standards.

What it does

This tool checks if an AI agent's code follows security best practices defined by OWASP. It looks for 10 common risk types in AI agents that can act on your behalf.

When to use it

  • ✓Before putting an AI system into production.
  • ✓To ensure the AI system follows security standards.
  • ✓When reviewing the security of an AI system.

Example of what to ask your AI

“Check my AI agent code against the OWASP Top 10 security risks.”

Want more? Open the sections below.

How to use

The easiest way: copy the message below and paste it into Claude, ChatGPT, Cursor or any AI. It reads the skill and follows the instructions.

Skill link

https://github.com/github/awesome-copilot/blob/main/skills/agent-owasp-compliance/SKILL.md

Ready-to-paste message

Use this skill to help me: https://github.com/github/awesome-copilot/blob/main/skills/agent-owasp-compliance/SKILL.md Read the SKILL.md file at that link and follow its instructions for my task.
How it works

The tool analyzes your code for patterns indicating the presence or absence of security controls for each of the 10 risks. It generates a report showing which risks are covered.

Installation

Easiest way: copy the skill link and paste it into Claude, ChatGPT or Cursor asking it to follow the instructions.

In the terminal (Claude Code, Codex, Cursor), in your project folder:

npx skills add github/awesome-copilot --skill agent-owasp-compliance

Or download just the file:

curl -L https://raw.githubusercontent.com/github/awesome-copilot/main/skills/agent-owasp-compliance/SKILL.md -o SKILL.md
Technical content (original SKILL.md)

Original text by the author, straight from GitHub.

Agent OWASP ASI Compliance Check

Evaluate AI agent systems against the OWASP Agentic Security Initiative (ASI) Top 10 — the industry standard for agent security posture.

Overview

The OWASP ASI Top 10 defines the critical security risks specific to autonomous AI agents — not LLMs, not chatbots, but agents that call tools, access systems, and act on behalf of users. This skill checks whether your agent implementation addresses each risk.

Codebase → Scan for each ASI control:
  ASI-01: Prompt Injection Protection
  ASI-02: Tool Use Governance
  ASI-03: Agency Boundaries
  ASI-04: Escalation Controls
  ASI-05: Trust Boundary Enforcement
  ASI-06: Logging & Audit
  ASI-07: Identity Management
  ASI-08: Policy Integrity
  ASI-09: Supply Chain Verification
  ASI-10: Behavioral Monitoring
→ Generate Compliance Report (X/10 covered)

The 10 Risks

Risk Name What to Look For
ASI-01 Prompt Injection Input validation before tool calls, not just LLM output filtering
ASI-02 Insecure Tool Use Tool allowlists, argument validation, no raw shell execution
ASI-03 Excessive Agency Capability boundaries, scope limits, principle of least privilege
ASI-04 Unauthorized Escalation Privilege checks before sensitive operations, no self-promotion
ASI-05 Trust Boundary Violation Trust verification between agents, signed credentials, no blind trust
ASI-06 Insufficient Logging Structured audit trail for all tool calls, tamper-evident logs
ASI-07 Insecure Identity Cryptographic agent identity, not just string names
ASI-08 Policy Bypass Deterministic policy enforcement, no LLM-based permission checks
ASI-09 Supply Chain Integrity Signed plugins/tools, integrity verification, dependency auditing
ASI-10 Behavioral Anomaly Drift detection, circuit breakers, kill switch capability

Check ASI-01: Prompt Injection Protection

Look for input validation that runs before tool execution, not after LLM generation.

import re
from pathlib import Path

def check_asi_01(project_path: str) -> dict:
    """ASI-01: Is user input validated before reaching tool execution?"""
    positive_patterns = [
        "input_validation", "validate_input", "sanitize",
        "classify_intent", "prompt_injection", "threat_detect",
        "PolicyEvaluator", "PolicyEngine", "check_content",
    ]
    negative_patterns = [
        r"eval\(", r"exec\(", r"subprocess\.run\(.*shell=True",
        r"os\.system\(",
    ]

    # Scan Python files for signals
    root = Path(project_path)
    positive_matches = []
    negative_matches = []

    for py_file in root.rglob("*.py"):
        content = py_file.read_text(errors="ignore")
        for pattern in positive_patterns:
            if pattern in content:
                positive_matches.append(f"{py_file.name}: {pattern}")
        for pattern in negative_patterns:
            if re.search(pattern, content):
                negative_matches.append(f"{py_file.name}: {pattern}")

    positive_found = len(positive_matches) > 0
    negative_found = len(negative_matches) > 0

    return {
        "risk": "ASI-01",
        "name": "Prompt Injection",
        "status": "pass" if positive_found and not negative_found else "fail",
        "controls_found": positive_matches,
        "vulnerabilities": negative_matches,
        "recommendation": "Add input validation before tool execution, not just output filtering"
    }

What passing looks like:

# GOOD: Validate before tool execution
result = policy_engine.evaluate(user_input)
if result.action == "deny":
    return "Request blocked by policy"
tool_result = await execute_tool(validated_input)

What failing looks like:

# BAD: User input goes directly to tool
tool_result = await execute_tool(user_input)  # No validation

Check ASI-02: Insecure Tool Use

Verify tools have allowlists, argument validation, and no unrestricted execution.

What to search for:

  • Tool registration with explicit allowlists (not open-ended)
  • Argument validation before tool execution
  • No subprocess.run(shell=True) with user-controlled input
  • No eval() or exec() on agent-generated code without sandbox

Passing example:

ALLOWED_TOOLS = {"search", "read_file", "create_ticket"}

def execute_tool(name: str, args: dict):
    if name not in ALLOWED_TOOLS:

…
FAQ

What are the OWASP ASI Top 10 risks?

These are the 10 most critical security risks identified specifically for autonomous AI agents, which can interact with systems and perform actions.

What is an 'AI agent'?

It's an AI program that not only understands commands but can also use tools, access systems, and act on behalf of the user to complete tasks.

What is 'Prompt Injection'?

It's an attack where a malicious user tries to trick the AI agent into executing unwanted commands or revealing sensitive information, often through special instructions in the prompt.

Details

Original description by the author

Check any AI agent codebase against the OWASP Agentic Security Initiative (ASI) Top 10 risks. Use this skill when: - Evaluating an agent system's security posture before production deployment - Running a compliance check against OWASP ASI 2026 standards - Mapping existing security controls to the 10 agentic risks - Generating a compliance report for security review or audit - Comparing agent frame

repo: github/awesome-copilot

Popularity

GitHub stars
40k
Ranking position
#4986
License
MIT
Updated
10/15/2026

Is this skill useful?

0

Sign in to vote.

Comments

  • …

More skills from this repository

Similar skills