🇬🇧 For english version, please change to the "en" branch
Este framework operacional foi refatorado para suportar mĂşltiplos propĂłsitos de investigação OSINT. Agora, o operador define o propĂłsito da operação no inĂcio do processo, e o framework sugere dinamicamente a pipeline mais adequada.
- Instituições: Focado em empresas, domĂnios e ativos corporativos (Pipeline PadrĂŁo).
- IndivĂduos: Focado em pegada digital de pessoas fĂsicas, exposição e vĂnculos.
- Campanha de Desinformação: Análise de narrativas, coordenação e amplificação.
- Análise de Narrativas: Mapeamento de ecossistemas de informação e influência.
- Vazamento de Dados: Avaliação de impacto, sensibilidade e origem de vazamentos.
Este framework é uma ferramenta de automação de inteligência de fontes abertas (OSINT). O uso deste material deve respeitar as seguintes diretrizes:
- Legalidade: Certifique-se de que suas atividades estĂŁo em conformidade com as leis locais (como LGPD no Brasil ou GDPR na Europa).
- Ética: Não utilize este framework para assédio, doxing, perseguição ou qualquer atividade ilegal.
- Responsabilidade: O autor não se responsabiliza pelo uso indevido das informações coletadas ou pelas ações tomadas com base nos relatórios gerados.
- TransparĂŞncia: Este framework foca em dados pĂşblicos e abertos. NĂŁo utilize para tentar acessar sistemas privados ou protegidos.
Diferente de sistemas automáticos, este framework utiliza orientação dinâmica. Ao final de cada comando, o agente sugere o próximo passo baseado no tipo de operação escolhido.
- Case Intake: O operador define o
operation_typenointake.json. - Sugestão de Comando: O output de cada etapa contém o campo
next_command. - Execução Manual: O operador mantém o controle total, executando o comando sugerido após validar o resultado anterior.
specs/ → Definições lĂłgicas (especĂficas por tipo de operação).
.opencode/commands/ → Comandos executáveis.
cases/ → Dados dos casos.
├── <case-id>/
│ ├── intake.json → Definição do propósito e alvo.
│ ├── runs/ → Outputs de cada etapa.
│ └── memory/ → Lições aprendidas (postmortem).
Crie a pasta do caso e edite o intake.json. Abaixo estão exemplos para cada tipo de operação:
{
"case_id": "CORP-001",
"operation_type": "institutions",
"target_name": "Empresa Alvo S.A.",
"target_url": "https://alvo.com.br",
"scope_type": "empresa",
"analysis_goal": "Mapear QSA e ativos técnicos.",
"restrictions": ["Apenas fontes pĂşblicas"]
}{
"case_id": "IND-001",
"operation_type": "individuals",
"target_name": "Nome do Alvo",
"analysis_goal": "Mapear pegada digital e exposição social.",
"restrictions": ["Respeitar LGPD"]
}{
"case_id": "DIS-001",
"operation_type": "disinformation_campaign",
"target_name": "Narrativa X sobre Assunto Y",
"analysis_goal": "Identificar origem e amplificadores.",
"restrictions": ["Focar em redes abertas"]
}{
"case_id": "NAR-001",
"operation_type": "narrative_analysis",
"target_name": "Tema de Interesse",
"analysis_goal": "Mapear ecossistema de influĂŞncia.",
"restrictions": ["Análise qualitativa"]
}{
"case_id": "LEAK-001",
"operation_type": "data_leak",
"target_name": "Entidade Afetada",
"analysis_goal": "Validar extensĂŁo e sensibilidade do vazamento.",
"restrictions": ["NĂŁo baixar bases completas"]
}/case-intakeO agente validará o tipo de operação e sugerirá o prĂłximo comando (ex: /framing para instituições ou /framing-indiv para indivĂduos).
Execute os comandos sugeridos sequencialmente. O framework guiará você através do campo next_command.
/case-intake-> Sugere/framing/framing-> Sugere/corporate-collection/corporate-collection-> Sugere/expansion/expansion-> Sugere/entity-graph/entity-graph-> Sugere/institutional-validation/institutional-validation-> Sugere/technical-surface/technical-surface-> Sugere/brand-social-analysis/brand-social-analysis-> Sugere/unstructured-extraction/unstructured-extraction-> Sugere/geo-context/geo-context-> Sugere/correlation/correlation-> Sugere/report/report-> Sugere/postmortem
/case-intake-> Sugere/framing-indiv/framing-indiv-> Sugere/individual-collection/individual-collection-> Sugere/expansion/expansion-> Sugere/entity-graph/entity-graph-> Sugere/identity-validation/identity-validation-> Sugere/individual-footprint/individual-footprint-> Sugere/individual-social-analysis/individual-social-analysis-> Sugere/unstructured-extraction/unstructured-extraction-> Sugere/geo-context/geo-context-> Sugere/correlation/correlation-> Sugere/report
-
Desinformação:
/case-intake->/framing-disinfo->/disinfo-collection->/expansion->/content-analysis->/disinfo-actor-mapping->/correlation->/report -
Narrativas:
/case-intake->/framing-narrative->/narrative-collection->/expansion->/content-analysis->/narrative-ecosystem-map->/correlation->/report -
Vazamentos:
/case-intake->/framing-leak->/leak-collection->/expansion->/leak-impact-analysis->/leak-data-audit->/unstructured-extraction->/correlation->/report
- OpenCode instalado.
- EXA habilitado (
OPENCODE_ENABLE_EXA=1).
Para adicionar novas pipelines ou ajustar as existentes, edite os arquivos em specs/ e os comandos correspondentes em .opencode/commands/. O framework Ă© modular e desenhado para evoluir com a necessidade do operador.
Desenvolvido para uso com a plataforma OpenCode. Licença: GPL v3.