pci-compliance
Ajuda seu agente a seguir regras de segurança para proteger dados de cartões de pagamento. É importante para garantir a segurança no processamento de pagamentos.
O que ela faz
Esta ferramenta ajuda a garantir que o processamento de pagamentos com cartão seja seguro e esteja em conformidade com as regras de segurança de dados. Ela ensina como proteger informações de cartão de crédito e evitar armazenar dados sensíveis.
Quando usar
- ✓Ao criar um sistema que aceita pagamentos com cartão.
- ✓Quando você precisa garantir que os dados do cartão de crédito estão protegidos.
- ✓Ao realizar uma auditoria de segurança para pagamentos.
Exemplo do que pedir para a IA
“Como posso proteger os dados do meu cliente ao processar pagamentos com cartão de crédito?”
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
Mensagem pronta para colar
Como funciona
A ferramenta explica as regras de segurança (PCI DSS) e como implementá-las. Ela mostra exemplos de como criptografar dados, usar tokens em vez de números de cartão e quais informações de cartão nunca devem ser salvas.
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 wshobson/agents --skill pci-complianceOu baixe só o arquivo:
curl -L https://raw.githubusercontent.com/wshobson/agents/main/plugins/payment-processing/skills/pci-compliance/SKILL.md -o SKILL.mdConteúdo técnico (SKILL.md)
Tradução do texto original do autor no GitHub. Os comandos e códigos estão como no original.
Conformidade PCI
Domine a conformidade com o PCI DSS (Payment Card Industry Data Security Standard) para processamento seguro de pagamentos e manuseio de dados do titular do cartão.
Quando Usar Esta Habilidade
- Construindo sistemas de processamento de pagamentos
- Lidando com informações de cartão de crédito
- Implementando fluxos de pagamento seguros
- Realizando auditorias de conformidade PCI
- Reduzindo o escopo de conformidade PCI
- Implementando tokenização e criptografia
- Preparando-se para avaliações PCI DSS
Requisitos PCI DSS (12 Requisitos Principais)
Construir e Manter Rede Segura
- Instalar e manter a configuração do firewall
- Não usar padrões fornecidos pelo fornecedor para senhas
Proteger Dados do Titular do Cartão
- Proteger dados armazenados do titular do cartão
- Criptografar a transmissão de dados do titular do cartão em redes públicas
Manter Gerenciamento de Vulnerabilidades
- Proteger sistemas contra malware
- Desenvolver e manter sistemas e aplicativos seguros
Implementar Controle de Acesso Forte
- Restringir o acesso aos dados do titular do cartão por necessidade de conhecimento de negócios
- Identificar e autenticar o acesso aos componentes do sistema
- Restringir o acesso físico aos dados do titular do cartão
Monitorar e Testar Redes
- Rastrear e monitorar todo o acesso a recursos de rede e dados do titular do cartão
- Testar regularmente sistemas e processos de segurança
Manter Política de Segurança da Informação
- Manter uma política que aborde a segurança da informação
Níveis de Conformidade
Nível 1: > 6 milhões de transações/ano (ROC anual exigido) Nível 2: 1-6 milhões de transações/ano (SAQ anual) Nível 3: 20.000-1 milhão de transações de e-commerce/ano Nível 4: < 20.000 transações de e-commerce ou < 1 milhão de transações totais
Minimização de Dados (Nunca Armazenar)
# NEVER STORE THESE
PROHIBITED_DATA = {
'full_track_data': 'Magnetic stripe data',
'cvv': 'Card verification code/value',
'pin': 'PIN or PIN block'
}
# CAN STORE (if encrypted)
ALLOWED_DATA = {
'pan': 'Primary Account Number (card number)',
'cardholder_name': 'Name on card',
'expiration_date': 'Card expiration',
'service_code': 'Service code'
}
class PaymentData:
"""Safe payment data handling."""
def __init__(self):
self.prohibited_fields = ['cvv', 'cvv2', 'cvc', 'pin']
def sanitize_log(self, data):
"""Remove sensitive data from logs."""
sanitized = data.copy()
# Mask PAN
if 'card_number' in sanitized:
card = sanitized['card_number']
sanitized['card_number'] = f"{card[:6]}{'*' * (len(card) - 10)}{card[-4:]}"
# Remove prohibited data
for field in self.prohibited_fields:
sanitized.pop(field, None)
return sanitized
def validate_no_prohibited_storage(self, data):
"""Ensure no prohibited data is being stored."""
for field in self.prohibited_fields:
if field in data:
raise SecurityError(f"Attempting to store prohibited field: {field}")
Tokenização
Usando Tokens de Processador de Pagamento
import stripe
class TokenizedPayment:
"""Lida com pagamentos usando tokens (sem dados de cartão no servidor)."""
@staticmethod
def create_payment_method_token(card_details):
"""Cria token a partir dos detalhes do cartão (apenas no lado do cliente)."""
# ISSO SÓ DEVE SER FEITO NO LADO DO CLIENTE COM STRIPE.JS
# NUNCA envie detalhes do cartão para o seu servidor
"""
// JavaScript no frontend
const stripe = Stripe('pk_...');
const {token, error} = await stripe.createToken({
card: {
number: '4242424242424242',
exp_month: 12,
exp_year: 2024,
cvc: '123'
}
});
// Envie token.id para o servidor (NÃO os detalhes do cartão)
"""
pass
@staticmethod
def charge_with_token(token_id, amount):
"""Cobra usando token (lado do servidor)."""
# Seu servidor vê apenas o token, nunca o número do cartão
stripe.api_key = "sk_..."
charge = stripe.Charge.create(
amount=amount,
currency="usd",
source=token_id, # Token em vez de detalhes do cartão
description="Pagamento"
)
return charge
@staticmethod
def store_payment_method(customer_id, payment_method_token):
"""Armazena o método de pagamento como token para uso futuro."""
stripe.Customer.modify(
customer_id,
source=payment_method_token
)
# Armazene apenas customer_id e payment_method_id em seu banco de dados
…
Perguntas frequentes
O que é PCI DSS?
É um conjunto de regras de segurança criadas para proteger os dados de quem usa cartões de pagamento.
Quais dados de cartão NUNCA devo armazenar?
Você nunca deve armazenar dados completos da tarja magnética, CVV (o código de 3 ou 4 dígitos no verso do cartão) ou PIN.
O que é tokenização?
É uma técnica que substitui os dados sensíveis do cartão por um código único (token), tornando o armazenamento e a transmissão mais seguros.
Detalhes
Descrição original do autor
Implement PCI DSS compliance requirements for secure handling of payment card data and payment systems. Use when securing payment processing, achieving PCI compliance, or implementing payment card security measures.
repo: wshobson/agents
Popularidade
- Estrelas no GitHub
- 41 mil
- Posição no ranking
- #4913
- Licença
- MIT
- Atualizada em
- 15/10/2026
Comentários
- …
Mais skills deste repositório
screen-reader-testing
Faz seu agente testar sites usando leitores de tela para garantir que sejam acessíveis.
wshobson/agents
wcag-audit-patterns
Ajuda seu agente a auditar sites para acessibilidade e corrigir problemas de acordo com as diretrizes WCAG.
wshobson/agents
multi-reviewer-patterns
Faz seu agente coordenar revisões de código paralelas, deduplicando achados e consolidando relatórios.
wshobson/agents
parallel-debugging
Permite ao agente depurar problemas complexos com investigações paralelas e análise de causa raiz.
wshobson/agents
Skills parecidas
benchmark
Ajuda seu agente a medir a velocidade e a performance do código. É útil para garantir que as coisas estão rápidas e para encontrar problemas de lentidão.
affaan-m/ECC
content-hash-cache-pattern
Faz seu agente usar hashes de conteúdo para cachear resultados de processamento de arquivos. Isso evita processamento repetido e invalida o cache automaticamente quando o conteúdo muda. Útil para acelerar tarefas lentas.
affaan-m/ECC
parallel-execution-optimizer
Faz seu agente acelerar tarefas complexas dividindo-as em partes menores e executando-as em paralelo. Garante que tudo seja verificado ao final.
affaan-m/ECC