EM ANDAMENTO
Resumo técnico
Plugin do NEXUS que centraliza findings pós-push de scanners, SBOM, Dependency-Track, domínios e repositórios CI/CD. Os imports normalizam evidências, deduplicam ou reabrem tarefas e alimentam o Compliance Hub; o painel também correlaciona CVEs, administra perfis e workflows de scan e dispara alertas críticos.
Escopo executado
plugin.json— v1.2.0, categoria DevSecOps, ícone lucideshield-alert,icon.svgpróprio e repositóriosr00t3d/nexus-github-security.- Registros:
registerTab("github-security", "GitHub Security", "shield-alert", tab.php, "Security"),registerDoc(...),registerModal("security-modals", modals.php)eregisterJs("github-security", "/plugins/github-security/assets/nexus-security-scanner.js"). - 37 actions de API (
plugin.php, viaPluginManager::registerApiAction) — 14 imports (security_import_trivy|grype|semgrep|codeql|mobsf|qark|nuclei|wordfence|gitleaks|zap|composer|npm|sbom|dtrack), SBOM (security_sbom_list/get), DTrack (security_dtrack_sync/dashboard/save_config), CVE (security_cve_details), domínios (security_scan_domain|save_domain|get_domains|delete_domain), repos (security_save_repo|get_repos|delete_repo), profiles (security_get_scan_profiles|set_scan_profile), workflows (security_get_workflow_statuses|trigger_workflow), CI health (security_get_ci_health|inspect_repo_ci|sync_repo_workflow|install_repo_dependabot|sync_outdated_workflows), alertas (security_notify_critical). - Persistência: sem tabelas próprias — findings viram tarefas NEXUS (
security_manage_task: dedupe por título, reopen de done/cancelled,project_resolve_for_task) e evidência emplugin.compliance.ci_evidence; domínios emplugin.security.domains, repos emplugin.security.repos, SBOM emplugin.security.sbom, DTrack emplugin.security.dtrack(config do DB). - Imports:
security_process_trivy_scan,grype,semgrep,codeql,mobsf,qark,nuclei,wordfence,gitleaks,zap,composer,npm,sbom,dtrack— cada um normaliza upload/body, resolve projeto e cria/reabre tarefas. - Compliance:
security_import_with_compliance→security_finding_to_controls(mapa MITRE + NIST/ISO por scanner) →security_record_compliance_evidence(evidência no Hub; SBOM não cria tarefa por pacote). - SBOM:
security_process_sbom_scan— CycloneDX preferido/SPDX fallback, purl → ecosystem, inventário por repo emplugin.security.sbom;security_sbom_list/get(detalhe + pacotes por?repo=owner/name). - Dependency-Track: stack Docker local (API
127.0.0.1:9080, UI 9081; bootstrapbootstrap-api-key.sh→plugin.security.dtrack); webhook NEW_VULNERABILITY/POLICY → tarefas[DTrack] CVE — pkg;security_dtrack_sync(evidência CI); dashboard com stats/syncs/alertas/config mascarada. - CodeQL: dupla visibilidade —
codeql-action/upload-sarif@v3envia ao GitHub Security Tab +security_import_codeqlcria/atualiza tarefas[CodeQL] …. - Mobile: workflow
nexus-mobile-scan.yml(jobdetectcom path filter — Manifest/Gradle Android/iOS/artefato) → só então MobSF/QARK (sem APK/IPA ou repo não-mobile → skipped). DocsMOBSF.md/QARK.md. - GitHub OAuth: integração com GitHub Manager (
sr00t3d) compartilhando configurações de autenticação. - Domínios:
security_audit_domain— headers/SSL/CORS; slash/trivy <domínio|IP>via fastr.json (security_scan_domain). - Intel:
security_scanner_intel_enrich(prioridade 46, tipocve) — correlação local com tarefas/findings (sem API externa no hub). - Alertas:
security_notify_critical—notify_security_critical(e-mail, dashboard, Discord/Slack, Novu opcional); usado pelo jobnotify-critical. - CI health:
security_get_ci_health/inspect_repo_ci— compara workflow remoto vs template local (action pins, template version/fingerprint), sync de workflows, Dependabot, detecção de billing block. - UI Alpine.js (
tab.php): 4 sub-tabs (Domínios, Repositórios CI/CD, SBOM, Dependency-Track), seletor de import por scanner, cards de métricas e toolbar premium.
Stack e ferramentas
- Backend: PHP 8.3 (PDO Singleton, JSON APIs, fail-closed guards)
- Frontend: Alpine.js v3 + Tailwind CSS v4.3 + Lucide Icons
- Scanners: Trivy, Grype, Semgrep, CodeQL, MobSF, QARK, Nuclei, Wordfence CLI, Gitleaks, OWASP ZAP, Syft SBOM
- Integrações: Dependency-Track, Compliance Hub, Novu, Discord/Slack
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
Orquestrador completo de segurança pós-push e DevSecOps para repositórios GitHub. Consolida findings de múltiplos scanners (Trivy, Grype, Semgrep, CodeQL, MobSF, Nuclei, Gitleaks, OWASP ZAP), gerencia inventários SBOM com Syft, integra monitoramento contínuo de CVEs via Dependency-Track e audita superfícies de domínios e CI/CD.
Arquitetura e organização
- PHP 8
- MySQL 8
- Alpine.js
- Tailwind CSS
- GitHub Actions
- 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.