Hence "hack". It needs keys for administration but at a first glance, I see no reason why a git-anon user couldn't be part of gitolite's git user.
Or maybe you can write a shell that runs a gitolite-shell command is its arguments are not already gitolite-shell?