Crafty uses SAT collision detection, so as you suspect it only works for convex objects.
If you want to add multiple hit boxes, you can create an additional entity for each, add a hit box to it, and use the .attach() method to have its motion match the main entity. You'd then have to communicate between these child entities and the parent to get collisions working properly.
This probably won't work too well if you want reasonable physics, but if it's just for checking e.g. whether an entity gets hit by a projectile it should be fine.