valkyoth/vakaheim
GitHub: valkyoth/vakaheim
一款以 Rust 编写、证据原生的分布式 SIEM + SOAR 安全平台,当前处于架构奠基阶段,旨在实现从数据采集到检测响应的全链路安全监控。
Stars: 0 | Forks: 0
Vakaheim — Vigil 之境。
一款安全优先、证据原生的 SIEM 平台,采用 Rust 编写,通过小而独立的、经过评审的版本发布。
# Vakaheim Vakaheim 是一个计划中的分布式安全证据、推理、检测、调查和响应平台。原始观测数据将转换为不可篡改的事实,事实保留其来源,检测生成可解释的结果,结果汇聚成事件,事件可能触发可控且可逆的操作。该平台旨在作为一个小型设备、企业集群、端点收集器、隔离部署、主权多区域系统或选定的嵌入式 `no_std` 核心运行。服务器不需要 Kafka、Elasticsearch、PostgreSQL、Redis、ClickHouse、外部对象数据库或外部工作流平台。当前版本为 `0.1.0`。它确立了架构宪法、仓库策略、安全关卡、`no_std` crate 边界和发布计划。它不是一个可运行的 SIEM、收集器、数据库、查询引擎、检测器或响应系统。Vakaheim 采用欧洲联盟公共许可证 1.2(European Union Public Licence 1.2)授权。## 当前基础| 能力 | 状态 | 当前范围 || --- | --- | --- || Rust workspace | 活跃 | Edition 2024, resolver 3, 锁定稳定版 Rust 1.97.1 || `no_std` core | 活跃 | 外观层和初始基础 crate 在没有 `std` 的情况下编译 || 依赖策略 | 活跃 | 无第三方运行时、构建或开发 crate || 发布策略 | 活跃 | 每个 crate 都设置了 `publish = false`;禁止发布到 crates.io || 不安全策略 | 活跃 | 当前所有 crate 中禁止使用不安全 Rust || 模块化关卡 | 活跃 | 非生成的 Rust 源文件不得超过 500 行 || 安全关卡 | 活跃 | 格式检查、Lint、测试、文档、策略检查、SBOM、审计和渗透测试交接 || 产品能力 | 计划中 | 所有可运行的 SIEM 功能仍是通往 1.0 的里程碑 |## 架构法则- 确定性的安全逻辑属于可移植的 `no_std` crate。- 操作系统、存储、网络、UI 和其他主机集成属于明确且范围狭窄的 `std` 适配器。- 不受信任的字节通过已检查的光标解码;它们从不被转换为 Rust 或 C 布局结构。- 资源使用是有界限的,溢出是显式的,畸形输入不会触发恐慌(panic),且禁止静默数据丢失。- 证据保留来源、解析器、映射、策略、规则和操作谱系。- AI 可以提议和解释;它不能激活规则、抑制遥测或执行响应操作。- Wasm 是扩展边界,不是唯一的沙箱。- 不允许引入安全敏感的依赖项。当前工作空间没有第三方 crate。- 每个标记版本都需要精确提交(exact-commit)的渗透测试证据。## 工作空间| Crate | 环境 | 目的 | 是否发布 || --- | --- | --- | --- || `vakaheim` | `no_std` | 公共内部外观层,覆盖已引入的基础 crate | 从不 || `vakaheim-core` | `no_std` | 可移植的身份和未来的共享基础契约 | 从不 || `vakaheim-bytes` | `no_std` | 已检查的字节处理边界;光标工作将在 0.2.0 中开始 | 从不 |只有在安全、权限、可移植性、测试、公共 API 或发布边界证明了拆分的合理性时,才会添加新的 crate。产品二进制文件和主机适配器在其里程碑开始时可以使用 `std`。## 构建和测试使用锁定的工具链: ``` cargo build --workspace --locked cargo test --workspace --locked scripts/checks.sh ``` 网络化新鲜度检查与离线本地关卡故意分离: ``` scripts/check_latest_tools.sh ``` 平台特定的编译检查和未来的模糊测试、Miri、Kani、Loom、一致性测试、攻击场景、升级、恢复和性能关卡将在依赖它们的里程碑之前引入。## 平台方向Vakaheim 从第一天起就针对 Linux、Windows、macOS、FreeBSD/OpenBSD、Android 和 iOS 进行设计。可移植的内核不得假设特定的操作系统、架构、分配器、异步运行时、文件系统、网络栈、字节序或指针宽度。Aesynx 支持是未来的适配器目标,必须保持可行性,但目前不做承诺。## 发布当前 Vakaheim 的任何 crate 都不得发布到 crates.io 或任何其他注册表。`publish = false` 是强制性的,并由仓库关卡检查。如果未来批准了公共 SDK,只有经过明确审查的 SDK 包可以更改为 `MIT OR Apache-2.0` 并变得可发布;所有其他 crate 仍保持私有和 EUPL-1.2。## 发布纪律每个版本都是一个小型的实现停靠点,包含目标、可交付成果、验证和退出标准。当实现和干净的重测试完成后,工作将停下来进行精确提交(exact-commit)的渗透测试。在允许永久通过的报告和标签之前,将修复发现的问题。此仓库从不自动执行标记、注册表发布、发布和外部部署。## 文档- [架构](ARCHITECTURE.md)- [实施计划](docs/IMPLEMENTATION_PLAN.md)- [发布计划](docs/RELEASE_PLAN.md)- [初步想法](docs/initial-idea.md)- [威胁模型](docs/threat-model.md)- [安全控制](docs/security-controls.md)- [供应链安全](docs/supply-chain-security.md)- [不安全策略](docs/unsafe-policy.md)- [模块化策略](docs/modularity-policy.md)- [工具链策略](docs/toolchain-policy.md)- [发布策略](docs/publishing-policy.md)- [平台支持](docs/platform-support.md)- [发布运行手册](docs/release-runbook.md) ``````
标签:Rust, SOAR, 可视化界面, 安全响应, 网络流量审计, 证据保全