Do not open a public issue for a security problem.
Report privately via GitHub's private vulnerability reporting on this repository, or email security@comfy.org.
Please include the workflow file and, where you can, the ref (tag or commit SHA) you observed the problem on — several of these workflows behave differently across refs, and the ref narrows the blast radius fast.
We aim to acknowledge within 3 business days.
This repo contains reusable GitHub Actions workflows that other repositories call and grant credentials to. In scope:
- Privilege escalation — a workflow obtaining more
GITHUB_TOKENscope than the calling job granted, or using a scope it does not need. - Secret exfiltration — any path by which
ANTHROPIC_API_KEY,CURSOR_API_KEY,SLACK_BOT_TOKEN,UNREVIEWED_MERGES_TOKEN, or a GitHub App private key could reach a log, artifact, comment, or third party. - Untrusted input reaching a privileged context — PR titles, branch names, commit messages, or fork-authored content flowing into a shell without quoting, or into a job that holds write scope.
pull_request_target/ fork-PR issues — anything that lets a fork PR run with the base repo's secrets.- Agent-boundary breaks — where a model step is meant to run with no write
credentials, emitting patches or findings that a separate job applies, a way
to make that step hold a write token — or to influence the privileged job from
inside the unprivileged one — is a vulnerability. The separation is real for
groom and for cursor-review's 8 panel cells (
contents: readonly). It is not absolute for cursor-review's judge: theConsolidate paneljob runs the judge model and posts the review in the samepull-requests: writejob, so treat findings about that boundary as in scope rather than known-and-accepted. - Supply chain — an unpinned or mutable third-party action reference, or a way to make a caller resolve assets from a ref other than the one it pinned.
- Findings that require an existing org admin or repo write access.
- The AI workflows producing a wrong, low-quality, or duplicate review comment, finding, or issue. That is a quality bug — open a normal issue.
- Spend caused by a workflow running more often than intended, absent a security boundary being crossed. Also a normal issue.
- Missing branch protection or required status checks on a consumer repo. Raise that with the consumer repo's owners.
- Pin by full commit SHA, not by tag. The
v1tag is a moving pointer that we force-push for backwards-compatible changes; a SHA is immutable. See Pinning. - Keep
workflows_refequal to youruses:SHA. Several workflows load prompts, briefs, or checker scripts fromworkflows_refat runtime. If it drifts from the pinned workflow — or is left at the defaultmain— you are executing assets from a ref you did not review. - Grant the documented minimum permissions, not
write-all. Each workflow's required grant is listed indocs/callers/. - These workflows are MIT licensed and provided as-is. If you call them from outside Comfy-Org, you are trusting this repo's contents at whatever ref you pin; review it as you would any dependency.