KamiGhost1/kamienclave

GitHub: KamiGhost1/kamienclave

基于加密通道与内存执行的分段式代码保护框架,通过服务端编译水印字节码和全应用加密分发两种模式,实现业务逻辑的授权分发与泄露溯源。

Stars: 0 | Forks: 0

# kamienclave `kamienclave` 将受保护的业务逻辑安全地分发给授权用户, 以提高其被提取的成本,并使任何泄露都具有可追溯性。业务 逻辑在服务器端编译为混淆的 bytecode,仅在有效许可证的授权下通过安全 通道进行传输,并且 **完全在内存中** 的内置 mini-VM 中执行。本地不会 以任何形式保存原始逻辑;每次执行都会发起新的安全请求到服务器。 kamienclave 支持两种交付模式: - **模式 A (bytecode)** — 服务器端编译器将 JS 子集转换为 私有的打水印的 bytecode,客户端在 mini-VM 中执行。具有高度的 不透明性,语言范围有限。适用于保密的计算核心。 - **模式 B (fullapp)** — 完整的 Node.js 应用(例如 NestJS 后端) 以加密/签名的方式交付,并在内存中由原生的 Node 运行。 完全兼容;保护机制 = 授权分发 + 归因追踪,而非 不可提取性。参见 [docs/USAGE-fullapp.md](docs/USAGE-fullapp.md)。 详细的技术设计:[TECHNICAL.md](TECHNICAL.md) · [docs/DRAFT-fullapp-delivery.md](docs/DRAFT-fullapp-delivery.md)。 分步说明:[docs/SETUP.md](docs/SETUP.md) · [docs/USAGE.md](docs/USAGE.md) (模式 A) · [docs/USAGE-fullapp.md](docs/USAGE-fullapp.md) (模式 B)。 ## 组件 | 二进制文件 | 用途 | | --------------- | -------------------------------------------------------------------------- | | `enclave` | 公开 的客户端构建 — 在 goja 上将 payload 作为 JS 执行 | | `enclave-vm` | 生产环境 的客户端构建 — bytecode mini-VM + 完整的加固 | | `enclave-host` | 模式 B 客户端:从内存中拉取并运行完整的 Node 应用 | | `vm-server` | Server-mode VM (模式 A):热主机,根据请求参数为每个请求创建临时的 mini-VM。参见 [DESIGN-vm-server-mode](../kamienclave-backend/docs/DESIGN-vm-server-mode.md) | | `enclave-server`| License 服务器:endpoint `/v1/fetch`,License 的颁发/撤销/归因 | - **enclave / enclave-vm** — 同一个客户端的两个独立构建 (`app/cmd/enclave`), 通过 build tag 进行选择:`enclave-vm` 使用 `-tags backend` 进行构建。 - **enclave-server** — 服务器端部分。被移至单独的 **私有** 仓库 `kamienclave-backend` (`internal/server`, `internal/serverkit`, build-factory)。这个 公开的仓库仅包含客户端部分;后端作为 库依赖于它(共享的 wire 协议和加密)。参见 TECHNICAL §7.1。 ## 仓库结构 ``` . ├── app/ # Go-модуль github.com/KamiGhost1/kamienclave │ ├── cmd/ │ │ ├── enclave/ # клиентский CLI (enclave / enclave-vm) │ │ ├── enclave-host/ # клиент режима B (Node-приложение из памяти) │ │ └── stamp/ # build-тул: integrity-трейлер │ ├── crypto/ # sign(Ed25519), kex(X25519), aead, zeroize (public) │ ├── proto/ # DTO протокола + canonical (JCS) (public) │ ├── protosign/ # подпись/верификация DTO (public) │ ├── transport/ # HTTPS-клиент + SPKI pinning + mockserver (public) │ ├── license/ # sealed bundle (Argon2id) + passphrase (public) │ ├── encpkg/ # контейнер .encpkg (AEAD + Ed25519) (public) │ ├── runtime/ # bytecode mini-VM, bcrun, goja vm, host-bridge (public) │ ├── apprunner/ # запуск Node-приложения из tmpfs (public) │ └── internal/ # client-private: buildinfo, cliargs, hardening ├── docs/ # SETUP.md, USAGE.md, USAGE-fullapp.md, DRAFT-fullapp-delivery.md ├── docker/ # Dockerfile для разработки ├── docker-compose.yml # dev-контейнер ├── TECHNICAL.md # дизайн-документ ├── LICENSE # Apache License 2.0 └── README.md ``` ## 快速开始 (dev 环境) ``` docker compose up -d dev-enclave docker exec -it dev-enclave bash # 在容器内,在 /app 目录下: make build # enclave (public) make build-backend # enclave-vm (обфусцированный, через garble) make build-host # enclave-host (режим B) make test # тесты в обоих режимах (default + backend) make ci # полный гейт: build/vet/test/staticcheck/golangci ``` 接下来请看 [docs/SETUP.md](docs/SETUP.md):启动服务器、颁发 License、运行客户端。 ## 状态 客户端和服务器均已构建并进行了端到端的测试 (end-to-end: 颁发 License → handshake -> 加密的打水印的 bytecode -> mini-VM)。参见 [TECHNICAL.md](TECHNICAL.md) 中的“实现阶段”部分。 ## 控制面板 在 License 服务器之上新增了单独的 **控制面板**,这是一个 Web 面板, 用于管理整个交付生命周期:租户和角色、构建 上传、**build 流水线** (bytecode 编译 / bundle 混淆),具备类似 CI/CD 的 状态展示、版本控制和发布、颁发绑定到账户的 License,以及子服务器的授权。 **新方法 — 变更内容:** - **Build 流水线取代手动构建。** 每个上传的构建都会进入 包含 `validate → compile|obfuscate → publish` 阶段的队列。可以查看每个 阶段的状态、日志和错误,就像使用 CI/CD 工具一样。 - **版本控制与发布。** 一个构建可以有多个版本;发布会标记 “生效”版本。可以现在构建,稍后再 **发布** (held) —— 手动或 根据标志自动进行。 - **License 绑定到账户 + 角色。** `owner` 颁发 License 并 将其绑定到用户;`admin` 负责操作 (revoke/activate,上传 构建);普通用户 (`viewer`) 只能看到 **自己的** License。 - **加密仍在 Go 中处理。** `*.lic`, `.encpkg` 的封装、服务器 License 的签名以及 bytecode 的编译均由 Go 服务 (`mint-service`) 执行;面板 仅负责编排。参见 TECHNICAL §7.1 (编译器/watermark 不会发送给客户端)。 ### Build 流水线 (阶段、状态、日志、发布) ![流水线](https://static.pigsec.cn/wp-content/uploads/repos/2026/06/6473cff66e042916.png) ### 集群概览与活动 ![概览](https://static.pigsec.cn/wp-content/uploads/repos/2026/06/e0bad12405042922.png) ### License (颁发、绑定到账户、下载 `.lic`) ![License](https://static.pigsec.cn/wp-content/uploads/repos/2026/06/26df731ccc042928.png) ### 构建上传 ![构建](https://static.pigsec.cn/wp-content/uploads/repos/2026/06/7c414f0196042937.png) ## License 根据 [Apache License 2.0](LICENSE) 授权。© 2026 KamiGhost1.
标签:AEAD, CMS安全, DLP, DNS 反向解析, DRM, ECDH, EVTX分析, GNU通用公共许可证, IP 地址批量处理, JavaScript, Mini-VM, MITM代理, NestJS, Node.js, Raspberry Pi, SaaS分发, 代码保护, 企业安全, 内存执行, 内容分发, 加密通信, 字节码混淆, 密钥固定, 数字水印, 数据可视化, 数据溯源, 无文件落地, 日志审计, 生成式AI安全, 网络安全, 网络资产管理, 虚拟机, 请求拦截, 软件授权, 防泄漏, 防逆向工程, 隐私保护