The double shooting occurred Wednesday afternoon at the Citadel Mall, The (Charleston) Post and Courier reported.
Charles Francis, Charleston police public information officer, said the gunfire began about 1:30 p.m. outside the J.C. Penney store when three men got into an altercation and one of them shot one of the other two. The federal officer, whose name and agency were not released, then shot the gunman.
Begondae Moore, 27, of Goose Creek was pronounced dead at a hospital about a half-hour later of multiple gunshot wounds, Charleston County Chief Deputy Coroner Judy Koelpin said.
The other injured man, whose name also was not released, was being treated for a leg wound. His condition was unknown.
It was the third shooting incident at the mall in recent years.