29 lines
1.3 KiB
Markdown
29 lines
1.3 KiB
Markdown
# N-025 Scripting 与平台
|
||
|
||
状态:`BLOCKED`(默认拒绝策略、签名 manifest、权限/资源预算、平台报告和服务端 hash
|
||
门已落地;本地隔离执行、真实 server job 与发布审计未实现)
|
||
|
||
## 已验证切片
|
||
|
||
1. N-025-A:脚本默认拒绝网络、autorun、driver expression 和 add-on 安装;entry/dependency
|
||
path 必须在项目内,未知权限和重复 ID 会拒绝。
|
||
2. N-025-B(部分):脚本 manifest 要求 SHA-256、固定长度签名、publisher/keyId、权限
|
||
allowlist、CPU/内存/墙钟预算,并检查脚本依赖图。
|
||
3. N-025-C(门):合法脚本仍要求隔离 sandbox;server job 需要 script/source/input
|
||
hash 一致,但当前 endpoint 未配置,返回 `SERVER_JOB_UNAVAILABLE`。
|
||
4. N-025-D:Worker/WebGPU/OffscreenCanvas/OPFS 与 native/CUDA/Metal/HIP/OptiX capability
|
||
报告只反映 API 存在或显式 `BLOCKED`。
|
||
|
||
## 仍然阻断
|
||
|
||
- N-025-B/C:签名验证密钥管理、无网络 CPython/native sandbox、server Blender job 和
|
||
output hash 提交。
|
||
- N-025-D/E:真实 GPU/native window/file watcher 适配、恶意脚本/依赖混淆/逃逸/重放、
|
||
审计日志和发布门。
|
||
|
||
## 验收
|
||
|
||
```bash
|
||
WEB_TEST_PORT=5325 npm --prefix web run test:e2e -- --grep "N-025 script"
|
||
```
|