安全、证据与血缘
Scopwis 的设计目标是:模型可以提出聪明的分析路径,但不能成为数据访问、查询安全、证据有效性或报表发布的最终权威。
确定性边界
Rust host 负责:
- actor 与 source 授权;
- 类型化只读 query 校验;
- method 注册与参数契约;
- 执行预算;
- artifact ID、revision 和 lineage;
- Analysis Artifact 中的 evidence 引用;
- ReportSpec 校验;
- 高影响 mutation 边界。
模型不能靠自然语言把这些边界扩大。
证据优先答案
重要 finding 必须引用当前授权 run 产生的证据。Query / Mining 结果会形成不可变 artifact envelope。模型接收有界 observation,而不是无限制原始 payload。
后续 synthesis/provider 失败时,已经完成的 evidence 会被保留,而不是一起清空。
Query Safety
Scopwis 编译类型化 query plan,而不是执行模型提供的任意 SQL。DDL / DML 不属于 Agent 数据平面。多表工作只能使用经过检查的 relation 和有界、类型兼容的 equality join。
Source 与凭据隔离
provider credential、connection profile secret、OAuth provider token 和模型 API key 都保留在 Server。公开 Bootstrap 和普通 Agent observation 不包含秘密。
外部 MCP/capability tool 只有经过本地 policy 批准后才会投影给 Agent;远端 metadata 不能被当作授权。
报表与分享
只有 data binding 和 provenance 能解析到授权 artifact 时,报表才有效。公共分享是明确创建、可撤销、绑定 revision 的缩减 projection。
血缘
Artifact 会保留 producer、revision、upstream input 和 trace ownership。Payload TTL 可以删除大数据字节,但不会重写历史 lineage,因此后续读者可以区分“artifact 曾经存在但 payload 已过期”和“分析返回空结果”。
依赖安全检查点:2026-10-03
统计后端保留 Augurs 的算法及其固定的两个 rv API。Scopwis 保存上游 rv 0.16.5 与 0.18.1 的原始源文件,只调整 LRU 依赖要求。工作区解析到上游 lru 0.18.4,包含可变迭代器修复(RUSTSEC-2026-0002)和键析构 panic 修复(RUSTSEC-2026-0253)。CI 核对补丁实际生效、源文件哈希不变及 MIT 声明完整,统计与缓存回归检查兼容性。
rsa 0.9.10 仍被 RUSTSEC-2023-0071 报告。此检查点尚无上游修复版本。锁定依赖中的调用来自 SQLx MySQL 认证和 OpenDAL 请求签名。SQLx 用服务端公钥以 OAEP 加密客户端密码,不持有服务端 RSA 私钥。Google 服务账户签名与 Azure 客户端证书断言通过 reqsign 使用随机化、带 blinding 的签名,不接受外部密文进行私钥解密。这限定了当前暴露面,但不能让上游公告消失,也不能证明抵抗全部计时攻击。
Scopwis 没有提供 RSA 私钥解密 API,也没有自创密码学补丁。MySQL 与云存储能力保持可用,未将公告加入忽略列表。调用边界变化时必须重新安全审查。部署方仍需考虑这项未修复依赖;PR 的依赖增量检查通过不代表全量依赖审计没有风险。