procurepilot 当前处于 0.x 阶段。安全修复优先应用于默认分支的最新代码;历史提交、个人分支和未经维护者确认的第三方部署不承诺单独维护。
请优先通过 GitHub 仓库的 Security → Report a vulnerability 私密报告漏洞。如果仓库尚未启用 Private Vulnerability Reporting,请仅创建一个不含漏洞细节的 Issue,请求维护者建立私密联系方式。
公开 Issue、讨论区或 Pull Request 中请勿包含以下内容:
- 可直接利用的攻击载荷或完整复现脚本;
- API Key、JWT Secret、数据库密码、访问令牌或用户数据;
- 可访问的生产地址、沙箱标识和内部网络信息。
报告中建议包含受影响版本、复现前提、最小复现步骤、影响范围和可行的缓解方案。维护者会尽力确认问题、评估影响,并在修复可用后协调披露。
仓库默认配置面向可信本机开发环境,不等同于可直接暴露到公网的生产配置。部署者需要特别关注:
.env只能保存在本地或密钥管理系统中,不能提交到 Git。JWT_SECRET_KEY必须使用高强度随机值,并在 Web API 与 Agent Protocol 进程间保持一致。- MongoDB、OpenSandbox、FastMCP、Agent Protocol 和 Java ERP 默认应仅监听回环地址或受保护的内部网络。
- OpenSandbox 能执行 Agent 生成的代码。生产环境必须启用鉴权、限制网络和资源,并审查 Docker Socket 等高权限挂载。
- Java ERP 写操作需要保留 HITL 审批与服务端授权校验,不能只依赖前端限制。
- Agent、MCP、网页搜索和 ERP 返回值都应视为不可信输入;展示到浏览器前必须进行输出编码或 HTML 清洗。
- 运行测试前确认是否会写入 ERP。只有在隔离测试环境中才可设置
RUN_ERP_WRITE_TESTS=1。
公开部署前还应配置 HTTPS、最小权限账号、来源受限的 CORS、日志脱敏、依赖漏洞扫描、备份与恢复策略,以及 MongoDB/ERP 的访问控制。
如果密钥曾出现在提交、日志、截图或聊天记录中,应立即在对应服务商处吊销并轮换。仅从 Git 历史删除文件并不能使已经暴露的密钥重新安全。