Poor Snuggles, sounds like she’s really been through a lot. Kudos to you for wanting to help this needy feline. From your description it appears to be two forms of aggression being expressed.
Many animals exhibit “cage aggression,” yet they’re sweet and loving in other situations. To understand this dynamic, put yourself in Snuggle’s shoe--er, paws. You are a cat much smaller than the human who opens your cage door. You may/may not know the person. You CANNOT escape--and that hand keeps coming closer and closer and closer. When kitties feel great fear, they can’t think and the “flight or fight” instinct kicks in. Snuggles can’t get away so she reacts with defensiveness trying to scare off the scary person before it hurts/scares her even worse. Moving Snuggles to an open environment would likely reduce this form of aggression to a huge extent.
The second situation--demanding attention and then attacking--could be called “petting aggression.” These cats may have a couple of things going on. Often they are felines who want to call the shots, and be in control of their world and environment. Is it any wonder that Snuggles with her recent history wants to control SOMETHING? Also, some cats simply become over-stimulated very easily with too much contact. Remember that cats have very sensitive skin, and every hair on the body acts like a whisker-antennae transmitting sensation. Too much of a good thing may cause emotional overload--so while Snuggles wants contact and petting, at a certain point she must stop it, and does so with a hiss, slap or bite.
For petting aggression, watch and learn to understand Snuggle’s body signals. She will TELL you when she’s had enough--but you must be vigilant and stop the petting/contact before she nails you. Watch for ear position moving from face-front to sideways or backwards; tail position changing from straight up to more horizontal or moving a great deal; and eyes suddenly dilating. Incidentally, some cats hate being stared at so avoid locking eyes with her because that may prompt a quick “leave me alone” hissy fit.
Source: http://www.catchow.com