scalytics/kafSIEM

GitHub: scalytics/kafSIEM

一个基于 Kafka 的 OSINT/SIEM 栈,提供 AgentOps 流程追踪与全球情报监控能力。

Stars: 36 | Forks: 6

# EUOSINT EUOSINT 是我们 OSINT 流水线的开源版本,已用于多个安装场景并打包为本地和服务器部署。 它现在提供了两个独立的操作界面: - `OSINT`:现有的以全球为主的外部情报工作流 - `AgentOps`:基于 Kafka 的流程追踪,用于 KafClaw 代理通信 - `HYBRID`:AgentOps 加上选择性的外部 OSINT 上下文 本仓库已移除非公开、内部和受保护的源集成,同时保持操作流水线结构不变,已准备好公开使用。 ## 开源范围 - 公开可用的 OSINT 流水线架构 - 基于 Kafka 的 AgentOps 流程追踪(适用于 KafClaw 风格代理流量) - 优先使用 Docker 的部署方式,确保可重复安装 - Web 仪表盘 + Go 采集器运行时 - 可配置的摄取与刷新频率 ## 运行模式 运行时模式由环境和挂载的策略文件决定。 - `UI_MODE=OSINT` 保持现有 OSINT 产品行为 - `UI_MODE=AGENTOPS` 将桌面 UI 切换到 AgentOps 流程面板 - `UI_MODE=HYBRID` 以 AgentOps 为主并添加选择性的外部情报上下文 AgentOps 是代码库中的一个独立边界域: - 后端:`internal/agentops/...` - 前端:`src/agentops/...` 它未实现为通用插件树。 ## 使用 Docker 运行 ``` if command -v docker-compose >/dev/null 2>&1; then docker-compose up --build else docker compose up --build fi ``` 应用将在 `http://localhost:8080` 可用。 你也可以使用 Make 目标进行本地 HTTP 开发: ``` make dev-start make dev-stop make dev-restart make dev-logs ``` 对于本地 AgentOps 演示(使用模拟的 Kafka 衍生流量和真实仪表盘): ``` npm run demo:agentops ``` 这将通过 `/?demo=agentops` 直接以 `AgentOps` 模式打开桌面 UI,从 `public/demo/*.json` 提供演示状态,并在本地模拟回放端点。 ## 远程安装(wget 引导) ``` wget -qO- https://raw.githubusercontent.com/scalytics/EUOSINT/main/deploy/install.sh | bash ``` 安装程序将执行以下操作: - 验证 Docker + Compose 是否可用 - 在主机上克隆或更新仓库 - 设置 GHCR 运行时镜像(`ghcr.io/scalytics/euosint-web` + `ghcr.io/scalytics/euosint-collector`) - 提示选择安装模式(`preserve` 或 `fresh` 卷重置) - 提示设置域名(`EUOSINT_SITE_ADDRESS`) - 启用域名模式时,可选检查 `ufw`/`firewalld` 并验证本地 80/443 可用性 - 仅提示必要的运行时密钥(URL、API 凭证、可选的 LLM 开关) - 可选运行 `docker compose pull` 并以 `--no-build` 启动 - 发布流水线构建两个镜像:Web 镜像和 Go 采集器镜像 - 定时数据刷新流程运行 Go 采集器 - Web 镜像使用 Caddy,并将采集器输出在运行时挂载到 Web 容器中 - 在 Docker 开发模式下,采集器会在新卷上初始化空的 JSON 输出,并在首次成功运行时写入实时输出 ## 在本地不使用 Docker 运行 ``` volta install node@25.8.1 npm@11.11.0 npm install npm run fetch:alerts:watch npm run dev ``` 对于具备自动重启功能的 24/7 采集: ``` npm run collector:run ``` 调优示例: ``` INTERVAL_MS=120000 MAX_PER_SOURCE=80 npm run collector:run INTERVAL_MS=120000 RECENT_WINDOW_PER_SOURCE=20 ALERT_STALE_DAYS=14 npm run collector:run ``` 运行时所需的最少变量位于 [.env.example](https://github.com/scalytics/EUOSINT/blob/main/.env.example)。 高级调优变量和默认值记录在 [docs/advanced-config.md](https://github.com/scalytics/EUOSINT/blob/main/docs/advanced-config.md)。 AgentOps 专属运行时参数包括: - `AGENTOPS_ENABLED` - `AGENTOPS_BROKERS` - `AGENTOPS_GROUP_NAME` - `AGENTOPS_GROUP_ID` - `AGENTOPS_POLICY_PATH` - `AGENTOPS_REPLAY_ENABLED` - `AGENTOPS_REJECT_TOPIC` - `AGENTOPS_OUTPUT_PATH` - `UI_MODE` - `PROFILE` - `UI_POLICY_PATH` 启用 AgentOps 时,采集器会将 `agentops-state.json` 写入运行时数据卷,Web 仪表盘将直接读取该状态。 挂载约定: - `/config`:策略与 UI 控制文件 - `/data`:生成的 AgentOps 状态与重放元数据 内容行为明确: - 常规 Kafka 记录从 Kafka 值解码并在 AgentOps 详细视图中展示 - 基于 LFS 的记录仅显示指针元数据(`s3://bucket/key`) - 默认产品流程不会为基于 LFS 的记录获取 blob 内容 - 被拒绝的记录可镜像到 `AGENTOPS_REJECT_TOPIC` - 回放始终使用独立消费者组,不会修改实时追踪组 操作员参考与示例位于 [docs/agentops-operator-guide.md](https://github.com/scalytics/EUOSINT/blob/main/docs/agentops-operator-guide.md)。 ## 运维 ``` make check make ci make docker-build ``` - `make release-patch`、`make release-minor` 和 `make release-major` 会创建并推送语义化版本标签,触发发布流水线 - `.github/workflows/branch-protection.yml` 使用 `ADMIN_GITHUB_TOKEN` 仓库密钥保护 `main` 分支 - Docker 验证通过 `buildx` 进行,发布镜像推送到 GHCR 的语义化版本标签 - 发布镜像以 `ghcr.io//-web` 和 `ghcr.io//-collector` 发布 - `docker-compose up --build` 或 `docker compose up --build` 会以后台刷新服务运行 Go 采集器,并通过 Caddy 容器提供生成的 JSON - 虚拟机/域名部署说明位于 [docs/operations.md](https://github.com/scalytics/EUOSINT/blob/main/docs/operations.md) - 噪声门、搜索默认值、分析师反馈端点和指标输出记录在 [docs/operations.md](https://github.com/scalytics/EUOSINT/blob/main/docs/operations.md#noise-gate-global-noise--contextual-triage) ## 说明 - 本地工具链通过 `package.json`、`.nvmrc` 和 `.node-version` 固定为 Node `25.8.1` 和 npm `11.11.0` - Go 采集器是定时数据刷新、Docker 运行时和本地命令的操作后端 - 本仓库有意排除非公开/内部/受保护的集成,并作为开放源码就绪的分发版本维护 - 根目录的 `LICENSE` 适用于仓库本地内容与修改
标签:AgentOps, Docker, ESC4, EVTX分析, Go运行时, KafClaw, Kafka, MITM代理, OSINT, SonarQube插件, Web仪表板, wget引导, 事件监控, 全球情报监控, 刷新频率, 可配置摄取, 安全防御评估, 容器化部署, 开源OSINT管道, 态势分析, 日志审计, 本地开发, 流跟踪, 消息队列, 混合模式, 生产部署, 请求拦截, 远程安装, 风险检测