Pular para o conteúdo
Skillpedia
Automações41 mil · #4913

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

https://github.com/wshobson/agents/blob/main/plugins/payment-processing/skills/pci-compliance/SKILL.md

Mensagem pronta para colar

Use esta skill para me ajudar: https://github.com/wshobson/agents/blob/main/plugins/payment-processing/skills/pci-compliance/SKILL.md Leia o arquivo SKILL.md desse link e siga as instruções dele na minha tarefa.
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-compliance

Ou baixe só o arquivo:

curl -L https://raw.githubusercontent.com/wshobson/agents/main/plugins/payment-processing/skills/pci-compliance/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.

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

  1. Instalar e manter a configuração do firewall
  2. Não usar padrões fornecidos pelo fornecedor para senhas

Proteger Dados do Titular do Cartão

  1. Proteger dados armazenados do titular do cartão
  2. Criptografar a transmissão de dados do titular do cartão em redes públicas

Manter Gerenciamento de Vulnerabilidades

  1. Proteger sistemas contra malware
  2. Desenvolver e manter sistemas e aplicativos seguros

Implementar Controle de Acesso Forte

  1. Restringir o acesso aos dados do titular do cartão por necessidade de conhecimento de negócios
  2. Identificar e autenticar o acesso aos componentes do sistema
  3. Restringir o acesso físico aos dados do titular do cartão

Monitorar e Testar Redes

  1. Rastrear e monitorar todo o acesso a recursos de rede e dados do titular do cartão
  2. Testar regularmente sistemas e processos de segurança

Manter Política de Segurança da Informação

  1. 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

Essa skill é útil?

0

Entre para votar.

Comentários

  • …

Mais skills deste repositório

Skills parecidas