The government says the legislation will give a ‘sound legal footing’ for those who work to ‘protect the public’.
Former Consertvative minister David Davis has warned the bill could ‘impinge on innocent people’.
During a debate on the bill, shadow home secretary Nick Thomas-Symonds said Labour would not oppose it at this stage.
But he did say the party would ‘seek to improve on the vital issue of safeguards, so the public can have confidence in the process and our law enforcement bodies can carry out that vital work of keeping us all safe’.
However, a number of Labour MPs broke party orders to abstain on the vote including former leader Jeremy Corbyn and former chancellor John McDonnell who voted against the bill.
Another Labour MP, Apsana Begun said: ‘There is a grave, serious and very real danger, the bill could end up providing informers and agents with a license to kill’.
BBC home affairs correspondent Dominic Casciani said the legislation would explicitly authorise MI5, the police, the National Crime Agency and other agencies that use informants or undercover agents to commit a specific crime as part of an operation.
The law will require MI5 officers and others to show the crime is ‘necessary and proportionate’, but security officials will not say which crimes they will consider authorising, as it could lead to terrorists and other serious criminals working out who is undercover.
However, the legislation stresses agencies must not breach the Human Rights Act, which requires the government to protect life.
A senior judge will report on how the power is used and there will be no role for the Crown Prosecution Service in reviewing the crimes.
A number of MPs from across the House of Commons raised concerns around safeguards to ensure agents would not be able to commit crimes such as murder or torture.
The bill will return to the Commons for its next stages on 15 October.