ci: 统一使用 mizzenbot 提交代码审查 - #10
Conversation
mizzenbot
left a comment
There was a problem hiding this comment.
🔴 Taste Rating:需要改进
Linus-Style Analysis: 将 GitHub 自动签发的短期令牌替换为组织级 PAT,扩大了公开仓库审查运行的凭证信任边界;该 composite action 会检出 PR 头部工作区,并让具备终端能力的审查代理携带该令牌运行。permissions 不能收窄经典 PAT 的实际权限,因此必须在 PAT 和 Secret 分发层限制其可达资源。
[CRITICAL ISSUES]
.github/workflows/pr-review.yml:25:MIZZENBOT_GITHUB_PAT作为组织级、ALL可见的持久令牌进入可受 PR 内容和提示注入影响的代理运行。若此 PAT 可访问任意私有仓库或具有超出提交 review 所需的权限,攻击者可诱导代理滥用或外传该令牌。
[RISK ASSESSMENT]
- [Overall PR]
⚠️ Risk Assessment: 🔴 HIGH。变更仅一行,但将不受 workflowpermissions约束的持久身份放入公开仓库的 agent 审查路径;当前配置未证明 PAT 和组织 Secret 均只限本公开仓库及最小权限。 - Recommendation:不要自动合并;请由人类维护者验证 PAT 为 fine-grained、仅可访问该公开仓库、权限仅含提交 review 所需的 Pull requests 写入(及必需读取),不含任何私有仓库或额外写权限,并将组织 Secret 可见范围改为仅该仓库。
VERDICT:
❌ Needs rework:先收窄持久令牌及其 Secret 分发边界。
KEY INSIGHT:
审查显示为 bot 身份不应以让公开 PR 的 agent 取得跨仓库持久权限为代价。
Improve this review? 如有反馈不适用于本仓库,可在分支的
.agents/skills/custom-codereview-guide.md补充带/codereviewtrigger 的上下文后重新请求审查。
此审查由 AI 代理(OpenHands)代表用户生成。
Was this automated review useful? React with 👍 or 👎 to this review to help us measure review quality.
Workflow run: https://github.com/MizzenAI/mizzen-cli/actions/runs/31403795233
| llm-base-url: ${{ secrets.LLM_BASE_URL }} | ||
| llm-api-key: ${{ secrets.LLM_API_KEY }} | ||
| github-token: ${{ secrets.GITHUB_TOKEN }} | ||
| github-token: ${{ secrets.MIZZENBOT_GITHUB_PAT }} |
There was a problem hiding this comment.
🟠 Important: 此组织级 PAT 会传入检出 PR 头部工作区、且审查代理拥有终端工具的运行环境;permissions 无法收窄 PAT 本身。请将 PAT 配置为 fine-grained、仅限此公开仓库,并仅授予提交 review 必需的 Pull requests 写入/读取权限;同时把组织 Secret 的可见范围从 ALL 改为只限该仓库。特别确认它不能访问任何私有仓库或拥有其他写权限。
改动
MIZZENBOT_GITHUB_PATmizzenbot验证
ALLgit diff --check通过影响
后续由 reviewer request 触发的 OpenHands review 将显示为
mizzenbot。