lensapp/lens-sandbox-core
GitHub: lensapp/lens-sandbox-core
Lens 沙盒体系的 Rust 核心库,为沙盒化工作负载提供策略驱动的网络访问控制、代理、DNS 过滤和凭证交换等底层运行时能力。
Stars: 7 | Forks: 0
# lens-sandbox-core
[](https://github.com/lensapp/lens-sandbox-core/actions/workflows/ci.yml)
[](LICENSE)
[](crates/lens-sandbox-core/Cargo.toml)
`lens-sandbox-core` 是一个 Rust 库,被 Lens Sandbox 和 Lens Agents 用于在沙盒化执行环境中实施受控的网络、DNS、代理、凭证和策略行为。
它是核心的底层运行时基础设施,而非最终用户产品。应用程序通过嵌入该库,为沙盒化工作负载提供对外部系统的受控访问:包括 DNS 请求、出站网络流量、HTTP CONNECT 代理、TLS 拦截路径、边界凭证交换、策略生命周期以及活动报告。
## 该 Crate 提供的功能
- 策略控制的出站网络访问
- DNS 过滤和允许列表行为
- HTTP CONNECT 代理支持
- 透明代理路由支持
- 用于受控流量的 TLS 拦截支持
- 边界凭证交换和请求签名
- 基于 nftables 的网络锁定助手
- WebSocket 驱动的策略生命周期集成
- 活动和审计事件原语
## 该 Crate 不是什么
`lens-sandbox-core` 本身不是一个完整的沙盒产品。它不负责创建桌面应用程序、企业平台、UI、打包、分发或 microVM 生命周期。
有效的安全边界取决于调用者的部署模型:容器、microVM、Linux capabilities、文件系统挂载、进程模型和策略来源。
## 与 Lens Sandbox 和 Lens Agents 的关系
Lens Sandbox 将此 crate 用作开发人员机器上沙盒化工作负载的本地执行核心。
Lens Agents 在组织部署中使用相同的执行核心模型,在这些部署中,中央 IT 跨多个 agent 管理策略、凭证、连接和审计。
共享的 crate 保持了两个产品在底层运行时行为上的一致性。
## 开源
本项目基于 Apache 2.0 许可。请参阅:
- [CONTRIBUTING.md](CONTRIBUTING.md) 了解开发工作流和贡献指南。
- [SECURITY.md](SECURITY.md) 了解漏洞报告和安全范围。
- [CHANGELOG.md](CHANGELOG.md) 了解发布说明。
- [CODE_OF_CONDUCT.md](CODE_OF_CONDUCT.md) 了解社区期望。
## 本地设置
```
git config core.hooksPath .githooks
```
## 构建
```
cargo build -p lens-sandbox-core
cargo test -p lens-sandbox-core
```
需要 Linux + nftables + `CAP_NET_ADMIN` 的集成测试受 `#[ignore]` 控制。请使用以下命令运行它们:
```
cargo test -p lens-sandbox-core -- --ignored
```
## 策略 Schema
规范的策略 schema 位于 `schemas/policy.schema.json`。请使用以下命令重新生成它:
```
cargo run --bin generate-policy-schema > schemas/policy.schema.json
```
## 许可证
Apache 2.0 — 详见 [LICENSE](LICENSE)。
标签:DNS解析, Lerna, Rust, TLS拦截, 可视化界面, 安全合规, 底层编程, 开源项目, 沙箱, 流量过滤, 策略执行, 网络代理, 网络流量审计, 通知系统