Pular para o conteúdo
Skillpedia
Segurança35 mil · #6137

performing-scada-hmi-security-assessment

Ensina seu agente de IA a proteger aplicações contra ataques e desenhar interfaces bonitas e fáceis de usar.

O que ela faz

Esta ferramenta verifica a segurança de sistemas de interface homem-máquina (HMI) usados em controle industrial (SCADA/DCS). Ela procura por fraquezas em como os usuários se autenticam, como os sistemas se comunicam e em interfaces web.

Quando usar

  • ✓Ao verificar a segurança de interfaces HMI em sistemas de controle industrial.
  • ✓Ao testar interfaces web de HMI para vulnerabilidades comuns.
  • ✓Ao auditar como os usuários fazem login e acessam o sistema HMI.

Exemplo do que pedir para a IA

“Verifique a segurança da HMI do nosso sistema SCADA, focando na autenticação e comunicação com os PLCs.”

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/mukul975/Anthropic-Cybersecurity-Skills/blob/main/skills/performing-scada-hmi-security-assessment/SKILL.md

Mensagem pronta para colar

Use esta skill para me ajudar: https://github.com/mukul975/Anthropic-Cybersecurity-Skills/blob/main/skills/performing-scada-hmi-security-assessment/SKILL.md Leia o arquivo SKILL.md desse link e siga as instruções dele na minha tarefa.
Como funciona

A ferramenta simula testes de segurança, verificando senhas, permissões de acesso e a segurança das conexões entre a HMI e os controladores (PLCs). Ela compara os resultados com padrões de segurança como IEC 62443.

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 mukul975/Anthropic-Cybersecurity-Skills --skill performing-scada-hmi-security-assessment

Ou baixe só o arquivo:

curl -L https://raw.githubusercontent.com/mukul975/Anthropic-Cybersecurity-Skills/main/skills/performing-scada-hmi-security-assessment/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.

Realizando Avaliação de Segurança de HMI SCADA

Quando Usar

  • Ao avaliar a postura de segurança de sistemas HMI em ambientes SCADA/DCS
  • Ao avaliar interfaces HMI baseadas na web quanto a vulnerabilidades web comuns
  • Ao auditar autenticação, autorização e gerenciamento de sessão de HMI
  • Ao testar a segurança da comunicação entre HMIs e PLCs/RTUs
  • Ao se preparar para avaliações de conformidade IEC 62443 ou NERC CIP

Não use para testar HMIs em produção ativa sem uma janela de manutenção e plano de reversão, para análise de protocolo em nível de PLC (veja performing-s7comm-protocol-security-analysis) ou para testes gerais de aplicações web em sistemas não-OT.

Pré-requisitos

  • Inventário do sistema HMI com detalhes de fornecedor, versão e configuração de rede
  • Ambiente de laboratório ou de teste espelhando a configuração de HMI de produção (preferencial para testes ativos)
  • Autorização das operações da planta para testes durante janelas de manutenção
  • Documentação dos requisitos de segurança NIST SP 800-82 e IEC 62443
  • Capacidade de captura de rede no segmento de comunicação HMI-para-PLC

Fluxo de Trabalho

Passo 1: Avaliar a Superfície de Ataque do HMI

#!/usr/bin/env python3
"""Ferramenta de Avaliação de Segurança de HMI SCADA.

Avalia a segurança de HMI nas categorias de autenticação, comunicação,
configuração e interface web, alinhada com os requisitos
IEC 62443 e NIST SP 800-82.
"""

import json
import sys
from datetime import datetime
from typing import Dict, List

try:
    import requests
except ImportError:
    print("Instale requests: pip install requests")
    sys.exit(1)


class HMISecurityAssessment:
    """Realiza avaliação de segurança de sistemas HMI SCADA."""

    def __init__(self, hmi_info: dict):
        self.hmi_info = hmi_info
        self.findings = []
        self.checks_run = 0
        self.checks_passed = 0

    def check_authentication(self):
        """Avalia mecanismos de autenticação de HMI."""
        checks = [
            {
                "id": "AUTH-01",
                "name": "Aplicação de complexidade de senha",
                "iec62443_ref": "ISA-62443-3-3 SR 1.7",
                "description": "HMI deve aplicar requisitos mínimos de complexidade de senha",
                "test": "Verificar comprimento mínimo >= 8, regras de complexidade, histórico >= 5",
            },
            {
                "id": "AUTH-02",
                "name": "Política de bloqueio de conta",
                "iec62443_ref": "ISA-62443-3-3 SR 1.11",
                "description": "HMI deve bloquear contas após tentativas de login falhas",
                "test": "Verificar bloqueio após 5 tentativas falhas, duração do bloqueio >= 15 min",
            },
            {
                "id": "AUTH-03",
                "name": "Credenciais padrão alteradas",
                "iec62443_ref": "ISA-62443-3-3 SR 1.5",
                "description": "Todas as credenciais padrão do fornecedor devem ser alteradas",
                "test": "Tentar login com padrões conhecidos do fornecedor (admin/admin, operator/operator)",
            },
            {
                "id": "AUTH-04",
                "name": "Controle de acesso baseado em função",
                "iec62443_ref": "ISA-62443-3-3 SR 2.1",
                "description": "HMI deve separar funções de operador, engenheiro e administrador",
                "test": "Verificar se a função de operador não pode acessar funções de engenharia",
            },
            {
                "id": "AUTH-05",
                "name": "Aplicação de timeout de sessão",
                "iec62443_ref": "ISA-62443-3-3 SR 1.12",
                "description": "Sessões HMI devem expirar após inatividade",
                "test": "Verificar timeout de sessão <= 15 minutos para operador, <= 5 para administrador",
            },
            {
                "id": "AUTH-06",
                "name": "Autenticação multifator para acesso remoto",
                "iec62443_ref": "ISA-62443-3-3 SR 1.13",
                "description": "Acesso remoto HMI requer MFA",
                "test": "Verificar se MFA é aplicado para todas as conexões HMI não locais",
            },
        ]

        print(f"\n--- AVALIAÇÃO DE AUTENTICAÇÃO ---")
        for check in checks:
            self.checks_run += 1
            print(f"  [{check['id']}] {check['name']}")
            print(f"    Ref: {check['iec62443_ref']}")
            print(f"    Test: {check['test']}")

    def check_communication_security(self):
        """Avalia a segurança da comunicação HMI-para-PLC."""
        checks = [
            {
                "id": "COMM-01",

…
Perguntas frequentes

O que é SCADA/HMI?

SCADA é um sistema de controle industrial que monitora e gerencia processos. HMI é a interface gráfica que os operadores usam para interagir com o sistema SCADA.

O que são PLCs?

PLCs (Controladores Lógicos Programáveis) são computadores industriais que controlam máquinas e processos.

Por que a segurança é importante para HMIs?

HMIs controlam processos críticos. Se forem comprometidas, podem causar interrupções na produção, danos a equipamentos ou riscos à segurança.

Detalhes

Descrição original do autor

Perform security assessments of SCADA Human-Machine Interface (HMI) systems to identify vulnerabilities in web-based HMIs, thin-client configurations, authentication mechanisms, and communication channels between HMI and PLCs, aligned with IEC 62443 and NIST SP 800-82 guidelines. '

repo: mukul975/Anthropic-Cybersecurity-Skills

Popularidade

Estrelas no GitHub
35 mil
Posição no ranking
#6137
Licença
Apache-2.0
Atualizada em
31/08/2026

Essa skill é útil?

0

Entre para votar.

Comentários

  • …

Mais skills deste repositório

Skills parecidas