In git, the commit messages themselves also take part in the computation of the commit ID. That is, one cannot retroactively forge one of the commit messages and stay at the same commit ID.
Now, of course it's possible that somehow an attacker modified your git repository, replaced all your commit messages with the string you're seeing, but it's extremely unlikely; also it would result in all your commit IDs having changed from their previous values.
I find it way more likely that your repository is absolutely fine, it's just that the way you display these commit messages is configured to display this fixed string.
I can reproduce your behavior with commands like
git log --format=format:'feat(custom):%n%n'
git show --format=format:'feat(custom):%n%n'
where I explicitly tell git to use a format string whose value is a fixed string (including a couple of trailing newlines), and no placeholder for the actual commit message.
I suspect that somehow you have configured your git to use such a format by default. I'd look at the git configuration files (system-wide, user-wide, repo-specific) and do a recursive grep for the words "feat" or "custom", this might point to the location where the default commit log format is overridden to this fixed string.
git show
show a commit message?git log
.