本文件是 SECURITY.md 与 部署边界 的中文技术说明,面向本机使用者、维护者和准备发布 GitHub Release 的项目所有者。英文安全政策、当前代码、启动器和安全测试共同定义发布范围;发生差异时先完成核对,再同步文档或实现。
当前公开版本设计为:
一名受信任的本机使用者
+ Windows 本机文件
+ 127.0.0.1 回环地址
+ 本机存储和可选 AI 提供方
当前公开版本提供本机单用户工具。账户认证、组织管理、租户隔离、对象级授权、私有对象存储、统一审计、限流、生产备份和事件响应由托管服务平台提供。任何公网部署均需完成相应的安全架构与运维设计。
| 事实 | 含义 |
|---|---|
源码启动器默认使用 127.0.0.1 |
前端和后端服务于同一台机器上的本机工作流。 |
| 便携版默认在本机端口启动 | 启动脚本会从 8787 开始寻找可用本机端口,并打开 /analysis。 |
| CORS 默认限定本机 Origin | 用于浏览器跨域匹配;用户登录、认证和授权由独立机制提供。 |
| 当前 API 没有身份认证层 | 本机回环监听将访问范围保持在本机使用场景。 |
共享或公网部署包含以下架构变化,并配套完成安全审查:
- 将监听地址改为
0.0.0.0、局域网地址或公网地址; - 开放防火墙端口、端口转发、内网穿透或隧道;
- 在反向代理后向多人提供页面或 API;
- 配置面向共享使用者的 CORS、认证和授权;
- 把
workspace/storage、%APPDATA%\AsteriaAnalyst或/storage映射为共享文件目录。
若确实要建设共享/公网版本,至少需要独立完成:身份认证、会话与账户生命周期、每用户/每租户授权、私有工件下载、数据隔离、上传控制、恶意文件策略、CSRF/安全头、速率限制、审计日志、密钥托管、AI 数据处理协议、任务隔离和应急响应。
| 位置或概念 | 安全分类 | 处理要求 |
|---|---|---|
| 上传的数据集、历史报告、业务背景 | 私有本地输入 | 保留在本机私有目录,Git 与公开 Issue 使用脱敏描述。 |
settings.json、运行任务、Codex 日志、学习账本 |
私有运行状态 | 保存于私有运行目录,供本机服务读取。 |
public_artifacts/reports 与 /storage/** |
本机可引用工件 | 收录已批准供界面访问的产物,并在交付前复核报告内容。 |
workspace/storage(源码)或 %APPDATA%\AsteriaAnalyst(便携) |
用户数据根目录 | 应位于当前用户可写、非共享、受系统访问控制保护的位置。 |
| GitHub 仓库与 Release 资产 | 公开范围 | 收录源码、测试、启动脚本、无敏感示例、文档和已检查的便携包。 |
main.py 将 PUBLIC_ARTIFACTS_DIR 挂载到 /storage,供本机界面引用已选工件;完整存储根目录保持私有。发布截图、日志和工件前逐项检查数据与隐私。
基础文件查看和本地统计可在本机执行,不必配置 API Key。用户主动配置并使用 AI 辅助字段语义、业务路由、报告或修订后,相关字段上下文、业务背景、报告上下文或工作簿/PDF 内容可能发送到其配置的 OpenAI-compatible 提供方。
启用前至少确认:
- 你有权让该提供方处理该数据类别;
- 个人信息、客户信息、财务、健康、合同或受监管字段是否需要删除、掩码、聚合或抽样;
- 提供方的数据区域、保留、访问、审计和合同条款是否满足组织要求;
- API Key 用于授权调用;数据传输仍需满足安全与合规要求;
- 报告数值和结论使用确定性计算、证据和审阅记录作为依据。
启用 AI 后,公开说明应如实描述数据可能发送到已配置提供方的范围。
| 配置动作 | 预期结果 |
|---|---|
在本机 .env、进程环境或受保护的系统密钥管理中保存密钥。 |
密钥位于受保护的本机位置,公开文档和浏览器配置使用占位值。 |
使用 .env.example 作为无密钥模板。 |
带有真实值的 .env 保留在私有运行环境。 |
通过 /api/runtime-settings 的掩码摘要核对配置。 |
API Key 持续保留在受保护的配置中。 |
| 为最小必要的 Runtime 工作区设置路径。 | Codex 与外部 Skill 在指定工作区内访问文件。 |
完整变量说明见 配置参考。
| 功能 | 默认状态 | 必要开关 | 适用范围 |
| --- | --- | --- |
| 外部 Skill/Agent Team 导入、挂载、运行 | 关闭 | ASTERIA_ENABLE_LOCAL_SKILL_INSTALLER=1 | 由本机管理员审阅来源并执行。 |
| Codex Runtime API | 关闭 | ASTERIA_ENABLE_CODEX_RUNTIME_API=1 | 在受控本机工作区中使用路径、日志、会话和运行产物。 |
| 非沙箱 Codex Runtime | 关闭 | ASTERIA_ALLOW_UNSANDBOXED_CODEX_RUNTIME=1 和相应请求/偏好 | 由可信本机管理员按任务需要启用。 |
| HTTP 任意代码执行 | 未作为公开路由发布 | 无 | 公开 main.py 未注册 /api/code/execute;新增执行路由进入独立安全评审。 |
这些开关管理本机高权限能力的启用状态;认证、授权与租户隔离需由独立机制提供。将它们设为 true 表示当前机器的操作者明确选择接受相应风险。
- 报告 HTML 预览在隔离语境下查看,并按普通文件内容进行审阅。
- Analysis Lab、自动分析、调试报告、图表和文件下载服务于探索、诊断与复核;正式管理报告使用完整发布链。
- 正式
management_report.pdf依次经过 AI 字段语义映射、业务路由、指标规划、确定性数值执行、证据校验、报告绑定和FormalPDFReleaseGate。 - trace、schema 校验、确定性数值、证据校验和门禁放行齐备,且最终质量分达到
90后,门禁放行正式报告;其他结果保留为调试或复核材料。
详情见 正式报告可置信机制。
在 push、创建 Release、上传 ZIP、发截图或提交 Issue 前,确认公开材料使用以下范围:
.env、API Key、Token、密码、私有 Base URL;- 客户数据、上传工作簿、报告、修订会话、附件、日志、缓存或本机运行状态;
- 未获授权的作品集、第三方素材或商业交付物;
- 显示用户名、绝对路径、内部域名或可识别业务信息的截图;
- 版本范围、运行模型和实际完成的安全验证记录。
许可证由项目所有者选择并发布。在 LICENSE 发布前,复制、修改和商用权利尚未授予;发布脚本和文档仅执行已确定的许可证策略。
私密安全通道接收漏洞复现步骤、凭据、真实数据、报告、截图和客户信息等敏感材料。仓库所有者配置并验证该通道;仓库页面未显示私密报告渠道时,通过项目所有者公开列出的私密联系方式确认接收方式,再发送最小化、可安全复现的材料。
一份合格的私密报告包含:受影响版本/提交、影响范围、最小复现步骤、预期与实际行为、安全影响和使用脱敏数据的安全 PoC。维护者收到报告后确认接收、评估影响、制定修复与披露计划,并在私密通道处理攻击细节。
- 服务保持监听
127.0.0.1。 - 上传数据和生成工件保存在私有本机目录。
.env、日志、截图和 Git 状态使用脱敏内容。- AI 调用已有数据授权和脱敏判断记录。
- 高权限 Runtime、Skill 或非沙箱执行由明确的本机管理员需求启用。
/storage和数据目录保持本机工件访问用途。- 正式 PDF、实验产物和调试输出具有清晰的状态标识。