> … git push directly to the repository
Then we have a security problem or two.
Then we have a security problem or two.
> in a separate branch namespace
So not really. It's a special branch path that only exists for opening PRs, and doesn't do anything other than opening a PR. Yes, they share an object space, but so do forks in the first place, so any security issues with this flow are the same ones in the fork-PR flow.
You can check out this which covers the whole flow: https://git-repo.info/en/2020/03/agit-flow-and-git-repo/
Or for a simpler overview, look at Gitea/Forgejo's implementation: https://forgejo.org/docs/latest/user/agit-support/
Folks with accounts "littered with old forks created to make PRs" may not have that kind of attentiveness.