My solution to this would be to create a component AITarget which marks an entity as something zombies are supposed to attack (like a player or a civilian).
Now the ZombieAI system would receive not one but two separate sets of component-tuples. One for all entities with the Transform and AIPathfinding components and another set with the Transform and AITarget components. The job of the system would be to find the "best" AI Target for each zombie.