NoWayOS
Single Purpose OS。
基于 seL4 和 Microkit 的保护域模式、类型化消息、驱动程序、网络和原生用户界面,外加每个 NoWayOS 代码仓库构建时都要用到的开发容器和检查。
- 可在 QEMU 和 Raspberry Pi 5 上运行
- 监管器、看门狗和故障安全状态
- 用 Rust 编写的 IP 协议栈和 TLS 1.3 客户端
- 授权、unsafe、许可证和密钥检查,以及每个镜像的物料清单
- 状态
- 开发中
- 许可证
- MIT OR Apache-2.0
Screen Compiler
用 React 设计,交付原生 Rust。设备上没有浏览器。
将以 TSX 按声明的子集编写的 React 屏幕,转换为面向 NoWayOS 用户界面的 Rust 代码。它在构建时运行于您的机器或 CI 中,从不随设备交付。
- 要么精确,要么不做:子集之外的一切都会被拒绝,并指出行号和列号
- 同一屏幕在任何机器上都生成逐字节相同的 Rust 代码
- 每个转换后的屏幕都必须与其核准图像逐像素一致
- 它是构建工具,不是沙箱:只转换您信任的屏幕
- 状态
- 开发中:子集 v0 以及 v1 的首批部分
- 许可证
- MIT
Showcase
可以在 Raspberry Pi 上运行的安全应用。
一套用于安全自助服务屏幕的工具包、一个可在其上构建的参考应用,以及一个启动器,汇集了以虚构品牌呈现的示例,Raspberry Pi 5 开机即进入。
- 设备上没有浏览器、WebView 或 JavaScript
- 屏幕和应用位于不同的隔离舱中
- 按照设计,每个人的回答只保存在设备内存中,并在会话结束时清除
- 每个屏幕都用 React 设计,并由 Screen Compiler 转换
- 状态
- 早期阶段,尚不可部署
- 许可证
- MIT OR Apache-2.0
Defence Agent
每项贡献都必须通过的关卡,拉取请求无从染指。
向 NoWayOS 各开放项目提交的每项变更都必须通过的全部安全关卡,逐一写明各自应对的威胁以及谁有权修改它,外加运行这些关卡的代理。拉取请求永远无法修改或提供评判它的东西。
- 每道关卡都写明通过标准,您可以先自行检查变更
- 每次提交都按开发者来源证书(DCO)签署
- 对关卡的修改交由维护者处理,任何变更都不能评判自身
- 代理从不做决定:由维护者阅读它的结论,再决定是否合并
- 状态
- 已公开:关卡已成文;代理及其工具是下一步
- 许可证
- MIT OR Apache-2.0
基于同一底座的商业产品
商业产品同样构建在 NoWayOS 之上。它们所需的任何通用功能都在 NoWayOS 本身中公开构建,而 NoWayOS 从不依赖构建在它之上的产品。
许可证
- NoWayOS、Showcase 和 Defence Agent 采用 MIT OR Apache-2.0 许可,由您任选其一。
- Screen Compiler 采用 MIT 许可。它根据您的屏幕生成的 Rust 代码归您所有,您可以按自己的意愿授权。
- NoWayOS 的字形图集采用 SIL Open Font License,即绘制它们所用字体的许可证;其图标采用 ISC 许可,即 Lucide 的许可证。
赞助
NoWayOS 由 Adappt.ai 赞助。