dessant/lock-threads@v6, actions/checkout@v4, and
actions/upload-artifact@v4 were pinned to mutable tags rather than
commit SHAs. Anyone who compromises a maintainer's account (or the
maintainer themselves) can retarget a tag your workflows already
trust, silently swapping in different code with access to whatever
that job's token can do — lock.yml's runs with an
issues/pull-requests/discussions write token on every scheduled run.
Pin all three to their current tag's commit SHA, keeping the tag as
a trailing comment for readability.
Summary
Test plan
🤖 Generated with Claude Code