
Gerenciador de campanhas de engenharia social baseado em CLI com espaço de trabalho incorporado, biblioteca de modelos, sincronização de público e exportação de análises para exercícios de conscientização seguros por padrão.
O Cartero agora é uma CLI em Go com um banco de dados de workspace embutido e sem configuração, em vez do antigo runtime dependente de MongoDB.
A implementação atual oferece:
cartero serve.cartero/cartero.sqliteO Cartero mantém o estado local dentro do workspace ativo:
.cartero/cartero.sqlite: armazenamento de estado SQLite embutidoplugins/: manifests de plugin sincronizadosdrafts/: rascunhos de campanha gerados a partir de mensagens revisadasexports/: exportações de análisesNão há banco de dados externo para instalar ou gerenciar. Os workspaces existentes baseados em Bolt são migrados para SQLite automaticamente na primeira abertura.
make bootstrap
make build
./dist/cartero --plain workspace init
./dist/cartero init campaign.yaml
./dist/cartero --plain validate -f campaign.yaml
./dist/cartero --plain preview -f campaign.yaml
./dist/cartero serve --addr 127.0.0.1:8080
./dist/cartero --plain template list
./dist/cartero --plain finding list
./dist/cartero --plain plugin list
Execute a partir de um diretório aninhado ou de uma sessão de shell externa com --root /caminho/para/workspace para forçar a resolução do workspace.
cartero workspace init Bootstrap the embedded workspace
cartero workspace status Show database and workspace counts
cartero init Write a starter campaign file
cartero preview Render a styled readiness overview and persist a snapshot
cartero validate Lint a campaign definition and persist a snapshot
cartero serve Run the local admin UI and safe testing pages
cartero template list Browse the seeded template library
cartero template show Inspect a template in detail
cartero audience import Import a CSV segment into the workspace
cartero audience list List stored audience members
cartero import clone Convert a reviewed message into a safe draft campaign
cartero finding import Normalize external findings into the workspace
cartero finding list List imported findings
cartero migrate mongo-export Import legacy Mongo export files into SQLite
cartero event record Record engagement telemetry
cartero event list List stored engagement events
cartero report export Export workspace analytics to JSON or CSV
cartero plugin list Show installed plugin manifests
cartero plugin sync Sync built-in plugin manifests and template seed data
cartero doctor Inspect local workspace health
cartero version Print build metadata
O repositório vem com estes plugins próprios:
local-previewtemplate-libraryclone-importeranalytics-exportaudience-syncengagement-recorderSeus manifests estão em plugins/, e seu contrato está documentado em PLUGIN.md.
As campanhas são arquivos YAML que descrevem um plano de exercício de conscientização. O Cartero valida a estrutura e impõe controles de segurança locais:
capture_credentials deve permanecer falseallow_external_links deve permanecer falsehighComece por configs/campaign.example.yaml.
O Cartero pode correlacionar a saída de scanners externos com o mesmo workspace local usado para campanhas e eventos:
./dist/cartero --plain finding import --file scans/nuclei.jsonl --source nightly-nuclei
./dist/cartero --plain finding list --tool nuclei
./dist/cartero --plain migrate mongo-export --path legacy-export
O caminho de migração legada importa arquivos de exportação antigos do Mongo para pessoas e hits, e converte artefatos de credenciais legados em achados redigidos, em vez de transportar valores brutos submetidos adiante.
make fmt
make vet
make test
make smoke
CI é executado em push e pull request via ci.yml. Lançamentos com tag são empacotados por release.yml usando .goreleaser.yaml.