botbook/docs/chapter-06-Tools.md

18 KiB

title sidebar_label sidebar_position
6. Tools 6. Tools 6

Chapter 6: Ferramentas (Tools)

6.1 Introdução

Este capítulo apresenta o conjunto de ferramentas oficialmente aprovadas e homologadas pela Pragmatismo para uso em seus processos de desenvolvimento, operação e gestão. A padronização das ferramentas é um requisito essencial para garantir a conformidade com normas como ISO 27001, HIPAA e LGPD, além de promover a eficiência operacional e reduzir riscos de segurança.

As ferramentas aqui listadas foram avaliadas quanto a critérios de segurança, compatibilidade, desempenho e conformidade regulatória. O uso de ferramentas não listadas neste documento deve ser submetido ao processo de avaliação e homologação pela equipe de segurança e compliance antes de sua adoção.

6.2 Políticas de Uso de Ferramentas

6.2.1 Requisitos Gerais

  • Todas as ferramentas utilizadas nos ambientes de desenvolvimento, teste e produção devem estar listadas neste documento
  • Ferramentas devem ser utilizadas apenas nas versões especificadas ou mais recentes, desde que aprovadas
  • Atualizações de segurança devem ser aplicadas em até 30 dias de sua liberação
  • É proibido o uso de ferramentas pirateadas ou com licenças irregulares
  • Ferramentas com acesso a dados sensíveis devem utilizar autenticação forte e comunicação criptografada

6.2.2 Processo de Homologação

Novas ferramentas devem passar pelo seguinte processo antes de serem aprovadas para uso:

  1. Solicitação formal indicando necessidade e casos de uso
  2. Avaliação de segurança e privacidade pela equipe de compliance
  3. Análise de compatibilidade com infraestrutura existente
  4. Período de testes em ambiente controlado
  5. Documentação e inclusão na lista de ferramentas homologadas
  6. Treinamento para os usuários finais

6.3 Ambiente de Desenvolvimento

6.3.1 Sistema Operacional e Virtualização

Ferramenta Versão Propósito Notas de Compliance
Ubuntu Desktop 22.04 LTS, 24.04 LTS Sistema operacional para estações de trabalho Deve implementar criptografia de disco e manter atualizações de segurança
Ubuntu Server 22.04 LTS, 24.04 LTS Sistema operacional para servidores Linux Deve implementar SELinux ou AppArmor
Debian 12+ Sistema operacional alternativo Apenas versões estáveis
Podman Latest Containerização sem daemon Alternativa ao Docker com permissões não-root
Docker Latest Containerização Imagens devem ser escaneadas antes do uso
KVM/QEMU Latest Virtualização nativa Preferido para ambientes de produção

6.3.2 IDEs e Editores de Código

Ferramenta Versão Propósito Notas de Compliance
Visual Studio Code Latest Editor de código principal Deve usar extensões aprovadas
Neovim Latest Editor de texto avançado Configuração padronizada obrigatória
Helix Latest Editor de texto modal Alternativa moderna ao Vim
DBeaver Latest Gerenciamento universal de bancos de dados Conexões criptografadas obrigatórias

6.3.2.1 Extensões Aprovadas para VSCode

Nome Propósito ID
TGit Commands Integração com TortoiseGit mbinic.tgit-cmds
Markdown Table Format Formatação de tabelas Markdown tomashubelbauer.vscode-markdown-table-format
Prettier Formatação de código esbenp.prettier-vscode
.env Suporte a arquivos .env mikestead.dotenv
Codewall Bloqueio de sites distrativos abhinavk99.codewall
npm Intellisense Autocompletar módulos npm christian-kohler.npm-intellisense
Excel to Markdown Table Conversão de Excel para Markdown csholmq.excel-to-markdown-table
Markdownlint Validação de Markdown davidanson.vscode-markdownlint
TS Lint Linting de TypeScript eg2.ts-tslint
npm Script Execução de scripts npm eg2.vscode-npm-script
Auto Rename Tag Renomeação automática de tags formulahendry.auto-rename-tag
Align Mode Alinhamento de texto em colunas gruntfuggly.align-mode
Space Block Jumper Navegação entre blocos de código jmfirth.vsc-space-block-jumper
Indentation Level Movement Movimentação de linhas respeitando indentação kaiwood.indentation-level-movement
Rainbow CSV Destaque de cores para CSV/TSV mechatroner.rainbow-csv
Indenticator Destaque do nível de indentação atual sirtori.indenticator
Color Basic Esquemas de cores tandy.color-basic

6.3.3 Controle de Versão e ALM

Ferramenta Versão Propósito Notas de Compliance
Git 2.40.0+ Sistema de controle de versão Exige credenciais seguras
GitUI Latest Interface TUI para Git Alternativa moderna em terminal
Forgejo Latest Hospedagem de repositórios e CI/CD Solução ALM auto-hospedada
Drone CI Latest Integração contínua Pipelines como código
Woodpecker CI Latest Integração contínua alternativa Compatível com Forgejo

6.3.4 Linguagens e Frameworks

Ferramenta Versão Propósito Notas de Compliance
Node.js 20.17.0+, 22.x Ambiente JavaScript Sem vulnerabilidades críticas
Python 3.8+, 9.0+ Processamento de dados e IA Ambientes virtuais obrigatórios
Rust 1.70+ Desenvolvimento de alto desempenho e segurança Análise estática integrada
TypeScript 5.0+ Tipagem para JavaScript Obrigatório para frontend
React 18+ Biblioteca principal de UI Deve usar análise estática
Next.js 14+ Framework React com SSR/SSG Configuração segura de rotas API
Tailwind CSS 3+ Framework CSS utilitário Configuração com purge CSS obrigatória
ShadcN UI Latest Componentes React reutilizáveis Baseados em Radix UI e Tailwind

6.3.5 Bancos de Dados e Armazenamento

Ferramenta Versão Propósito Notas de Compliance
PostgreSQL 14+ Banco de dados relacional principal Encriptação em repouso obrigatória
TimescaleDB Latest Extensão PostgreSQL para séries temporais Retenção de dados configurada
MariaDB 10.6+ Banco de dados relacional alternativo Autenticação forte obrigatória
MongoDB 6+ Banco de dados NoSQL Autenticação e autorização configuradas
Redis 7+ Cache e mensageria Sem acesso direto da internet
MinIO Latest Armazenamento compatível com S3 Criptografia em repouso e em trânsito

6.3.6 Ferramentas de Linha de Comando

Ferramenta Versão Propósito Notas de Compliance
npm-check-updates Latest Verificação de atualizações NPM Uso regular obrigatório
cost-of-modules Latest Análise de tamanho de dependências Para otimização de pacotes
cpulimit Latest Limitação de uso de CPU Para ambientes compartilhados
expect Latest Automação de scripts interativos Evitar senhas em texto claro

6.4 Ferramentas de Produtividade e Colaboração

6.4.1 Editores e Conversores

Ferramenta URL Propósito Notas de Compliance
Excel to MD http://www.tablesgenerator.com/markdown_tables Conversão de tabelas Excel para Markdown Sem armazenamento de dados
CSV Tools http://codebeautify.org/csv-tools Manipulação de arquivos CSV Processamento local recomendado
JS2Coffee http://js2.coffee/ Conversão JavaScript para CoffeeScript Apenas código não-sensível
Lorem Ipsum http://www.lipsum.com/ Gerador de texto de placeholder Sem dados reais
Hemingway App http://www.hemingwayapp.com/ Análise de legibilidade Documentação pública apenas

6.4.2 Otimização e SEO

Ferramenta URL Propósito Notas de Compliance
Palavras-chave https://keywordtool.io Pesquisa de palavras-chave Uso restrito ao Marketing
SEO Copyright Detector http://www.copyscape.com/ Detecção de plágio Validação de conteúdo original
Check Page Rank http://checkpagerank.net/ Verificação de ranking Análise de visibilidade
Wappalyzer https://wappalyzer.com/ Identificação de tecnologias Análise de concorrentes

6.4.3 Desenvolvimento Web

Ferramenta URL Propósito Notas de Compliance
CSS Font Stack http://www.cssfontstack.com/ Referência de fontes CSS Verificar licenças das fontes
DNS Query http://dnsquery.org/ Consulta de registros DNS Apenas domínios autorizados
IP Tools http://ipaddress.com/ip-tools/ Ferramentas de diagnóstico IP Sem uso para reconhecimento externo
Gradient Generator http://gradientgenerator.com/ Gerador de gradientes CSS Design consistente
RegExr http://regexr.com/ Teste de expressões regulares Sem dados sensíveis

6.4.4 Produtividade e Comunicação

Ferramenta URL Propósito Notas de Compliance
Agregador de RSS http://feedly.com/i/welcome Acompanhamento de feeds RSS Apenas fontes aprovadas
Speech to Text https://speechlogger.appspot.com/en/ Conversão de voz para texto Sem dados confidenciais
Join.me https://secure.join.me/ Compartilhamento de tela Apenas para conteúdo não-sensível
TalkTyper https://www.talktyper.com/ Digitação por voz Sem dados confidenciais
TypeRacer http://play.typeracer.com/ Treinamento de digitação Permitido em horários de pausa

6.4.5 Ferramentas de Design e Visualização

Ferramenta URL Propósito Notas de Compliance
Storyboard Creator https://www.storyboardthat.com/storyboard-creator Criação de storyboards Documentação de fluxos
Snip Insights https://github.com/Microsoft/ailab/releases/tag/1.0.0.0 Captura e análise de tela Sem captura de dados sensíveis
Sequence Diagram Generator https://bramp.github.io/js-sequence-diagrams/ Diagramas de sequência Documentação técnica
D3.js http://blog.avenuecode.com/a-library-for-data-visualization-d3.js Visualização de dados Sanitização de inputs

6.5 Ferramentas para Desenvolvimento JavaScript/TypeScript

6.5.1 Bibliotecas e Frameworks

Ferramenta URL Propósito Notas de Compliance
Deep Learning JS https://deeplearnjs.org/ IA no navegador Processamento local de dados
Oimo.js http://lo-th.github.io/Oimo.js/ Motor de física 3D Experiências interativas
D3.js http://blog.avenuecode.com/a-library-for-data-visualization-d3.js Visualização de dados Sanitização de inputs
Puppeteer https://github.com/GoogleChrome/puppeteer Automação de Chrome Sem automação de login
node-xlsx https://github.com/mgcrea/node-xlsx Processamento de Excel Validação de entradas
Sequelize https://sequelize.org/ ORM para SQL Prevenção de SQL Injection

6.5.2 Recursos e Referências JavaScript

Ferramenta URL Propósito Notas de Compliance
JS Jargon http://jargon.js.org Glossário de termos Referência para documentação
RegExp101 https://regexp101.com Teste de expressões regulares Sem dados sensíveis
API Repository https://any-api.com/ Catálogo de APIs Avaliação antes da integração
CoffeeScript REPL http://larryng.github.io/coffeescript-repl/ Teste de CoffeeScript Apenas código não-sensível

6.6 Ferramentas de Segurança, Compliance e Infraestrutura

6.6.1 Análise de Segurança

Ferramenta URL Propósito Notas de Compliance
Security Repository https://cybersectools.com/ Ferramentas de segurança Uso restrito à equipe de segurança
StackShare https://stackshare.io/ Comparativo de tecnologias Análise de stack tecnológico
Remove One List http://alphabetizer.flap.tv/remove-one-list-from-another.php Comparação de listas Verificação de permissões
OWASP ZAP https://www.zaproxy.org/ Testes de penetração Somente em ambientes de teste
Trivy https://github.com/aquasecurity/trivy Scanner de vulnerabilidades Obrigatório para imagens Docker

6.6.2 Infraestrutura e DevOps

Ferramenta Versão Propósito Notas de Compliance
Zitadel Latest Gerenciamento de identidade e acesso (IAM) OIDC/OAuth2 compatível
Stalwart Latest Servidor de email seguro Anti-phishing e criptografia obrigatórios
Caddy Latest Servidor web e proxy reverso TLS automático
Traefik Latest Proxy reverso alternativo Descoberta automática de serviços
Vault Latest Gerenciamento de segredos Rotação automática de credenciais
Teleport Latest Acesso seguro a infraestrutura SSO para servidores e bancos

6.6.3 Colaboração e Comunicação

Ferramenta Versão Propósito Notas de Compliance
LiveKit Meeting Latest Videoconferências e colaboração Auto-hospedado para maior privacidade
Element/Matrix Latest Comunicação criptografada E2EE para mensagens sensíveis
Mattermost Latest Chat em equipe Auto-hospedado para controle total

6.7 Scripts de Instalação Padrão

6.7.1 Linux (Script de Ambiente de Desenvolvimento)

#!/bin/bash
# Script de instalação do ambiente de desenvolvimento Pragmatismo

# Atualizar sistema
sudo apt update && sudo apt upgrade -y

# Instalar dependências básicas
sudo apt install -y build-essential curl wget git unzip fontconfig

# Instalar Node.js 22.x
curl -fsSL https://deb.nodesource.com/setup_22.x | sudo -E bash -
sudo apt-get install -y nodejs
node -v

# Instalar Rust
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y
source "$HOME/.cargo/env"
rustup default stable

# Instalar VS Code
wget -qO- https://packages.microsoft.com/keys/microsoft.asc | gpg --dearmor > packages.microsoft.gpg
sudo install -D -o root -g root -m 644 packages.microsoft.gpg /etc/apt/keyrings/packages.microsoft.gpg
sudo sh -c 'echo "deb [arch=amd64,arm64,armhf signed-by=/etc/apt/keyrings/packages.microsoft.gpg] https://packages.microsoft.com/repos/code stable main" > /etc/apt/sources.list.d/vscode.list'
rm -f packages.microsoft.gpg
sudo apt update
sudo apt install -y code

# Instalar ferramentas de desenvolvimento adicionais
sudo apt install -y neovim dbeaver-ce

# Instalar pacotes NPM globais
sudo npm install -g npm-check-updates cost-of-modules typescript ts-node next

# Configurar Git
git config --global user.name "Seu Nome"
git config --global user.email "email@pragmatismo.com.br"
git config --global init.defaultBranch main

# Clonar repositório General Bots
git clone https://github.com/GeneralBots/BotServer.git
cd BotServer

# Instalar dependências do projeto
npm install

# Abrir no VS Code
code .

6.7.2 Linux (Ubuntu)

Visual Studio Code

apt update
apt install software-properties-common apt-transport-https wget
wget -q https://packages.microsoft.com/keys/microsoft.asc -O- | apt-key add -
add-apt-repository "deb [arch=amd64] https://packages.microsoft.com/repos/vscode stable main"
apt update
apt install code

Node.js 22.x

curl -fsSL https://deb.nodesource.com/setup_22.x -o nodesource_setup.sh && sudo -E bash nodesource_setup.sh && sudo apt-get install -y nodejs && node -v

Additional Infrastructure

apt-get update

apt-get install build-essential cmake git pkg-config libjpeg-dev libtiff-dev libpng-dev libavcodec-dev libavformat-dev libswscale-dev libv4l-dev libatlas-base-dev gfortran python3-dev

export OPENCV4NODEJS_DISABLE_AUTOBUILD=1
export OPENCV_LIB_DIR=/usr/lib/x86_64-linux-gnu

apt-get install cpulimit
apt-get install expect
apt-get install libxtst-dev
apt-get install libpng-dev

# Fix Key Bindings in VSCode on Ubuntu
echo 'export GTK_IM_MODULE="xim"' >> ~/.profile

Git Configuration

git config --global user.name "Your Name"
git config --global user.email "someone@domain.com"

6.8 Restrições e Proibições

As seguintes categorias de ferramentas são expressamente proibidas nos ambientes da Pragmatismo:

  1. Ferramentas sem licença válida ou pirateadas
  2. Software com vulnerabilidades conhecidas e sem correção disponível
  3. Aplicações que exigem privilégios administrativos desnecessários
  4. Ferramentas que transmitem dados para servidores externos não aprovados
  5. Software de compartilhamento P2P não autorizado
  6. Extensões de navegador não aprovadas pela equipe de segurança
  7. Ferramentas que contornam políticas de segurança corporativas

Este catálogo de ferramentas deve ser revisado trimestralmente pelo Comitê de Segurança da Informação, seguindo os seguintes passos:

  1. Levantamento de novas ferramentas em uso ou solicitadas
  2. Verificação de atualizações de segurança para ferramentas existentes
  3. Avaliação de conformidade com requisitos regulatórios atualizados
  4. Documentação e comunicação das alterações
  5. Atualização deste documento no repositório de compliance

A última atualização deste documento foi realizada em: Maio/2025.

6.10 Contato para Dúvidas e Solicitações

Para solicitações de inclusão de novas ferramentas ou esclarecimentos sobre as ferramentas homologadas, entre em contato com a equipe de Compliance através do e-mail: compliance@pragmatismo.com.br ou abra um ticket no sistema interno de suporte.