Pular para o conteúdo
Skillpedia
Agentes48 mil · #3463

llm-app-security

Torna seu agente mais seguro ao lidar com aplicações de IA. Ele valida entradas, controla saídas e previne abusos para proteger os dados.

O que ela faz

Esta ferramenta ajuda a proteger aplicativos que usam inteligência artificial contra ataques e uso indevido. Ela verifica as entradas do usuário e controla as saídas para evitar que a IA seja manipulada ou vaze informações.

Quando usar

  • ✓Ao criar um chatbot para atendimento ao cliente.
  • ✓Ao integrar IA em um produto de software.
  • ✓Ao usar IA para processar informações sensíveis.

Exemplo do que pedir para a IA

“Proteja meu aplicativo de IA contra ataques.”

Quer saber mais? Abra as seções abaixo.

Como usar

O jeito mais fácil: copie a mensagem abaixo e cole no Claude, ChatGPT, Cursor ou outra IA. Ela lê a skill e segue as instruções.

Link da skill

https://github.com/sickn33/agentic-awesome-skills/blob/main/plugins/agentic-awesome-skills-claude/skills/llm-app-security/SKILL.md

Mensagem pronta para colar

Use esta skill para me ajudar: https://github.com/sickn33/agentic-awesome-skills/blob/main/plugins/agentic-awesome-skills-claude/skills/llm-app-security/SKILL.md Leia o arquivo SKILL.md desse link e siga as instruções dele na minha tarefa.
Como funciona

Ela funciona verificando o que o usuário digita para garantir que não seja malicioso ou tente enganar a IA. Também controla o que a IA responde para que não revele dados confidenciais.

Instalação

Jeito mais fácil: copie o link da skill e cole no Claude, ChatGPT ou Cursor pedindo para seguir as instruções.

No terminal (Claude Code, Codex, Cursor), na pasta do projeto:

npx skills add sickn33/agentic-awesome-skills --skill llm-app-security

Ou baixe só o arquivo:

curl -L https://raw.githubusercontent.com/sickn33/agentic-awesome-skills/main/plugins/agentic-awesome-skills-claude/skills/llm-app-security/SKILL.md -o SKILL.md
Conteúdo técnico (SKILL.md)

Tradução do texto original do autor no GitHub. Os comandos e códigos estão como no original.

Segurança de Aplicações LLM

Fortaleça chatbots, pipelines RAG e funcionalidades de IA incorporadas em produtos SaaS contra injeção de prompt, vazamento de dados, abuso e violações de conformidade.


OWASP LLM Top 10 -- Mapa de Riscos e Mitigações

O OWASP Top 10 para Aplicações LLM (2025) define os riscos mais críticos. A tabela abaixo mapeia cada risco a controles concretos implementados posteriormente neste documento.

# Risco Mitigação Chave Seção
LLM01 Injeção de Prompt Validação de entrada, hierarquia de instruções Validação de Entrada, Proteção de Prompt do Sistema
LLM02 Tratamento Inseguro de Saída Sanitização de saída, limpeza de PII Segurança da Saída
LLM03 Envenenamento de Dados de Treinamento Escaneamento de ingestão de documentos Pipeline RAG Seguro
LLM04 Negação de Serviço de Modelo Orçamentos de tokens por usuário, limitação de taxa Limitação de Taxa
LLM05 Vulnerabilidades na Cadeia de Suprimentos Fixar versões de modelo, verificar checksums Conformidade
LLM06 Divulgação de Informações Sensíveis Detecção de PII, isolamento de tenant Segurança da Saída, Isolamento de Tenant
LLM07 Design Inseguro de Plugin Listas de permissão de ferramentas, validação de parâmetros Proteção de Prompt do Sistema
LLM08 Agência Excessiva Escopos de ferramentas de menor privilégio Proteção de Prompt do Sistema
LLM09 Confiança Excessiva Rastreamento de proveniência, pontuações de confiança Pipeline RAG Seguro
LLM10 Roubo de Modelo Controles de acesso, rotação de chave de API Limitação de Taxa, Conformidade

Validação de Entrada

Cada mensagem do usuário deve ser validada antes de chegar ao LLM. A validação possui três camadas: verificações estruturais, detecção de injeção e moderação de conteúdo.

Verificações Estruturais (Python)

import re
from dataclasses import dataclass

@dataclass
class InputPolicy:
    max_length: int = 4096
    max_lines: int = 50
    allowed_languages: set = None  # None = all

    def __post_init__(self):
        if self.allowed_languages is None:
            self.allowed_languages = {"en"}

def validate_structure(text: str, policy: InputPolicy) -> tuple[bool, str]:
    """Return (is_valid, reason)."""
    if not text or not text.strip():
        return False, "empty_input"
    if len(text) > policy.max_length:
        return False, f"exceeds_max_length_{policy.max_length}"
    if text.count("\n") > policy.max_lines:
        return False, f"exceeds_max_lines_{policy.max_lines}"
    # Block null bytes and control characters (except newline/tab)
    if re.search(r"[\x00-\x08\x0b\x0c\x0e-\x1f\x7f]", text):
        return False, "contains_control_characters"
    return True, "ok"

Detecção de Injeção de Prompt (Python)

import re
from typing import Optional

# Patterns that signal an attempt to override system instructions
INJECTION_PATTERNS = [
    # Direct instruction override
    r"(?i)ignore\s+(all\s+)?(previous|prior|above)\s+(instructions?|prompts?|rules?)",
    r"(?i)disregard\s+(all\s+)?(previous|prior|above)\s+(instructions?|prompts?)",
    # System prompt extraction
    r"(?i)(reveal|show|print|output|repeat)\s+(your\s+)?(system\s+prompt|instructions|rules)",
    r"(?i)what\s+(are|were)\s+your\s+(initial\s+)?(instructions|rules|prompt)",
    # Role override
    r"(?i)you\s+are\s+now\s+(a|an|the)\s+",
    r"(?i)(act|behave|respond)\s+as\s+(if\s+)?(you\s+)?(are|were)\s+",
    # Delimiter injection
    r"(?i)<\/?system>",
    r"(?i)\[INST\]|\[\/INST\]",
    r"(?i)###\s*(system|instruction|human|assistant)",
    # Encoding evasion (base64 instructions)
    r"(?i)decode\s+(the\s+)?following\s+(base64|hex|rot13)",
]

_compiled = [re.compile(p) for p in INJECTION_PATTERNS]

def detect_injection(text: str) -> Optional[str]:
    """Return the matched pattern name if injection is detected, else None."""
    for pattern in _compiled:
        match = pattern.search(text)
        if match:
            return pattern.pattern
    return None

Detecção de Injeção de Prompt (Node.js)

const INJECTION_PATTERNS = [
  /ignore\s+(all\s+)?(previous|prior|above)\s+(instructions?|prompts?|rules?)/i,
  /disregard\s+(all\s+)?(previous|prior|above)\s+(instructions?|prompts?)/i,
  /(reveal|show|print|output|repeat)\s+(your\s+)?(system\s+prompt|instructions|rules)/i,
  /you\s+are\s+now\s+(a|an|the)\s+/i,
  /<\/?system>/i,
  /\[INST\]|\[\/INST\]/i,
  /###\s*(system|instruction|human|assistant)/i,
];

function detectInjection(text) {
  for (const pattern of INJECTION_PATTERNS) {
    if (pattern.test(text)) {
      return { detected: true, pattern: pattern.source };
    }
  }

…
Perguntas frequentes

O que é 'prompt injection'?

É quando alguém tenta dar comandos secretos para a IA, fazendo com que ela ignore as instruções originais e aja de forma indesejada.

O que é 'data leakage' (vazamento de dados)?

É quando a IA acidentalmente revela informações privadas ou confidenciais que não deveria compartilhar.

Como a ferramenta protege contra isso?

Ela usa regras e verificações para identificar e bloquear tentativas de ataque antes que cheguem à IA, e também filtra as respostas da IA.

Detalhes

Descrição original do autor

Secure LLM-powered applications with input validation, output controls, tenant isolation, and abuse prevention.

repo: sickn33/agentic-awesome-skills

Popularidade

Estrelas no GitHub
48 mil
Posição no ranking
#3463
Licença
MIT
Atualizada em
15/10/2026

Essa skill é útil?

0

Entre para votar.

Comentários

  • …

Mais skills deste repositório

Skills parecidas