I'm not sure how customizable Trac is, but one idea would be to implement reCAPTCHA for anything marked as spam (assuming robots are causing spam issues and not users). If it gets solved, it's probably a human entering something on the other end.
We've had that implemented since... I dunno, about six months ago maybe? (screenshot: https://skitch.com/jacobian/fgjmc/django). Not sure why you didn't see it. I wouldn't be surprised if Trac somehow didn't show it to you; it's a bit of a mystery to me some times.
I'm not sure how customizable Trac is, but one idea would be to implement reCAPTCHA for anything marked as spam (assuming robots are causing spam issues and not users). If it gets solved, it's probably a human entering something on the other end.
This is a Python 2 reCAPTCHA module I forked/updated: https://github.com/dave-gallagher/recaptcha-client-1.0.6-ssl