security_pentest_planner

Gem Version

Site: saulofilho.github.io/security-pentest-planner

Gera Planos de Ação de Pentest a partir de especificações OpenAPI/Swagger.

Ferramenta open source para times de engenharia e AppSec que precisam estruturar testes ofensivos antes da execução — com vetores OWASP, procedimentos, payloads e critérios de validação.

O que ela faz

  • Analisa contratos OpenAPI 3.x (YAML ou JSON)
  • Detecta sinais de risco: tenant headers, parâmetros de data, enums, timezone livre
  • Seleciona vetores OWASP API Security aplicáveis via taxonomia
  • Gera um design doc em Markdown com:
    • Procedimentos passo a passo por vetor
    • Payloads e exemplos HTTP/SQL
    • Tabela resumo (Acesso · Entrada · Disponibilidade · Informação)
    • Recomendações imediatas de remediação
    • Red flags do contrato

O que ela NÃO faz

  • Scripts executáveis (Faraday, Ruby, SQL runnable)
  • Resultados de teste (APROVADO/REPROVADO)
  • RFCs de implementação

Esses artefatos pertencem à fase de execução do pentest.

Instalação

gem install security_pentest_planner

Ou no Gemfile:

gem "security_pentest_planner"

Uso via CLI

# Gerar plano no stdout
security-pentest-planner swagger/v2/swagger.json

# Salvar em arquivo
security-pentest-planner openapi.yaml -o plano-de-acao-pentest.md

# Com escopo e Data Lake
security-pentest-planner openapi.yaml \
  --team "Platform Team" \
  --scope /api/v1/metrics \
  --datalake \
  -o plano.md

Opções

Flag Descrição
-t, --team TEAM Nome do time no título
-s, --scope PATH Limitar a um endpoint
-d, --datalake Incluir vetores de Data Lake
--api-layer NAME Nome da camada API (default: API)
--data-layer NAME Nome da camada Data Lake (default: Data Lake)
-o, --output FILE Salvar em arquivo

Uso programático

require "security_pentest_planner"

plan = SecurityPentestPlanner.generate(
  input_path: "openapi.yaml",
  team: "Platform Team",
  scope: "/api/v1/metrics",
  include_datalake: true
)

File.write("plano-de-acao-pentest.md", plan)

Publicar no RubyGems.org

bundle install
bundle exec rspec
gem build security_pentest_planner.gemspec
gem push security_pentest_planner-1.0.0.gem

Requer conta no RubyGems.org e MFA habilitado.

Desenvolvimento

git clone https://github.com/saulofilho/security-pentest-planner.git
cd security-pentest-planner
bundle install
bundle exec rspec
bundle exec rake

Fluxo recomendado

OpenAPI spec    security_pentest_planner    Plano de Ação (Markdown)
                                                      
                                              Execução manual / CI
                                                      
                                              Resultados + RFCs

A gem cobre a fase de planejamento de forma determinística — ideal para CI/CD, pipelines e integração em projetos Ruby/Rails.

Licença

MIT — veja LICENSE.txt.