◇ OpenCyber Academy
Tecnólogo · Capítulo 5 · Português

Capítulo 5 — Noções básicas de scripts em Python

Ensino gratuito e aberto para quem deseja proteger pessoas e tecnologias. Não é preciso criar uma conta para estudar ou consultar as respostas.

Capítulo 5 — Noções básicas de scripts em Python

Mapa da aula

Aula 05 publicada. Mapa, exemplo, EX013.

flowchart TD
  N0["5.1 Primeiros scripts"]
  N1["5.2 Leitura de arquivos"]
  N2["5.3 Saída clara"]
  N3["5.4 Hábitos seguros"]
  N0 --> N1 --> N2 --> N3
  N3 --> EX["Exemplo resolvido"]
  EX --> Q["Exercício EX013"]

Desenho lógico

flowchart LR
  N0["5.1 Primeiros scripts"]
  N1["5.2 Leitura de arquivos"]
  N2["5.3 Saída clara"]
  N3["5.4 Hábitos seguros"]
  N0 --> N1 --> N2 --> N3 --> Q["EX013"]
[5.1 Primeiros scripts]
    |
    v
[5.2 Leitura de arquivos]
    |
    v
[5.3 Saída clara]
    |
    v
[5.4 Hábitos seguros]
    |
    v
[Exemplo resolvido] --> [Exercício EX013]

Objetivos de aprendizagem

Você vai (1) escrever scripts simples em Python para tarefas de segurança; (2) ler arquivos CSV e de texto; (3) produzir saídas claras e repetíveis.

5.1 Primeiros scripts

Jamal aprende Python usando apenas a biblioteca padrão, para que os scripts rodem em qualquer máquina. Seu primeiro script lê uma lista de contas de usuário do Riverbend num arquivo CSV e conta as contas por grupo. O segundo lista as contas que não fazem login há sessenta dias. A Sra. Grant explica que os scripts transformam verificações manuais lentas em verificações rápidas e repetíveis, o que é essencial para equipes de TI pequenas responsáveis por centenas de dispositivos. Ele executa os dois scripts semanalmente no laboratório e compara os resultados com contagens manuais para confirmar que estão corretos.

5.2 Leitura de arquivos

Jamal aprende a ler arquivos de texto e CSV com o módulo csv e a lidar com problemas: linhas vazias, colunas ausentes e valores inesperados. Seu script pula as linhas ruins e as relata, para que os problemas nos dados fiquem visíveis em vez de escondidos. Ele o testa com um arquivo que contém erros deliberados. Ele aprende que os scripts de segurança precisam falhar de forma ruidosa, porque um script que ignora em silêncio metade da entrada dá uma falsa tranquilidade. Seu arquivo de teste contém dez erros deliberados, e o script relata os dez com os números de linha, o que lhe dá confiança de que não vai esconder problemas em dados reais.

5.3 Saída clara

Jamal formata a saída para pessoas: um título, a data, os totais e uma lista dos itens que exigem ação, ordenados por importância. Ele também grava os resultados num arquivo CSV para os registros do gerente de TI. A Sra. Grant pede que ele inclua a versão do script e o nome do arquivo de entrada em cada relatório, para que qualquer pessoa possa rastrear um resultado até exatamente o que o produziu. O gerente de TI diz que os relatórios são fáceis de ler e pede a Jamal que use o mesmo formato em todos os scripts que escrever durante o estágio. A Sra. Grant usa um de seus relatórios como exemplo em aula.

5.4 Hábitos seguros

Jamal guarda os scripts numa pasta com controle de versão, nunca escreve senhas neles e mantém as saídas que contêm dados pessoais numa pasta restrita. Ele acrescenta comentários explicando por que cada verificação existe. A Sra. Grant observa que os scripts muitas vezes sobrevivem a seus autores, por isso comentários claros e o tratamento seguro dos dados fazem parte de escrever boas ferramentas de segurança. Ele também escreve um breve arquivo README para cada script, explicando o que ele verifica, de que entrada precisa e o que sua saída significa. A Sra. Grant observa que esses arquivos permitem que o gerente de TI execute os scripts depois que Jamal for embora.

Exemplo resolvido

Jamal escreve scripts com a biblioteca padrão que contam contas e sinalizam inatividade, trata entradas ruins de forma ruidosa, formata saídas rastreáveis e mantém os scripts seguros.

Caso sintético. Os dados são sintéticos.

Erros e limites

Scripts que pulam em silêncio as entradas ruins dão uma falsa tranquilidade.

Exercícios

Continue estudando — aula 05 (capítulo 05 de 30)

← Capítulo 04 · Índice das aulas · Capítulo 06 →

Continue para a próxima aula já escrita.