With npm, you can opt in to have your npm package releases signed, and it took less than five minutes for me to integrate. As long as the package is published with GitHub Actions (or other supported CIs I guess), you can sign the package and npmjs shows it as well.
Git also has release and commit signing with gpg/ssh keys, so the authentication is already solved.
https://github.blog/2023-04-19-introducing-npm-package-prove...