An off-duty federal agent has been heralded as a "hero" after shooting and killing a man who had unleashed gunfire in the parking lot of a Crozet grocery store Monday.