The activities of security contractors are "in conflict" with the US military's mission in Iraq, Secretary of Defense Robert Gates has said.
Robert Gates' criticisms are said to be his strongest so far
But he acknowledged that the US could not manage without contractors, except by diverting thousands of troops.
On Thursday, three Iraqis were injured when guards from a UK company fired into a taxi in Kirkuk in northern Iraq.
Security firms are under scrutiny after 17 Iraqis died in a clash involving guards from the US firm Blackwater.
That incident, in September, led the Iraqi government to demand that the US sever all contacts with Blackwater. There have also been calls for the guards to be prosecuted in Iraq.
Mr Gates said: "As I see it, right now those missions are in conflict."
"Just based on everything I've read and what our own team has reported, there have been instances where, to put it mildly, the Iraqis have been offended and not treated properly," he added.
The taxi was fired on through the windscreen, injuring three
The Pentagon has said it is considering whether all security contractors should be brought under a central authority to exert more control over them, the AFP news agency has reported.
The shooting in Kirkuk on Thursday occurred when a convoy escorted by security contractors working for the UK company Erinys International was approached by a taxi carrying several people.
The convoy was carrying members of the US Army Corps of Engineers.
According to a statement by the US military in Baghdad, warning shots were fired. The incident is being investigated.
A US official said the injured were taken to hospitals by US troops.