To his defense in pragmatics u cannot separate culture from language. Animals have different connotations in different cultures , quite often conflicting in meaning. U should investigate first what does rat mean in colloquial Portuguese to understand what he wanted to say. Perhaps in their culture it means sneaky (like moroccan's). Rat in English language and cultures means more than a sneaky person, it means someone who is sneaky,traitor and dirty at once, so its straight offensive. The most insulting animal in our culture for example is the donkey. Fists would be immediately thrown if u call someone that. But the Democrats have a donkey as their logo . u see
What surprised me most is his language skills. For those many years he spent in England his command of English leaves a lot to be desired.