SecAI-Hub/SecAI_OS

GitHub: SecAI-Hub/SecAI_OS

基于 Fedora Atomic 的可启动本地优先 AI 操作系统,通过多层纵深防护和模型隔离管道在离线或受限网络环境中提供安全的 AI 推理与生成能力。

Stars: 0 | Forks: 0

# SecAI OS [![CI](https://static.pigsec.cn/wp-content/uploads/repos/2026/03/4df3c77d00081447.svg)](https://github.com/SecAI-Hub/SecAI_OS/actions/workflows/ci.yml) [![License: Apache-2.0](https://img.shields.io/badge/License-Apache_2.0-blue.svg)](LICENSE) [![Fedora 42](https://img.shields.io/badge/Fedora-42-blue)](https://fedoraproject.org/) [![uBlue](https://img.shields.io/badge/Built_on-uBlue-purple)](https://universal-blue.org/) **可启动的本地优先 AI 操作系统,具备密封运行时、模型隔离管道、气闸出口控制、加密保险库和私有 Tor 路由搜索功能。** 基于 [uBlue](https://universal-blue.org/) (Fedora Atomic / Silverblue) 构建。所有 AI 计算 —— 推理和生成 —— 均在设备本地进行。默认拒绝网络出口。首次启动时自动检测 GPU。 ``` +-------------------+ +-------------------+ +-------------------+ | A) Base OS | --> | B) Acquisition | --> | C) Quarantine | | immutable image | | dirty net / | | 7-stage pipeline | | signed updates | | allowlist only | | fully automatic | +-------------------+ +-------------------+ +--------+----------+ | +-------------------+ +--------v----------+ | E) Airlock | <-- | D) Runtime | | sanitized egress | | sealed inference | | (optional) | | no internet | +-------------------+ +-------------------+ ``` ## 适用人群 - **注重隐私的 AI 用户**,希望在无云服务的情况下使用 LLM 和图像生成 - **安全研究人员**,评估模型供应链风险 - **物理隔离环境**,需要无互联网依赖的 AI 推理 - **组织机构**,需要可审计、策略强制的 AI 工作站 ## 独特之处 - **默认拒绝出口** —— 除非通过气闸显式启用,否则运行时无互联网访问。 - **供应链不信任** —— 模型在通过 7 阶段隔离管道(源、格式、完整性、来源、静态扫描、行为测试、扩散扫描)前不受信任。 - **免手动安全** —— 所有扫描、验证和提升自动进行。用户无需手动运行安全工具。 - **确定性策略** —— 提升至“受信任”状态基于规则(签名、哈希、扫描、测试),而非临时决定。 - **短生命周期 Worker** —— 无 swap,临时数据使用 tmpfs,推理 Worker 在会话间重启。 - **20+ 防御层** —— 从 UEFI Secure Boot 和 TPM2 到 seccomp-BPF、Landlock、Canary 文件和 3 级紧急擦除。 ## 快速开始 ### 安装 ``` # 首先 Rebase 到未签名 image sudo rpm-ostree rebase ostree-unverified-registry:ghcr.io/sec_ai/secai_os:latest sudo systemctl reboot # 然后 Rebase 到已签名 image sudo rpm-ostree rebase ostree-image-signed:docker://ghcr.io/sec_ai/secai_os:latest sudo systemctl reboot # 设置加密 vault sudo /usr/libexec/secure-ai/setup-vault.sh /dev/sdX ``` 详细指南请参阅 [docs/install/](docs/install/):[裸机](docs/install/bare-metal.md) | [虚拟机](docs/install/vm.md) | [开发](docs/install/dev.md) ### 获取第一个模型 打开 `http://127.0.0.1:8480`,进入 **Models**,点击目录中任意模型的 **Download**。7 阶段隔离管道将自动运行。提升完成后,模型即可使用。 或通过 CLI: ``` sudo cp your-model.gguf /var/lib/secure-ai/quarantine/incoming/ journalctl -u secure-ai-quarantine-watcher -f # watch pipeline ``` ## 架构 ### 服务 | 服务 | 端口 | 语言 | 用途 | |---------|------|----------|---------| | Registry | 8470 | Go | 受信任的工件清单,只读模型存储 | | Tool Firewall | 8475 | Go | 策略控制的工具调用网关 | | Web UI | 8480 | Python | 聊天,图像/视频生成,模型管理 | | Airlock | 8490 | Go | 净化出口代理(默认禁用) | | Inference Worker | 8465 | llama.cpp | LLM 推理 (CUDA / ROCm / Vulkan / Metal / CPU) | | Diffusion Worker | 8455 | Python | 图像和视频生成 | | Quarantine | -- | Python | 7 阶段验证、扫描和提升管道 | | Search Mediator | 8485 | Python | Tor 路由网页搜索,含 PII 脱敏 | | SearXNG | 8888 | Python | 自托管元搜索(尊重隐私的引擎) | | Tor | 9050 | C | 匿名 SOCKS5 代理 | 设计决策和服务依赖关系请参阅 [docs/architecture.md](docs/architecture.md)。各服务文档:[registry](docs/components/registry.md) | [tool-firewall](docs/components/tool-firewall.md) | [airlock](docs/components/airlock.md) | [quarantine](docs/components/quarantine.md) | [search-mediator](docs/components/search-mediator.md) ### 7 阶段隔离管道 每个模型都通过相同的全自动管道: | 阶段 | 名称 | 功能 | |-------|------|-------------| | 1 | **Source Policy** | 根据白名单验证来源 | | 2 | **Format Gate** | 验证头部,拒绝不安全格式 (pickle, .pt, .bin) | | 3 | **Integrity Check** | SHA-256 哈希锁定验证 | | 4 | **Provenance** | Cosign 签名验证 | | 5 | **Static Scan** | ModelScan + 熵分析 + gguf-guard(权重级异常检测) | | 6 | **Behavioral Test** | 跨 10 个攻击类别的 22 个对抗性提示(仅限 LLM) | | 7 | **Diffusion Scan** | 配置完整性,符号链接检测(仅限扩散模型) | ## 安全模型 ### 防御层 | 层级 | 机制 | |-------|-----------| | **Boot** | 不可变 OS (rpm-ostree),cosign 验证更新,greenboot 自动回滚 | | **Secure Boot** | UEFI Secure Boot + MOK 签名,TPM2 保险库密钥密封 (PCR 0,2,4,7) | | **Kernel** | 强制 IOMMU,ASLR,slab_nomerge,init_on_alloc/free,lockdown=confidentiality | | **Memory** | 禁用 Swap/zswap,丢弃核心转储,mlock 保护秘密,TEE 检测 | | **Network** | nftables 默认拒绝出口,DNS 限速,流量分析对抗措施 | | **Filesystem** | 加密保险库 (LUKS2/AES-256/Argon2id),严格权限,fs-verity | | **Models** | 7 阶段隔离管道及 gguf-guard 深度完整性扫描 | | **Tools** | 默认拒绝策略,路径白名单,遍历保护,速率限制 | | **Egress** | Airlock 默认禁用,PII/凭证扫描,目的地白名单 | | **Search** | Tor 路由,差分隐私(诱饵查询,k-匿名性),注入检测 | | **Audit** | 哈希链式防篡改日志,定期验证 | | **Auth** | Scrypt 密码哈希,限速登录,会话管理 | | **Vault** | 空闲 30 分钟后自动锁定,TPM2 密封密钥 | | **Services** | Systemd 沙箱:ProtectSystem, PrivateNetwork, seccomp-bpf, Landlock | | **GPU** | 特定厂商 DeviceAllow,所有 Worker 启用 PrivateNetwork | | **Clipboard** | 禁用 VM 剪贴板代理,每 60 秒自动清除 | | **Tripwire** | 敏感目录中的 Canary 文件,inotify 实时监控 | | **Emergency** | 3 级紧急模式(锁定 / 擦除密钥 / 完全擦除),带密码关卡 | | **Updates** | Cosign 验证的 rpm-ostree,分阶段工作流,greenboot 自动回滚 | 威胁类别、残余风险和安全不变量请参阅 [docs/threat-model.md](docs/threat-model.md)。所有 30 个里程碑的实施状态请参阅 [docs/security-status.md](docs/security-status.md)。 ### 验证镜像签名 ``` cosign verify --key cosign.pub ghcr.io/sec_ai/secai_os:latest ``` ## 硬件支持 GPU 在**首次启动时自动检测**。无需手动配置。 | 厂商 | GPU | 后端 | LLM | Diffusion | |--------|------|---------|-----|-----------| | **NVIDIA** | RTX 5090/5080/4090/4080/3090/3080 | CUDA | Full offload | Full offload | | **AMD** | RX 7900 XTX/XT, RX 7800/7700, RDNA/CDNA | ROCm (HIP) | Full offload | Full offload | | **Intel** | Arc A770/A750/A580, Arc B-series | XPU (oneAPI) | Via Vulkan | Via IPEX | | **Apple** | M4/M3/M2/M1 (Pro/Max/Ultra) | Metal / MPS | Full offload | MPS acceleration | | **CPU** | x86_64 (AVX2/AVX-512), ARM64 (NEON) | CPU | 优化 | 功能可用 | **最低配置:** 16 GB RAM, 8 GB VRAM, 64 GB 存储。详细规格请参阅 [docs/compatibility-matrix.md](docs/compatibility-matrix.md)。 ## 配置 所有配置位于 `/etc/secure-ai/`(内置于镜像,运行时只读): | 文件 | 用途 | |------|---------| | `config/appliance.yaml` | 模式,路径,推理/扩散设置,服务绑定 | | `policy/policy.yaml` | Tool firewall,Airlock,隔离阶段,搜索设置 | | `policy/models.lock.yaml` | 锁定的模型哈希(供应链验证) | | `policy/sources.allowlist.yaml` | 受信任的模型来源 | 完整 Schema 参考请参阅 [docs/policy-schema.md](docs/policy-schema.md)。带注释的示例请参阅 [examples/sample-policy.yaml](examples/sample-policy.yaml)。 ## 文档 | 文档 | 描述 | |----------|-------------| | [Architecture](docs/architecture.md) | 系统设计,区域,数据流,服务依赖 | | [Threat Model](docs/threat-model.md) | 威胁类别,不变量,残余风险 | | [API Reference](docs/api.md) | 所有服务的 HTTP API | | [Policy Schema](docs/policy-schema.md) | 完整 policy.yaml Schema 参考 | | [Security Status](docs/security-status.md) | 所有 30 个里程碑的实施状态 | | [Test Matrix](docs/test-matrix.md) | 测试覆盖:跨 Go, Python, shell 的 620+ 测试 | | [Compatibility Matrix](docs/compatibility-matrix.md) | GPU, VM 和硬件支持 | | [Security Test Matrix](docs/security-test-matrix.md) | 安全功能测试覆盖 | | [FAQ](docs/faq.md) | 常见问题 | | [Glossary](docs/glossary.md) | 关键术语和概念 | | [Non-Goals](docs/non-goals.md) | SecAI OS 不尝试做的事 | ### 组件文档 | 组件 | 描述 | |-----------|-------------| | [Registry](docs/components/registry.md) | 受信任的工件清单和模型存储 | | [Tool Firewall](docs/components/tool-firewall.md) | 策略控制的工具调用 | | [Airlock](docs/components/airlock.md) | 净化出口代理 | | [Quarantine](docs/components/quarantine.md) | 7 阶段扫描管道 | | [Search Mediator](docs/components/search-mediator.md) | Tor 路由网页搜索 | ### 安装指南 | 指南 | 描述 | |-------|-------------| | [Bare Metal](docs/install/bare-metal.md) | 在专用硬件上全新安装 | | [Virtual Machine](docs/install/vm.md) | VirtualBox, VMware, KVM/QEMU | | [Development](docs/install/dev.md) | 无需 OS rebase 的本地开发 | ### 示例 | 示例 | 描述 | |---------|-------------| | [Import a GGUF Model](examples/import-gguf-model.md) | 安全模型导入演练 | | [Quarantine Promotion](examples/promote-through-quarantine.md) | 完整管道演练 | | [Run Fully Offline](examples/run-fully-offline.md) | 物理隔离操作 | | [Enable Web Search](examples/enable-web-search.md) | Tor 路由搜索设置 | | [Vault Management](examples/lock-unlock-vault.md) | 锁定,解锁,保持活动 | | [Recover from Failed Update](examples/recover-failed-update.md) | 回滚和恢复 | | [VM vs Bare Metal](examples/vm-vs-bare-metal.md) | 比较和权衡 | | [Add Model Source](examples/add-model-source.md) | 白名单新来源 | ### 机器可读资源 | 资源 | 描述 | |----------|-------------| | [OpenAPI Spec](schemas/openapi.yaml) | 所有 HTTP API 的 OpenAPI 3.0 规范 | | [Policy Schema](schemas/policy.schema.json) | policy.yaml 的 JSON Schema | | [Appliance Schema](schemas/appliance.schema.json) | appliance.yaml 的 JSON Schema | | [Service Diagram](docs/service-diagram.md) | Mermaid 依赖关系图 | | [llms.txt](llms.txt) | LLM 友好的项目摘要 | | [llms-full.txt](llms-full.txt) | 扩展的 LLM 友好参考 | ## 使用设备 ### Web 界面 打开 `http://127.0.0.1:8480`: - **Chat** —— LLM 交互,可选 Tor 路由网页搜索 - **Models** —— 浏览目录,一键下载,导入,验证哈希 **Generate** —— 使用扩散模型进行 text-to-image, image-to-image, text-to-video - **Security** —— 服务健康,Secure Boot/TPM2 状态,审计链,紧急应急 - **Updates** —— 分阶段更新工作流(检查 / 暂存 / 应用 / 回滚) - **Settings** —— Vault 锁定/解锁,密码更改,会话管理 ### 紧急应急 ``` sudo securectl panic 1 # Lock (reversible) sudo securectl panic 2 --confirm "passphrase" # Wipe keys sudo securectl panic 3 --confirm "passphrase" # Full wipe (DATA UNRECOVERABLE) ``` 也可通过 Web UI(Security 页面)和 API (`POST /api/emergency/panic`) 使用。 ### Vault 管理 ``` curl http://127.0.0.1:8480/api/vault/status # Check status curl -X POST http://127.0.0.1:8480/api/vault/lock # Lock curl -X POST http://127.0.0.1:8480/api/vault/unlock \ # Unlock -H 'Content-Type: application/json' \ -d '{"passphrase": "your-passphrase"}' ``` ### 网页搜索(Tor 路由,可选) ``` # 在 policy 中启用,然后启动 search stack sudo systemctl start secure-ai-tor secure-ai-searxng secure-ai-search-mediator ``` 隐私:Tor 路由,PII 脱敏,注入检测,差分隐私(诱饵查询),审计日志。请参阅 [examples/enable-web-search.md](examples/enable-web-search.md)。 ## 运行测试 ``` # Go 测试(共 26 个) cd services/registry && go test -v -race ./... cd services/tool-firewall && go test -v -race ./... cd services/airlock && go test -v -race ./... # Python 测试(共 620+ 个) pip install pytest flask requests pyyaml python -m pytest tests/ -v # Shell 脚本 linting shellcheck files/system/usr/libexec/secure-ai/*.sh files/scripts/*.sh ``` 完整分解请参阅 [docs/test-matrix.md](docs/test-matrix.md)。 ## 路线图
所有 30 个里程碑(点击展开) - [x] **M0** -- 威胁模型,数据流,不变量,策略文件 - [x] **M1** -- 可启动 OS,加密 Vault,GPU 驱动 - [x] **M2** -- 受信任 Registry,哈希锁定,cosign 验证 - [x] **M3** -- 7 阶段隔离管道 - [x] **M4** -- Tool Firewall,默认拒绝策略 - [x] **M5** -- 在线 Airlock,净化 - [x] **M6** -- Systemd 沙箱,内核加固,nftables - [x] **M7** -- CI/CD, Go/Python 测试, shellcheck - [x] **M8** -- 图像/视频生成,Diffusion Worker - [x] **M9** -- 多 GPU 支持 - [x] **M10** -- Tor 路由搜索,SearXNG,PII 脱敏 - [x] **M11** -- VM 支持,OVA/QCOW2 构建 - [x] **M12** -- 模型完整性监控 - [x] **M13** -- 防篡改审计日志 - [x] **M14** -- 本地密码认证 - [x] **M15** -- Vault 自动锁定 - [x] **M16** -- Seccomp-BPF + Landlock 进程隔离 - [x] **M17** -- Secure Boot + TPM2 度量启动 - [x] **M18** -- 内存保护(swap/zswap/核心转储/mlock/TEE) - [x] **M19** -- 流量分析保护 - [x] **M20** -- 搜索的差分隐私 - [x] **M21** -- 剪贴板隔离 - [x] **M22** -- Canary/Trapwire 系统 - [x] **M23** -- 紧急擦除(3 级应急) - [x] **M24** -- 更新验证 + 自动回滚 - [x] **M25** -- UI 优化 + 安全加固 - [x] **M26** -- Fail-closed 管道,服务认证,CSRF,供应链锁定 - [x] **M27** -- 增强扫描器,来源清单,fs-verity - [x] **M28** -- 权重分布指纹识别 - [x] **M29** -- Garak LLM 漏洞扫描器 - [x] **M30** -- gguf-guard 深度 GGUF 完整性扫描器
## 项目结构 ``` recipes/ BlueBuild recipe (image definition) files/ system/ etc/secure-ai/ Policy and config files baked into image etc/nftables/ Firewall rules (default-deny egress) usr/lib/systemd/ Systemd service units (sandboxed) usr/libexec/ Helper scripts (firstboot, vault, securectl, canary) services/ registry/ Go -- Trusted Registry tool-firewall/ Go -- Policy engine + tool gateway airlock/ Go -- Online egress proxy quarantine/ Python -- 7-stage verification + scanning pipeline diffusion-worker/ Python -- Image/video generation search-mediator/ Python -- Tor-routed web search ui/ Python/Flask -- Web UI tests/ 620+ Python tests, 26 Go tests docs/ Architecture, API, threat model, install guides schemas/ OpenAPI spec, JSON Schema for config files examples/ Task-oriented walkthroughs ``` ## 贡献 本地开发设置、编码规范和 PR 规则请参阅 [CONTRIBUTING.md](CONTRIBUTING.md)。 ## 安全 漏洞报告和威胁边界请参阅 [SECURITY.md](SECURITY.md)。 ## 许可证 [Apache License 2.0](LICENSE)
标签:DAST, DNS 反向解析, Fedora, HTTP工具, IP 地址批量处理, SIEM 集成, Silverblue, uBlue, 不可变基础设施, 人工智能操作系统, 加密保险库, 匿名网络, 大模型安全, 安全操作系统, 密封运行时, 恶意软件分析, 日志审计, 本地优先AI, 本地计算, 模型隔离, 气隙环境, 离线推理, 网络出口控制, 网络安全, 网络安全, 逆向工具, 防御性安全, 隐私保护, 隐私保护, 零信任架构