PerceptraHQ/sheut-community
GitHub: PerceptraHQ/sheut-community
Sheut 是一款本地优先的开源网络威胁情报桌面工作台,帮助分析师通过引导式 STIX 编写、可视化调查和模板化报告将碎片化证据转化为结构化情报。
Stars: 0 | Forks: 0

由 PerceptraHQ 打造的本地优先网络威胁情报工作台。
Sheut 将碎片化的证据转化为结构化、可溯源的情报,而无需分析师直接处理原始的 STIX JSON 或 Markdown。这款桌面应用程序将引导式 STIX 编写、可视化调查和 WYSIWYG 报告整合到一个支持离线操作的工作区中。Sheut 的目标平台是 macOS、Windows 和 Linux 桌面;Android 和 iOS 应用程序不在产品范围之内。 对于 `0.1.0-alpha`,macOS 是经过手动验证的打包运行时。Windows 和 Linux 的产物是由 CI 构建的预览版,在有条件进行适当的平台测试之前,它们将被标记为未经手动验证。 ## 社区版,而非演示版 这个公开代码库包含 **Sheut Community**,采用 MPL-2.0 许可证。Community 版本旨在成为一个完整的本地 CTI 工作站: - 加密的本地项目和恢复; - 引导式 STIX 2.1 编写以及无损导入/导出; - 可视化调查构建器; - WYSIWYG 调查和分析师笔记,以及引导式、模板驱动的报告; - 本地搜索、时间线和便携式项目数据;以及 - 对于普通的本地使用,没有账户、订阅、遥测或项目数据网络流量。 维护的外部集成、协作、团队服务器、SSO/RBAC、组织策略、集中式 KMS 和托管运营属于私有的 `PerceptraHQ/sheut-enterprise` 代码库。安全、加密、恢复和数据可移植性永远不会被付费墙限制。 ## 技术栈 | 层级 | 选择 | 边界 | | ----------- | --------------------------- | --------------------------------------------------------------- | | 桌面端 | Tauri 2 | 最小权限;无应用端 MCP bridge | | 界面 | React 19 + TypeScript | 绝不接收数据库密钥或原始 SQL/文件系统访问 | | 核心 | Rust 1.97.1 | 验证、事务、持久化、导入、导出、恢复 | | 存储 | 兼容 SQLCipher 的 SQLite | 加密项目、迁移、备份和恢复 | | 文档 | 版本化结构 JSON | WYSIWYG 的事实来源;绝不使用原始 HTML 或 Markdown | | 数据交换 | STIX 2.1 | 经过验证的导入/导出契约,而非内部草稿模型 | | 知识 | MITRE ATT&CK + ATLAS | 打包经过哈希验证的快照供离线使用 | 界面使用 Tailwind CSS 4 及其 Typography 插件、Base UI、自托管的 Geist 和 Geist Mono 可变字体,以及 Tabler Icons 3.46.0。官方 OASIS STIX 图形保留用于 STIX 图谱对象,而不是通用的界面控件。调查编辑器在惰性边界后使用 Tiptap 3.29.2。图谱工作区使用精确固定版本的模块化 D3 包、高 DPI Canvas/DOM 混合渲染、确定性一次性布局 worker,以及 Zustand 5.0.14;故意不使用 React Flow。Sheut 拥有其 schema、语义、可访问性和界面,而不是采用编辑器或图谱库的领域模型。普通布局使用 Tailwind utilities;共享的语义皮肤、Base UI 状态选择器和 Tiptap 后代样式保留在样式表中,因为在这些情况下重用比重复的 JSX 更清晰。惰性命令面板在 Base UI 对话框框架内使用精确固定版本的 `cmdk` 1.1.1;Sheut 不初始化 shadcn 或发布全局 shadcn CSS。 ## 开发说明 前置条件是 Rust `1.97.1`、Node.js `24.18.0`、Corepack,以及当前的 [Tauri 平台依赖](https://v2.tauri.app/start/prerequisites/)。代码库固定了 pnpm 和所有直接的 JavaScript 依赖项。 ``` corepack enable corepack pnpm install --frozen-lockfile corepack pnpm check corepack pnpm tauri:dev ``` | 命令 | 用途 | | ----------------------------------- | ----------------------------------------------------- | | `corepack pnpm check` | 格式化、lint、类型检查、测试,并构建 JS 和 Rust | | `corepack pnpm check:push` | 完整的本地拦截加上 JavaScript 咨询审计 | | `corepack pnpm check:release` | Push 拦截加上实时的 MITRE 发布新鲜度检查 | | `corepack pnpm test` | 使用单个 worker 串行运行前端测试 | | `corepack pnpm test:rust` | 运行完整的 Rust workspace 测试套件 | | `corepack pnpm test:watch` | 开发时运行聚焦的前端测试 | | `corepack pnpm tauri:dev` | 启动 Community 桌面应用程序 | | `corepack pnpm icons:desktop` | 从 `src/assets/sheut-logo.svg` 重新生成原生图标 | Git hooks 负责格式化和 lint 暂存的文件,执行 Conventional Commits,并运行 push 拦截。除非在 `pnpm-workspace.yaml` 中经过明确审查,否则依赖项生命周期脚本将被拒绝。 ## 架构与安全 从[产品规范](docs/product-spec.md)、[架构](docs/architecture.md)和[安全模型](docs/security.md)开始了解。 React 前端使用严格的类型化 Tauri 命令。Rust 负责验证和持久化。项目内容、导入的情报、富文本、附件、路径以及每个命令参数都是不可信的。日志中不包含任何项目内容、凭据、加密密钥或情报值。 按照 [`SECURITY.md`](SECURITY.md) 中的说明,通过 GitHub 的私人安全建议流程报告漏洞。切勿在公开 issue 中放入真实的情报或凭据。 ## 0.1.0-alpha 包含的内容 ### 本地项目与安全 - SQLCipher 加密项目,具有独立的随机密钥、设备凭据存储解锁、可选的 Argon2id 密码解锁、加密备份、恢复点以及错误密钥/损坏检查。 - Rust 负责路径、原生对话框、迁移、事务、导入/导出、删除和恢复。React 接收类型化结果,而非文件系统或数据库访问权限。 - 显式的 Tauri 命令权限、IPC 隔离、严格的 CSP 和标头、无遥测,以及对于普通项目数据无网络流量。 ### 情报与证据 - 结构化的 STIX 2.1 草稿、无损的有界 Bundle 导入/导出、易读的关系和引用,以及从视觉链接到语义关系草稿的显式转换。 - 项目范围的 Enterprise ATT&CK 19.1、Mobile 19.1、ICS 19.1 和 ATLAS 2026.06 目录,带有加密观察结果并兼容映射/Navigator 交换。 - 针对图像、视频、文档和惰性归档的加密证据,具有分析师元数据、预览、报告引用和确定性的附录标签。 ### 文档、报告与发布 - 存储为结构化 JSON 的带版本调查和分析师笔记,具有自动保存、富文本编辑、安全链接、指标无害化处理、表格、标注、图像附件、对比、恢复和可恢复的删除功能。 - 引导式的 Threat Actor Profile、Intrusion Analysis、Campaign、Executive、Blank 和 [Illicit Ecosystem](docs/illicit-ecosystem-report-guide.md) 报告,具有类型化字段、手动章节、项目数据引用、验证、修订以及生成的项目本地 Report ID。 - 带版本的 Brand Profiles 和一个经过验证的发布 pipeline,用于离线独立的 HTML、可编辑的 DOCX 和直接的 Typst PDF。发布快照保留纸张大小、方向、TLP、品牌、包含的章节、附录、页面家具、版本和状态。 ### 桌面工作流 - 可访问的 Base UI 工作区、可折叠的资源管理器、可关闭的标签页、命令面板、上下文菜单、原生应用程序菜单、键盘快捷键、Zen 和全屏模式、设置、帮助指南以及第三方声明。 - 专为 960 像素最低桌面分辨率设计的响应式编辑器和发布对话框。可重现的生产包测量将普通编辑器的就绪时间保持在 500 ms 的参考预算之内。 完整的发布历史记录在 [`CHANGELOG.md`](CHANGELOG.md) 中。所需的许可证和目录声明包含在 [`THIRD_PARTY_NOTICES.md`](THIRD_PARTY_NOTICES.md) 中。 ## 贡献指南 请阅读 [`CONTRIBUTING.md`](CONTRIBUTING.md) 和 [`CODE_OF_CONDUCT.md`](CODE_OF_CONDUCT.md)。Pull request 在合并到受保护的 `main` 分支之前,必须通过固定的质量、依赖项和安全工作流。 ## 许可证 Sheut Community 采用 [Mozilla Public License 2.0](LICENSE) 许可证。版权属于 PerceptraHQ 和相应的个人贡献者。打包的 MITRE 目录声明 reproduced 在 [`THIRD_PARTY_NOTICES.md`](THIRD_PARTY_NOTICES.md) 中。标签:Rust, STIX, Tauri, 可视化界面, 威胁情报, 开发者工具, 桌面应用, 网络流量审计, 自动化攻击