This answer is about how we define good and bad. Such quality attributes apply to everything we interact with, not only persons. The reason of such approach is that there's no possibility of having a consistent definition of what a bad person is.
It seems incredibly simple, but our behavior basically consist in taking binary decisions: as subjects, we interact with some objects, we get personal results, which are different from the object's, and then we take the binary decision: interact again or not. That means creating attraction for the object or creating rejection. Our discourse about such results is expressed on terms of something being good or bad.
For example, I have a conversation with a person. If I see that such person had given me positive results after our interaction (whether economic, personal, ludic, whatever my interest would be), I will conclude if such person is good or bad. This is amazing, if you think about it: we qualify others (persons or things) as good or bad, with few information, with just a tiny amount of knowledge, with prejudices. That's a natural survival mechanism. If it's bad, I will create rejection, and avoid further interactions. If the result is good, positive, I create attraction and try to have further interactions. Of course, my assessment about someone can radically change at any moment.
So, there's no objective attributes that can be used to define someone as good or bad. A drug addict or a tibetan monk could be a good person for me depending on what are the goals of my life, or of the moment. We survive taking such decisions permanently. Our personal truth depends not only on reality and facts, but also on our personal position about other persons or things, obtained by means of interaction.
We also qualify things the same way: by interacting with them and creating attraction or rejection towards them. Think about drugs, foods, gaming machines, a rock, a country, a political ideology, etc. and you'll se our behavior about things is the same: they're good or bad according to how positive they are for us.
We might anyway have a somehow objective definition of what a bad person is, based on what would be a common interaction result of us, the subject, a society, and a particular individual, the object: the subjective value of such object would be based on the results of interaction. If the individual is good for the persistence of the society, it's a good person. So, a person is bad for a society according to how much it decreases the probabilities of survival of such society. Vicious people or rapists are bad because they increase slightly (or highly) our groupal probabilities of persistence.
My personal research field is interaction, if you are interested on the mechanics of interaction, you can find more about it on my profile. You can read my answer about the definition of truth here: https://philosophy.stackexchange.com/a/54862/23407