Hooks only keep honest people honest :) and an LLM will happily clobber a tag and skip hooks while the user just spams “accept”.
I'm sure that would cause problems for some, but transitive labels already exist in Git: branches.
Of course, the repository owner has unlimited privilege here, hence the last part of my prior comment.
Packed refs are a little more complicated but all of the storage formats in git are trivial to manually edit or write a tool to handle, in extremis.
https://docs.github.com/en/repositories/configuring-branches...
https://docs.gitlab.com/user/project/protected_tags/
https://forgejo.org/docs/latest/user/protection/#protected-t...