I'd recommend a search engine query for "bad words list", there are quite a few out there, though you'll need to decide how strict you want to be – there are many "bad" words – like cock, bitch, taxes, douche, and ass – which have completely non-profane use cases.
A couple quick picks from my own search:
http://www.bannedwordlist.com/ – quick source for a largish list in xml, txt, csv formats
http://urbanoalvarez.es/blog/200… – a list in txt format, along with a simple MySQL database featuring swear words and replacements
Also, I'd just like to highlight that bad words are not the only moderation issue you face… Take the following examples:
http://yoursite.net/f_u_c_k_o_f_f
http://yoursite.com/eonmyfaceplease
http://yoursite.gov/shhhhhhhhhit
http://yoursite.org/y-at-your-mo…
Suffice to say there are a lot of ways around auotmated filtering systems… I'd reframe the issue this way: implementing something to satisfy everyone is a huge drain on development resources…
If your site becomes hugely popular as a URL shortener, then the profanity will get lost in the mix, mere background noise. If you never gain popularity, then manual moderation or even just "living in obscurity" can probably keep you out of trouble with your boss, customers, and the law.