Skip to content
Skillpedia
Agents48k · #2082

ai-agent-security

Protects AI agents from attacks. Prevents data theft or misuse of tools. Ensures the agent is secure. Useful for safeguarding sensitive information and system integrity.

What it does

This tool helps protect artificial intelligence (AI) systems from malicious attacks. It prevents bad actors from making the AI act undesirably, steal information, or cause problems.

When to use it

  • ✓When you want to ensure the AI doesn't execute dangerous commands.
  • ✓When using the AI to process sensitive information.
  • ✓To prevent the AI from revealing secrets or private data.

Example of what to ask your AI

“Protect this AI agent against prompt injection and data leakage.”

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/sickn33/agentic-awesome-skills/blob/main/plugins/agentic-awesome-skills-claude/skills/ai-agent-security/SKILL.md

Ready-to-paste message

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

It works by checking the instructions you give to the AI. If the instructions seem suspicious or dangerous, the tool blocks them or raises an alert before the AI executes them.

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 sickn33/agentic-awesome-skills --skill ai-agent-security

Or download just the file:

curl -L https://raw.githubusercontent.com/sickn33/agentic-awesome-skills/main/plugins/agentic-awesome-skills-claude/skills/ai-agent-security/SKILL.md -o SKILL.md
Technical content (original SKILL.md)

Original text by the author, straight from GitHub.

AI Agent Security

Protect agentic AI systems from adversarial input, unsafe tool execution, data leakage, and privilege abuse with layered security controls.

Prerequisites

  • Python 3.10+ for guardrail code examples
  • Docker or Podman for sandbox execution
  • OpenTelemetry collector for audit logging
  • Familiarity with your agent framework (LangChain, CrewAI, Autogen, custom)
  • Access to policy engine (OPA/Cedar) for permission boundaries

Threat Model — STRIDE for AI Agents

AI agents introduce a unique threat surface. Apply STRIDE specifically to agentic components:

Threat Agent-Specific Example Control
Spoofing Attacker crafts input that mimics a trusted internal tool response Signed tool responses, HMAC verification
Tampering Prompt injection modifies agent reasoning mid-chain Input validation, prompt armoring
Repudiation Agent takes destructive action with no audit trail Immutable structured logging
Information Disclosure Agent leaks PII, secrets, or internal architecture in responses Output filtering, content classifiers
Denial of Service Adversarial prompt causes infinite tool loops or token exhaustion Rate limits, token budgets, circuit breakers
Elevation of Privilege Agent escalates from read-only to write via chained tool calls RBAC per tool, least-privilege scoping

Key Threat Categories

Prompt Injection — Untrusted content (user input, web scrapes, document contents) manipulates the agent's system prompt or reasoning chain to execute unintended actions.

Tool Abuse — The agent calls tools in sequences or with parameters the designer did not anticipate, achieving effects beyond its intended scope.

Data Exfiltration — The agent encodes sensitive data (credentials, PII, internal IPs) into its responses, tool calls, or outbound HTTP requests.

Cross-Tenant Leakage — In multi-tenant deployments, context from one tenant's session bleeds into another through shared memory, vector stores, or cache.

Privilege Escalation — The agent chains low-privilege tool calls to achieve high-privilege outcomes (e.g., read config -> extract credentials -> call admin API).

Input Validation

Every input to an agent must be sanitized before it reaches the model or any tool. This includes user messages, tool outputs being fed back, and retrieved documents.

Prompt Injection Detection

import re
from dataclasses import dataclass
from enum import Enum

class RiskLevel(Enum):
    LOW = "low"
    MEDIUM = "medium"
    HIGH = "high"
    CRITICAL = "critical"

@dataclass
class ValidationResult:
    is_safe: bool
    risk_level: RiskLevel
    matched_rules: list[str]
    sanitized_input: str

INJECTION_PATTERNS = [
    (r"ignore\s+(all\s+)?(previous|prior|above)\s+(instructions|prompts|rules)", "instruction_override"),
    (r"you\s+are\s+now\s+(a|an|the)\s+", "role_hijack"),
    (r"system\s*:\s*", "system_prompt_inject"),
    (r"<\|?(system|im_start|endoftext)\|?>", "control_token_inject"),
    (r"\[INST\]|\[\/INST\]|<<SYS>>", "template_inject"),
    (r"(?:execute|run|eval)\s*\(", "code_execution_attempt"),
    (r"(?:curl|wget|nc|ncat)\s+", "network_command_inject"),
    (r"(?:rm\s+-rf|mkfs|dd\s+if=|chmod\s+777)", "destructive_command"),
    (r"(?:\/etc\/passwd|\/etc\/shadow|\.env\b|\.ssh\/)", "path_traversal"),
    (r"(?:BEGIN\s+(?:RSA|DSA|EC)\s+PRIVATE\s+KEY)", "secret_exfil_attempt"),
]

def validate_agent_input(user_input: str, max_length: int = 4096) -> ValidationResult:
    """Validate and sanitize input before passing to agent."""
    matched = []
    risk = RiskLevel.LOW

    # Length check
    if len(user_input) > max_length:
        matched.append("input_too_long")
        risk = RiskLevel.MEDIUM

    # Null byte and control character removal
    sanitized = user_input.replace("\x00", "")
    sanitized = re.sub(r"[\x01-\x08\x0b\x0c\x0e-\x1f]", "", sanitized)

    # Pattern matching
    for pattern, rule_name in INJECTION_PATTERNS:
        if re.search(pattern, sanitized, re.IGNORECASE):
            matched.append(rule_name)
            risk = RiskLevel.HIGH

    # Stacked injection detection (multiple suspicious patterns)
    if len(matched) >= 3:
        risk = RiskLevel.CRITICAL

    is_safe = risk in (RiskLevel.LOW, RiskLevel.MEDIUM)

    return ValidationResult(
        is_safe=is_safe,
        risk_level=risk,
        matched_rules=matched,

…
FAQ

What is 'prompt injection'?

It's when someone tries to trick the AI with special instructions so it does something it shouldn't, like revealing confidential information or running dangerous commands.

What is 'tool abuse'?

This happens when the AI uses its tools (functions it can perform) in an unexpected or dangerous way, going beyond what it was programmed to do.

What is 'data exfiltration'?

This is when the AI accidentally reveals sensitive information, such as passwords, personal data, or internal details, in its responses or actions.

Details

Original description by the author

Secure AI agents against prompt injection, tool abuse, and data exfiltration with defense-in-depth controls.

repo: sickn33/agentic-awesome-skills

Popularity

GitHub stars
48k
Ranking position
#2082
License
MIT
Updated
10/15/2026

Is this skill useful?

0

Sign in to vote.

Comments

  • …

More skills from this repository

Similar skills