An Italian parliamentary commission on Tuesday called for police to be deployed on or close to charity boats rescuing migrants in waters off Libya.
Nicola Latorre, chairman of the defence commission of the Senate, said the move would ensure investigations into people traffickers begin at sea, where "crucial evidence can be lost."
He was speaking at the presentation of a report based on a series of hearings which have seen NGOs accused of encouraging the mass influx of migrants to Italy by providing a 'taxi pick-up' service for packed rickety boats that traffickers effectively only need to get out of Libyan territorial waters.
NGOs poured cold water on the idea of allowing police to travel with them.
"We have a humanitarian mandate and we want to maintain a clear distinction between that and any military or police intervention," one organisation, SOS Mediterranee, said in a statement. "This is crucial for our independence."
In its report, the commission also recommended a system of registering NGO's active in search and rescue operations in order to ensure full transparency about their financing.
Charity boats have this year been responsible for rescuing around one third of the thousands of migrants picked up in waters off Libya. That is up from around a quarter last year.
Italy has taken in more than half a million migrants rescued in this way since the start of 2014.
The defence commission's recommendations follow a row over claims by a prosecutor based in Sicily that some NGO boats could be being financed by the traffickers themselves to make their job of getting mostly African migrants into Europe in return for payments.
A more subtle version of the argument suggests the charity boats have helped to create a 'pull' factor by decreasing the risks involved in trying to make the Mediterranean crossing.
Figures suggest however that the journey remains extremely dangerous with 1,229 people recorded as having died or disappeared at sea so far this year, according to the International Organisation for Migration. That is one death for every 37 people rescued.