Skip to content

Security: KagaribiDev/procurepilot

Security

docs/SECURITY.md

procurepilot 安全策略

支持范围

procurepilot 当前处于 0.x 阶段。安全修复优先应用于默认分支的最新代码;历史提交、个人分支和未经维护者确认的第三方部署不承诺单独维护。

报告安全问题

请优先通过 GitHub 仓库的 Security → Report a vulnerability 私密报告漏洞。如果仓库尚未启用 Private Vulnerability Reporting,请仅创建一个不含漏洞细节的 Issue,请求维护者建立私密联系方式。

公开 Issue、讨论区或 Pull Request 中请勿包含以下内容:

  • 可直接利用的攻击载荷或完整复现脚本;
  • API Key、JWT Secret、数据库密码、访问令牌或用户数据;
  • 可访问的生产地址、沙箱标识和内部网络信息。

报告中建议包含受影响版本、复现前提、最小复现步骤、影响范围和可行的缓解方案。维护者会尽力确认问题、评估影响,并在修复可用后协调披露。

安全边界

仓库默认配置面向可信本机开发环境,不等同于可直接暴露到公网的生产配置。部署者需要特别关注:

  1. .env 只能保存在本地或密钥管理系统中,不能提交到 Git。
  2. JWT_SECRET_KEY 必须使用高强度随机值,并在 Web API 与 Agent Protocol 进程间保持一致。
  3. MongoDB、OpenSandbox、FastMCP、Agent Protocol 和 Java ERP 默认应仅监听回环地址或受保护的内部网络。
  4. OpenSandbox 能执行 Agent 生成的代码。生产环境必须启用鉴权、限制网络和资源,并审查 Docker Socket 等高权限挂载。
  5. Java ERP 写操作需要保留 HITL 审批与服务端授权校验,不能只依赖前端限制。
  6. Agent、MCP、网页搜索和 ERP 返回值都应视为不可信输入;展示到浏览器前必须进行输出编码或 HTML 清洗。
  7. 运行测试前确认是否会写入 ERP。只有在隔离测试环境中才可设置 RUN_ERP_WRITE_TESTS=1

公开部署前还应配置 HTTPS、最小权限账号、来源受限的 CORS、日志脱敏、依赖漏洞扫描、备份与恢复策略,以及 MongoDB/ERP 的访问控制。

密钥意外泄露

如果密钥曾出现在提交、日志、截图或聊天记录中,应立即在对应服务商处吊销并轮换。仅从 Git 历史删除文件并不能使已经暴露的密钥重新安全。

There aren't any published security advisories