lensapp/lens-sandbox-core

GitHub: lensapp/lens-sandbox-core

Lens 沙盒体系的 Rust 核心库,为沙盒化工作负载提供策略驱动的网络访问控制、代理、DNS 过滤和凭证交换等底层运行时能力。

Stars: 7 | Forks: 0

# lens-sandbox-core [![CI](https://static.pigsec.cn/wp-content/uploads/repos/2026/06/c86473baa8021156.svg)](https://github.com/lensapp/lens-sandbox-core/actions/workflows/ci.yml) [![License](https://img.shields.io/badge/license-Apache--2.0-blue.svg)](LICENSE) [![Rust 1.85+](https://img.shields.io/badge/rust-1.85%2B-orange.svg)](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拦截, 可视化界面, 安全合规, 底层编程, 开源项目, 沙箱, 流量过滤, 策略执行, 网络代理, 网络流量审计, 通知系统