No, you’re not an asshole. If you want this to stop, you need to be direct with her and tell her she needs to stop what she’s doing. She’s either so socially unaware that she doesn’t realize what she’s doing is wrong or she knows exactly what she’s doing, and is taking advantage of you. Either way, you need to make it clear to her that the food you buy isn’t for the whole apartment and that she needs to ask permission if she wants to take anything she didn’t pay for.
If she doesn’t fix her behavior promptly, I’d give up on her ever respecting you or your possessions, and would either find a way to store your food in a place she can’t access or take other measures to keep her from taking advantage of you. Even possibly consider reporting her to the complex and/or requesting a room change since it might be just food for now, but if this type of behavior continues to escalate, she will start to feel entitled to more of your stuff, possibly stealing them too