zenShaunD/pacis

GitHub: zenShaunD/pacis

开源离线优先的 AI 驱动网络安全紫队平台,将攻防测试、威胁情报、取证和应急响应统一于一个终端界面。

Stars: 1 | Forks: 0

# PACIS ``` ██████╗ █████╗ ██████╗██╗███████╗ ██╔══██╗██╔══██╗██╔════╝██║██╔════╝ ██████╔╝███████║██║ ██║███████╗ ██╔═══╝ ██╔══██║██║ ██║╚════██║ ██║ ██║ ██║╚██████╗██║███████║ ╚═╝ ╚═╝ ╚═╝ ╚═════╝╚═╝╚══════╝ ``` **持久自主网络封锁系统** *通过封锁实现和平* [![License: AGPL v3](https://img.shields.io/badge/License-AGPL%20v3-blue.svg)](LICENSE) [![Python 3.11+](https://img.shields.io/badge/python-3.11+-blue.svg)](https://python.org) [![Tests](https://img.shields.io/badge/tests-1073%20passing-brightgreen.svg)](#) [![Version](https://img.shields.io/badge/version-1.2.0-teal.svg)](https://github.com/zenShaunD/pacis/releases/tag/v1.2.0) 由 **Zen (Shaun Patrik Dyess)** / [ZPAK / ZenPeak](mailto:peacezen@proton.me) 构建 ## 什么是 PACIS? PACIS 是一个**开源、离线优先的网络安全平台**,将攻击性测试、防御加固、威胁情报、取证和应急响应统一到一个终端 UI 中。它封装了 **54 个精选安全工具**,配备专用运行器,并通过通用的动态发现和执行机制支持**整个 BlackArch Linux 生态系统(2,852+ 工具)**。所有工具通过实时子进程执行,输出实时流式传输,TUI 基于 [Textual](https://textual.textualize.io/) 构建。 **v1.0 提供完整的平台功能**:基于 Valkey 的持久化状态、通过 Ollama 实现的 LLM 驱动的 Agent 编排、带有可视化仪表盘的实时数据包分析、自动化紫队循环、Playbook 驱动的应急响应、高级 HTML/STIX/Navigator 报告,以及用于扩展的插件系统。 PACIS 可在商用硬件上离线运行。无云依赖。无遥测。您的威胁数据保留在您的基础设施中。 ## v1.2.0 新增功能 — BlackArch 通用集成 ### 2,852+ BlackArch 工具 - **动态工具发现** — 通过 PATH 扫描自动检测系统上的每一个 BlackArch、Kali 和 Parrot 工具 - **通用执行器** — 通过子进程安全运行任何已发现的工具,具有超时强制、审计日志记录和危险工具标记功能 - **Agent 工具桥接** — 所有 12 个 PACIS Agent 都可以通过 4 个通用功能工具发现、搜索和执行 2,852 个工具中的任何一个 - **47 类别映射** — 每个 BlackArch 类别自动映射到相应的 PACIS Agent - **BlackArch 军火库 TUI** — 新的 Screen [G] 用于浏览、搜索、过滤和运行完整数据库中的工具 - **安装建议** — 查看缺少哪些工具并获取 `pacman -S` 安装命令 ### v1.1.0 — CI/CD 与审计修复 - GitHub Actions CI/CD 流水线,包含 lint、测试、构建和发布阶段 - 修复了综合代码库审计中的 47 个审计发现 - 具有 JWT 身份验证和 WebSocket 流式传输的 RESTful API - 964 → 1,073 个通过的测试 ## v1.0 新增功能 ### Valkey 持久层 - **发现队列** — 按 CPS 分数在 Valkey 有序集合中排序 - **资产存储** — 扫描历史和会话跟踪由 Valkey 哈希支持 - **扫描结果缓存** — 基于 TTL 的过期机制 - **Pub/sub 事件流** — 用于实时 TUI 更新 - **审计跟踪** — 持久化到 Valkey 流(+ JSONL 离线备份) - 当 Valkey 不可用时优雅回退到 JSON 文件 ### LLM 驱动的 Agent 编排 - **AgentRuntime** — 使用 Ollama 作为 LLM 后端驱动所有 12 个 Agent - **自然语言命令解析器** — 输入 `scan 192.168.1.0/24`,PACIS 会自动处理其余部分 - **基于规则的回退** — 当没有 LLM 可用时(完全离线功能) - **PurpleTeamLoop** — 自动化 MAP → ATTACK → DETECT → GAP → FIX → RETEST → REPORT 循环 - 每次工具调用时强制执行范围验证 — 没有数据包能在未经范围验证的情况下发出 ### 实时数据包分析仪表盘 - **协议分布** — 实时水平条形图 - **连接跟踪器** — 活动流,包含源/目标、协议、字节、持续时间 - **数据包速率迷你图** — 当前、平均和峰值 pkt/s - **Top talkers** — 按流量排名的源/目标 IP - **流量警报** — 自动端口扫描检测和异常标记 ### Playbook 引擎 - YAML 定义带有模板变量的响应 Playbook - 内置操作:iptables 阻止/解除阻止、警报、扫描、证据收集 - 基于条件的步骤执行,具有失败处理和升级机制 - 5 个预构建的 Playbook:暴力破解、数据渗出、横向移动、端口扫描、勒索软件 ### 高级报告 - **HTML 报告** — 深色主题、交互式、打印就绪,带有 CPS 条形图 - **MITRE ATT&CK Navigator 层** — 颜色编码的技术覆盖图 - **STIX 2.1 包** — 结构化威胁情报交换格式 - **执行摘要** — 为领导层提供的简明文本输出 - **JSON 导出** — 完整的机器可读数据转储 ### 插件系统 - 注册自定义工具、运行器、Agent、富化源和报告格式 - 从内置、用户(~/.pacis/plugins/)和配置定义的路径加载插件 - 用于扫描前/后、发现事件和报告生成的生命周期钩子 - 配置验证器 — 检查范围、权重、模型、工具和目录 ## 功能 (v1.0) PACIS 附带 **17 个交互式 TUI 屏幕**,覆盖完整的网络安全生命周期: | 模块 | 关键工具 | 描述 | |--------|-----------|-------------| | **侦察与扫描** | nmap, masscan, subfinder, httpx | 端口扫描、服务检测、OS 指纹识别、DNS 枚举 | | **攻击与利用** | Nuclei, SQLmap, Hydra, Metasploit | 范围强制的漏洞扫描和利用 | | **防御与响应** | iptables, ss, sysctl | 防火墙管理、IP 阻止、系统加固 | | **网络分析** | tcpdump, tshark, traceroute | 实时数据包捕获、协议分析、ARP 扫描 | | **仪表盘与监控** | psutil | 自动刷新的 CPU/RAM/磁盘/网络 I/O 指标 | | **威胁情报** | NVD, EPSS, CISA KEV, WHOIS | CVE 查询、利用概率、已知被利用漏洞检查 | | **报告** | 内置 | HTML, STIX 2.1, MITRE Navigator, 执行摘要, JSON | | **WebApp 扫描** | Nikto, Gobuster, WhatWeb | Web 漏洞扫描、目录爆破、技术指纹识别 | | **密码与哈希** | hashid, John the Ripper, Hashcat | 哈希识别和字典/暴力破解 | | **PCAP 分析** | tshark | 协议摘要、凭证提取、实时流量可视化 | | **日志分析** | 内置解析器 | auth.log 取证、syslog 分析、暴力破解检测 | | **文件与恶意软件** | file, strings, YARA, VirusTotal | 静态文件分析、熵、恶意软件模式匹配 | | **无线侦察** | iwlist, airodump-ng, aircrack-ng | 802.11 网络发现和捕获 | | **应急响应** | Playbook 引擎 | 自动化分类、遏制、Playbook 执行 | | **设置与配置** | ConfigValidator | 范围管理、工具状态、配置验证 | | **帮助** | — | 快捷键、模块参考、安装指南 | ### 统计 | 指标 | 数量 | |--------|-------| | TUI 屏幕 | 17 | | 注册工具包装器 | 31 | | 运行器函数 | 46 | | 通过的测试 | 964 | | AI Agent 定义 | 12 | | v1.0 新模块 | 7 | ## 快速开始 ### 通过 pip 安装(推荐) ``` # 通过 wheel 安装(从 GitHub Releases 下载) pip install pacis-1.0.0-py3-none-any.whl # 或从源码安装 git clone https://github.com/zenShaunD/pacis.git cd pacis pip install -e ".[dev]" # 启动 TUI pacis ``` ### 可选:安装 Valkey ``` # Ubuntu/Debian sudo apt install valkey-server sudo systemctl start valkey # 或通过 Docker docker run -d --name valkey -p 6379:6379 valkey/valkey:latest ``` ### 可选:安装 Ollama ``` # 安装 Ollama curl -fsSL https://ollama.ai/install.sh | sh # 拉取默认模型 ollama pull qwen3:8b # PACIS 自动检测 localhost:11434 上的 Ollama ``` ### 安装系统工具 PACIS 通过子进程封装外部工具。安装您需要的工具: ``` # 核心扫描与网络 sudo apt install nmap masscan tcpdump tshark whois dnsutils # Web 应用扫描 sudo apt install nikto gobuster dirb # 密码破解 sudo apt install john hashcat pip install hashid # 无线 sudo apt install aircrack-ng # 恶意软件分析 sudo apt install yara # 漏洞利用 sudo apt install sqlmap hydra go install github.com/projectdiscovery/nuclei/v3/cmd/nuclei@latest ``` PACIS 会优雅降级 —— 缺少的工具会显示带有安装提示的清晰错误消息。启动 TUI 不需要任何特定工具。 ## 首次启动 首次运行时,PACIS 会显示一个**设置向导**(灵感来自 airgeddon),它会: 1. 检测所有已安装的安全工具及其版本 2. 显示带有 IP 地址的网络接口 3. 检查 Valkey 和 Ollama 的连接性 4. 验证配置文件 5. 高亮显示缺少的必需工具与可选工具 设置完成后,您将进入 **4x4 主仪表盘**,所有 16 个模块都可以通过数字键或鼠标点击访问。 ## 自然语言命令 PACIS 可以理解 TUI 命令栏中的自然语言: ``` scan 192.168.1.0/24 → nmap network scan attack 10.0.0.50 → nuclei vulnerability scan defend → system hardening block 10.0.0.99 → iptables IP block capture eth0 → tcpdump packet capture crack hash.txt → john/hashcat cracking lookup CVE-2024-12345 → NVD/EPSS enrichment hunt lateral movement → threat hunting purple 192.168.1.0/24 → full MAP→ATTACK→DETECT→GAP→FIX→RETEST cycle report html → generate HTML report status → dashboard overview ``` 当 Ollama 可用时,模糊的命令会获得 LLM 辅助解析。如果没有 Ollama,正则表达式将处理所有标准命令。 ## 架构 ``` ┌─────────────────────────────────────────────────────────────────┐ │ PRESENTATION LAYER │ │ TUI (Textual) · CLI entry point · Real-time streaming output │ ├─────────────────────────────────────────────────────────────────┤ │ AGENT LAYER │ │ 12 specialized agents · AgentRuntime · PurpleTeamLoop │ │ LLM routing (Ollama) · Natural language command parser │ ├─────────────────────────────────────────────────────────────────┤ │ ORCHESTRATION LAYER │ │ Scope enforcement · CPS scoring · Playbook engine │ │ Plugin system · Config validation │ ├─────────────────────────────────────────────────────────────────┤ │ TOOL LAYER (GPL via subprocess ONLY) │ │ 31 wrappers: nmap, masscan, nuclei, nikto, gobuster, john, │ │ hashcat, tshark, aircrack-ng, yara, iptables, and more │ ├─────────────────────────────────────────────────────────────────┤ │ ENRICHMENT LAYER │ │ EPSS · CISA KEV · NVD · WHOIS · VirusTotal · AbuseIPDB │ ├─────────────────────────────────────────────────────────────────┤ │ DATA LAYER │ │ Valkey (primary) · JSON file (fallback) · Audit JSONL stream │ │ Pub/sub events · Session tracking · Scan cache (TTL) │ ├─────────────────────────────────────────────────────────────────┤ │ REPORTING LAYER │ │ HTML · MITRE Navigator · STIX 2.1 · Executive Summary · JSON │ └─────────────────────────────────────────────────────────────────┘ CROSS-CUTTING: Scope Validator · CPS Engine · Audit Logger · Plugin Registry ``` ### Agent 层次结构 ``` ┌──────────────────────────────┐ │ CUSTOS (Orchestrator) │ └──────────────┬───────────────┘ │ ┌────────────────────────────┼─────────────────────────┐ │ │ │ ┌──────▼──────┐ ┌───────▼──────┐ ┌───────▼──────┐ │ RED SIDE │ │ BLUE SIDE │ │ SUPPORT │ │ Explorator │ │ Scutum │ │ Memoria │ │ Gladius │ │ Sapientia │ │ Nuntius │ │ │ │ Vigil │ │ Esca │ │ │ │ Faber │ │ Discipulus │ │ │ │ Iudex │ │ │ └─────────────┘ └──────────────┘ └──────────────┘ ``` ## 已集成工具 (31) | 类别 | 工具 | 许可证 | |----------|------|---------| | Recon | nmap, masscan, subfinder, httpx, whatweb | GPL-2.0 / MIT | | Exploitation | nuclei, msfconsole, sqlmap, hydra | MIT / BSD / GPL / AGPL | | WebApp | nikto, gobuster, dirb | GPL-2.0 / Apache-2.0 | | Password | john, hashcat, hashid | GPL-2.0 / MIT / GPL-3.0 | | Detection | suricata, sigma, yara | GPL-2.0 / LGPL / BSD | | Wireless | airmon-ng, airodump-ng, aircrack-ng | GPL-2.0 | | Forensics | volatility3, tshark, tcpdump | PSF / GPL-2.0 / BSD | | Defense | iptables, nft | GPL-2.0 | | Deception | opencanary | BSD-3-Clause | | Runtime | git, python3 | GPL-2.0 / PSF | 所有 GPL 工具仅通过**子进程**调用 —— 从不作为 Python 库导入,保持了 PACIS 的 AGPLv3 许可边界。 ## 安全模型 - **范围验证器**:每次工具调用在发送任何数据包之前,都会根据 `config/scope.yml` 验证目标 - **审计日志记录器**:所有特权操作写入仅追加的 JSONL + Valkey 流 - **无 GPL 导入**:所有 GPL 工具仅通过子进程调用 - **无硬编码密钥**:所有凭证通过 `.env` / 环境变量管理 - **输入验证**:外部数据通过 Pydantic v2 模型处理 - **无危险模式**:无 `eval()`、无 `pickle`、不对不可信输入使用 `shell=True` - **Playbook 安全性**:模板变量安全解析,无任意代码执行 ## 配置 ``` config/ ├── scope.yml # Allowed targets and exclusions ├── priority_weights.yml # CPS scoring weights (sum to 1.0) ├── agent_models.yml # LLM model assignments per agent ├── notification_webhooks.yml # Alert destinations └── plugins.yml # Plugin directory paths playbooks/ ├── brute_force_response.yml ├── exfiltration_response.yml ├── lateral_movement_response.yml ├── port_scan_response.yml └── ransomware_response.yml ``` 运行 `pacis config validate` 以检查所有配置文件。 ## 开发 ``` # 克隆并安装开发依赖 git clone https://github.com/zenShaunD/pacis.git cd pacis pip install -e ".[dev]" # 运行测试(964 个通过) pytest tests/ -v # Lint ruff check pacis/ tests/ # 构建包 python -m build ``` ## 贡献 PACIS 欢迎网络安全社区的贡献。 1. 运行 `pytest tests/` —— 所有 964+ 个测试必须通过 2. 对于主要功能或架构更改,请先开 issue 3. 遵循 [Conventional Commits](https://www.conventionalcommits.org/) 编写提交信息 如有问题:peacezen@proton.me ## 许可证 PACIS 采用**双重许可**: - **社区版**:[AGPLv3](LICENSE) —— 免费用于开源、学术和个人使用 - **企业版**:用于专有部署的商业许可证 —— 联系方式:peacezen@proton.me ## 链接 | 资源 | URL | |----------|-----| | GitHub | https://github.com/zenShaunD/pacis | | Releases | https://github.com/zenShaunD/pacis/releases | | Issues | https://github.com/zenShaunD/pacis/issues | | Email | peacezen@proton.me | *由 **Zen (Shaun Patrik Dyess)** / ZPAK / ZenPeak 构建 — 通过封锁实现和平*
标签:AGPL, AI风险缓解, API接口, BlackArch, CAI, CAI框架, CISA项目, Cloudflare, CSV导出, DLL 劫持, FTP漏洞扫描, GitHub, Google搜索, HTTP工具, IP 地址批量处理, Linux安全工具, LLM评估, MITRE ATT&CK, Modbus, Mr. Robot, Ollama, OpenCanary, PE 加载器, Python, SOAR, STIX, StruQ, Textual, TUI, ZenPeak, ZPAK, 人工智能, 后渗透, 大语言模型, 威胁情报, 安全编排, 密码管理, 幻觉检测, 库, 应急响应, 开发者工具, 插件系统, 攻击模拟, 数字取证, 数据展示, 无后门, 无线安全, 流量嗅探, 用户模式Hook绕过, 离线优先, 空气隔离, 紫队平台, 红队, 终端用户界面, 网络安全, 网络安全审计, 自主拦截, 自动化与编排, 自动化脚本, 请求拦截, 逆向工具, 隐私保护, 驱动签名利用