EM ANDAMENTO
Resumo técnico
Plugin do NEXUS que enriquece IOCs — hashes MD5/SHA1/SHA256, IPs, domínios e URLs — com o veredito do Kaspersky OpenTIP. O enricher do Intelligence Hub consulta a API oficial com cache local de 7 dias, mapeia campanhas e MITRE ATT&CK e devolve sinais com severidade; a aba traz busca com auto-detecção de tipo, histórico paginado e alertas de IOCs maliciosos.
Escopo executado
- Registro:
plugin.jsonv1.0.0,icon_bg #00A88E, ícone lucidebraineicon.pngpróprio (semis_core— plugin adicional);registerTab('kaspersky-tip','Kaspersky OpenTIP','brain',tab.php,'Threat Intel')eregisterDoc('kaspersky-tip','Kaspersky OpenTIP','brain',doc.md); sem modais dedicados e sem cronjob (nenhuma rotina periódica). - Tabela
tip_cacheviatip_install():ioc_hash VARCHAR(32)PK (md5 detipo:valor),ioc_type VARCHAR(20),ioc_value TEXT,verdict VARCHAR(50),detection VARCHAR(255),category VARCHAR(100),campaigns/mitre/related_iocs/raw_responseJSON eenriched_at DATETIME— com índices por tipo, veredito e data (InnoDB, utf8mb4). - API Kaspersky OpenTIP via cURL (
https://opentip.kaspersky.com/api/v1/search/{ip|domain|url|hash}?request=): headerX-Api-Key,Accept: application/json, URL urlencoded, timeouts de conexão 3s e resposta 5s,SSL_VERIFYPEERhabilitado; HTTP 429 mapeado para "Quota diária excedida (100 requests/dia)". - Auto-detecção do tipo de IOC: MD5 (32 hex), SHA1 (40), SHA256 (64), IP via
FILTER_VALIDATE_IP, URL (^https?://) e domínio por regex —tip_enrichidentifica o tipo sem parâmetro explícito. - Mapeamento da resposta:
Zone→ veredito (Grey por padrão); hash viaFileGeneralInfo(FileStatus/Type + até 3DetectionNames), IP viaIpGeneralInfo(Status + Categories), domínio viaDomainGeneralInfo(Status/DomainStatus) e URL viaUrlGeneralInfo(Status/UrlStatus); campanhas, MITRE ATT&CK (tactics/techniques) e IOCs relacionados. - Cache local de 7 dias:
tip_enrich()responde do cache (cached: true) antes da chamada remota, com upsert (ON DUPLICATE KEY UPDATE) no miss — hits instantâneos e 100 req/dia do plano gratuito rendem mais. - API com 6 actions:
tip_enrich(value+typeopcional),tip_stats(totais +api_configured+api_onlinepor pulso com 2 URLs de teste),tip_history(paginado,limit1–200),tip_alerts(verdictsmalware/malicious/suspicious/dangerous),tip_settings(chave configurada?) etip_settings_save(api_keyviaDB::setConfig('kaspersky_tip_settings')). - Enricher do Intelligence Hub:
nx_intel_register_enricher('kaspersky-tip', ['ip','domain','url','hash'], 'tip_intel_enrich', 48)— signals com statusok/error/needs_key/skipped,severity85 (verdicts maliciosos) ou 10 (limpos), summary com a detecção ou o veredito, respeita o orçamentomax_live_lookups(slice ≤ min(8, orçamento × 2)) e marcacached. - Fast Responses: manifesto
fastr.jsoncom/tip(argumento IOC obrigatório — hash, IP, domínio ou URL), actiontip_enrich. - Sob demanda: sem
cronjob.json(nenhuma rotina periódica necessária); sem CLI. - Interface: aba Alpine.js (
tab.php, 475 linhas) com badge "API Online/Offline" (3 estados: verde pulso, vermelho, âmbar), cards de stats (Total IOCs, Maliciosos, Limpos, Hoje com barras de proporção), busca com auto-detecção e resultado rico (veredito colorido rose/emerald, tipo/categoria/veredito/consultado, campanhas com países-alvo, chips de MITRE ATT&CK, IOCs relacionados), histórico paginado com linha expansível, alertas de maliciosos e configuração com howto de 4 passos. - Legado:
tip_filter_task_read/tip_filter_comment_readdesativados (comentados emplugin.php) — anexavam bloco markdown "Kaspersky Threat Intel — IOCs Detectados"; o enriquecimento automático migrou para o Intelligence Hub (core/intel.php).
Stack e ferramentas
- PHP 8 backend (sem framework) + MySQL 8 (tabela
tip_cache) - Kaspersky OpenTIP API via cURL (
opentip.kaspersky.com/api/v1/search) - Alpine.js + Tailwind CSS (aba do painel) + Plugin API interno (tabs/actions +
fastr.json+ Intel Hub)
Tags
Kaspersky, OpenTIP, IOC, Threat Intelligence, Intelligence Hub, Plugin NEXUS
Resultado operacional
- 4 tipos de IOC: hashes MD5/SHA1/SHA256, IPs, domínios e URLs com veredito oficial da Kaspersky.
- Auto-detecção de tipo: cole o IOC e o plugin identifica sozinho — sem dropdown nem erro de formato.
- Contexto de ataque: campanhas (com países-alvo), MITRE ATT&CK e IOCs relacionados no resultado da busca.
- Cache de 7 dias: hits instantâneos; a cota de 100 requests/dia do plano gratuito é preservada.
- Severidade nos sinais: 85 para verdicts maliciosos, 10 para limpos — correlação fácil no painel Intel.
- Sem rotinas: plugin puramente sob demanda — sem cron nem CLI.
Andamento no GitHub (issues)
Painel em tempo real com as issues mais recentes do repositório.
live feed
abrir issues no githubcarregando andamento...
não foi possivel carregar as issues agora. abra no github pelo link acima.
Resultados reais
Plugin do NEXUS que enriquece IOCs — hashes MD5/SHA1/SHA256, IPs, domínios e URLs — com o veredito do Kaspersky OpenTIP. O enricher do Intelligence Hub consulta a API oficial com cache local de 7 dias, mapeia campanhas e MITRE ATT&CK e devolve sinais com severidade; a aba traz busca com auto-detecção de tipo, histórico paginado e alertas de IOCs maliciosos.
Arquitetura e organização
- PHP 8
- MySQL 8
- cURL
- Kaspersky OpenTIP API
- Alpine.js
- Tailwind CSS
- Plugin NEXUS
Execução e operação
O projeto segue fluxo reprodutível de execução com validação técnica em ambiente de produção/similar.
Screenshots
Falar sobre este projeto
Aplique este modelo no seu ambiente e acelere a entrega com consistência técnica.