NodeNestor/Sentinel

GitHub: NodeNestor/Sentinel

一个 AI 驱动的自主安全监控系统,整合扫描、审计、监控、关联分析和自动修复,为没有安全团队的中小型环境提供即插即用的全天候安全防护。

Stars: 0 | Forks: 0

# Sentinel **自主 AI 安全团队** —— 为任何环境提供即插即用的安全监控。 Sentinel 是一个 AI 驱动的安全监控系统,扮演着完整安全团队的角色。将其部署在你的网络、服务器或 Kubernetes 集群上,它就会持续扫描、分析、关联并响应安全威胁 —— 7x24 小时全天候,无需雇佣安全人员。 ![Sentinel Dashboard](https://static.pigsec.cn/wp-content/uploads/repos/2026/03/973cbdae39062054.png) ## 功能特性 - **发现** 你的整个攻击面 —— 主机、端口、服务、容器 - **扫描** 每个软件包、镜像和二进制文件中的已知 CVE - **审计** 针对 CIS 基准的配置情况 - **监控** 实时日志以检测入侵模式 - **检测** 配置漂移 —— 发现不应发生的变更 - **关联** 所有数据,利用 MITRE ATT&CK 构建攻击叙事 - **修复** 自动化处理(封禁 IP、终止容器、隔离 Pod)或向你发出警报 - **报告** 合规状态并生成 PDF 报告 - **对话** 与你聊天 —— 提问、下达指令、获取解释 ## 快速开始 **Docker Compose** (推荐): ``` curl -fsSL https://raw.githubusercontent.com/NodeNestor/Sentinel/main/scripts/install.sh | bash ``` **Kubernetes / Helm**: ``` helm repo add sentinel https://nodenester.github.io/Sentinel helm install sentinel sentinel/sentinel -n sentinel --create-namespace ``` **手动安装**: ``` git clone https://github.com/NodeNestor/Sentinel.git cd Sentinel cp .env.example .env # edit with your AI provider + API key docker compose up -d open http://localhost:3000 ``` ## 安装说明 ### Docker Compose (推荐) 一行命令安装 —— 自动检测操作系统,提示配置 AI 提供商,生成安全密码,并启动所有服务: ``` curl -fsSL https://raw.githubusercontent.com/NodeNestor/Sentinel/main/scripts/install.sh | bash ``` 非交互模式 (用于 CI/自动化): ``` export AI_PROVIDER=anthropic export ANTHROPIC_API_KEY=sk-ant-... curl -fsSL https://raw.githubusercontent.com/NodeNestor/Sentinel/main/scripts/install.sh | bash -s -- --non-interactive ``` ### Kubernetes / Helm ``` helm repo add sentinel https://nodenester.github.io/Sentinel helm install sentinel sentinel/sentinel -n sentinel --create-namespace ``` 或从源码安装: ``` git clone https://github.com/NodeNestor/Sentinel.git cd Sentinel helm dependency build charts/sentinel helm install sentinel ./charts/sentinel -n sentinel --create-namespace \ --set ai.provider=anthropic \ --set ai.anthropicApiKey=sk-ant-... ``` 交互式 Kubernetes 安装程序: ``` ./scripts/install-k8s.sh ``` ### 手动安装 / 开发模式 ``` git clone https://github.com/NodeNestor/Sentinel.git cd Sentinel cp .env.example .env # edit with your settings docker compose up -d ``` ## 部署矩阵 | 环境 | 方法 | 网络扫描 | K8s 扫描 | 自动修复 | |------------|--------|:---------------:|:------------:|:----------------:| | 家庭网络 | Docker Compose | 完整 | 不适用 | IP 封禁 | | 单服务器 | Docker Compose | 完整 | 不适用 | IP 封禁, 服务重启 | | Kubernetes | Helm Chart | 受限* | 完整 | Pod 隔离, Secret 轮换 | | 云端 VM | Docker Compose | 完整 | 不适用 | IP 封禁 | \*K8s 中的网络扫描需要 `hostNetwork: true` ## 更新 ``` # Docker Compose ./scripts/install.sh --update # Kubernetes helm upgrade sentinel sentinel/sentinel -n sentinel ``` ## 架构 ``` ┌──────────────────────────────────────────────────────┐ │ Dashboard (Chat + Visualizations) │ └────────────────────────┬─────────────────────────────┘ │ REST + WebSocket ┌────────────────────────┴─────────────────────────────┐ │ AI Correlation Engine │ │ MITRE ATT&CK │ Risk Scoring │ Auto-Remediation │ └────────────────────────┬─────────────────────────────┘ │ Redis Streams ┌─────────┬─────────┼─────────┬──────────┐ NetScout VulnHunter Config LogWatcher Drift (nmap) (trivy) Auditor (real-time) Detector (CIS) ``` ## 扫描 Agent | Agent | 功能 | 间隔 | |-------|-------------|----------| | **NetScout** | 网络扫描 —— 主机发现、端口/服务检测、 rogue 设备 | 5 分钟 | | **VulnHunter** | CVE 扫描 —— 容器镜像、软件包、EPSS + CISA KEV 增强 | 1 小时 | | **ConfigAuditor** | 配置错误审计 —— SSH、权限、Docker、K8s、默认凭据、TLS | 24 小时 | | **LogWatcher** | 日志监控 —— 暴力破解、权限提升、可疑命令 | 实时 | | **DriftDetector** | 变更检测 —— 新容器、用户、Cron 任务、二进制文件、配置更改 | 15 分钟 | ## AI 集成 Sentinel 可连接任何 AI 后端。选择其一: ### 选项 1: Claude API (Anthropic) ``` AI_PROVIDER=anthropic ANTHROPIC_API_KEY=sk-ant-... ``` ### 选项 2: 任何兼容 OpenAI 的端点 适用于 vLLM, LM Studio, llama.cpp, LocalAI, text-generation-webui,或任何实现 OpenAI chat completions API 的服务器。 ``` AI_PROVIDER=openai-compatible OPENAI_BASE_URL=http://localhost:8080/v1 OPENAI_API_KEY=not-needed OPENAI_MODEL=your-model-name ``` ### 选项 3: Ollama (本地) ``` AI_PROVIDER=ollama OLLAMA_URL=http://localhost:11434 OLLAMA_MODEL=llama3.1 ``` AI 层负责处理: - **分诊** —— 优先处理发现的问题,并用通俗易懂的语言解释 - **关联** —— 将事件串联成攻击叙事 - **对话** —— 回答问题,接收指令,解释 CVE - **主动警报** —— 决定哪些信息值得通知你 - **报告** —— 生成执行摘要、合规报告 ## 仪表盘 暗色主题安全仪表盘,地址为 `http://localhost:3000`,包含 8 个页面: | | | |---|---| | ![Overview](https://static.pigsec.cn/wp-content/uploads/repos/2026/03/973cbdae39062054.png) | ![Findings](https://static.pigsec.cn/wp-content/uploads/repos/2026/03/2481d005ba062058.png) | | **概览** —— 安全态势评分、发现、事件、Agent 状态 | **发现** —— 可筛选表格、MITRE ATT&CK 标签、批量操作 | | ![Network](https://static.pigsec.cn/wp-content/uploads/repos/2026/03/259a6ce5aa062103.png) | ![Compliance](https://static.pigsec.cn/wp-content/uploads/repos/2026/03/b711c868b6062107.png) | | **网络** —— 力导向拓扑图、可疑流量 | **合规** —— CIS 基准、PDF 导出 | | ![Assets](https://static.pigsec.cn/wp-content/uploads/repos/2026/03/c25ca62f38062111.png) | ![Incidents](https://static.pigsec.cn/wp-content/uploads/repos/2026/03/bdc60d457a062116.png) | | **资产** —— 主机清单、风险评分、端口、漏洞 | **事件** —— 关联的攻击叙事、杀伤链 | | ![Chat](https://static.pigsec.cn/wp-content/uploads/repos/2026/03/20e3259d33062120.png) | ![Settings](https://static.pigsec.cn/wp-content/uploads/repos/2026/03/d5c31d53f4062124.png) | | **聊天** —— 与 Sentinel 对话、提问、下达指令 | **设置** —— 扫描间隔、警报、通知、试运行 | ## 对话示例 ``` You: What's the riskiest thing on my network right now? Sentinel: Host 192.168.1.50 has 3 critical CVEs including CVE-2024-3094 (xz backdoor, CISA KEV listed). Port 22 is exposed with password auth enabled. Risk score: 92/100. Want me to block external SSH access? You: Run a full scan Sentinel: Triggered all 5 agents. NetScout found 2 new devices, VulnHunter found 7 new CVEs (1 critical). Full results on the dashboard. You: Explain CVE-2024-3094 Sentinel: This is the xz utils backdoor... ``` ## 威胁情报 利用来自免费威胁源的数据丰富发现结果: | 数据源 | 提供内容 | |------|-----------------| | **CISA KEV** | 已确认在野外被积极利用的 CVE | | **EPSS** | CVE 被利用的概率 (0-100%) | | **abuse.ch** | 恶意 URL、C2 服务器 IP、恶意软件哈希 | | **GreyNoise** | 过滤良性扫描器 (Shodan, Censys) | | **AbuseIPDB** | 社区报告的恶意 IP 信誉 | ## 自动修复 Sentinel 可以自动响应威胁 (默认禁用): | 动作 | 触发条件 | 可逆性 | |--------|------|-----------| | 封禁 IP | 已知恶意 IP 攻击你的网络 | 是 (自动过期) | | 终止容器 | 容器运行加密挖矿程序或反向 Shell | 是 (K8s 重启) | | 隔离 Pod | 受损 Pod 通过 NetworkPolicy 隔离 | 是 | | 轮换 Secret | 检测到凭据泄露 | 不适用 | 通过 `DRY_RUN=false` 启用。仪表盘设置中提供熔断开关。 ## 合规性 自动化合规检查并生成 PDF 报告: - **CIS Docker Benchmark** —— 14 项检查 - **CIS Linux Benchmark** —— 17 项检查 - **NIST CSF 2.0** —— 从发现结果映射 - **PCI DSS** —— 相关控制项 ## CLI ``` # 检查安全态势 sentinel status # 列出最近发现 sentinel findings --severity critical # 提问 sentinel ask "any suspicious activity today?" # 交互式聊天 sentinel ask # 触发扫描 sentinel scan # 生成报告 sentinel report executive ``` ## 配置 所有设置均可通过环境变量或 `config/default.json` 配置。关键设置: ``` # 扫描 SCAN_SUBNET=auto # auto-detect or 192.168.1.0/24 SCAN_INTERVAL=300 # NetScout interval (seconds) # 告警 ALERT_LEVEL=medium # minimum severity to notify DRY_RUN=true # disable auto-remediation # 通知 SLACK_WEBHOOK_URL=... DISCORD_WEBHOOK_URL=... # Threat Intel(可选,免费层级) GREYNOISE_API_KEY=... ABUSEIPDB_API_KEY=... ``` ## 开发 ``` # 启动依赖项 docker compose up -d postgres redis # 安装 npm install # 以开发模式运行(更改时自动重启) npm run dev # 运行数据库迁移 npm run migrate ``` ## 技术栈 - **运行时:** Node.js 20+ - **数据库:** PostgreSQL 16 (知识图谱 + 发现结果) - **事件总线:** Redis Streams - **AI:** Claude API / OpenAI 兼容 / Ollama - **仪表盘:** Express + 原生 HTML/JS + WebSocket - **扫描:** nmap, trivy, arp-scan, masscan - **部署:** Docker Compose / Helm / bare metal ## 许可证 MIT
标签:AI安全, AI风险缓解, AMSI绕过, Anthropic, Chat Copilot, CISA项目, CIS基准, Claude, Cloudflare, CVE检测, Docker, FTP漏洞扫描, Helm, MITM代理, MITRE ATT&CK, PDF报告生成, SOAR, Web截图, Web报告查看器, 威胁检测, 子域名突变, 安全大模型, 安全监控系统, 安全编排, 安全防御评估, 容器安全, 异常检测, 搜索引擎查询, 测试用例, 网络安全, 自主安全团队, 自动响应, 自动驾驶安全, 自定义脚本, 请求拦截, 隐私保护