Brazilian authorities are investigating whether a massive oil spill off the coast could have been caused by a "ghost" tanker carrying Venezuelan oil in defiance of US sanctions.

The slick has contaminated beaches along a 2,000km-long stretch of the country's north-eastern shore line.

Brazil has accused Venezuela of responsibility for the leak that began in early September, a charge state oil company PDVSA denies.

The Brazilian navy has described the incident as "very complex and unprecedented," and has many theories for the cause, including a ship accident, AFP reported.

"Yesterday we had a meeting with representatives of various public bodies, such as the environmental agency Ibama, prosecutors and the navy, and this hypothesis of a ghost ship was mentioned," Maria Christina Araujo, an oceanographer at the Federal University of Rio Grande do Norte, told the news agency.

"It would be a cargo ship sailing illegally, following little known shipping routes, and would be carrying Venezuelan oil despite sanctions."

Brazil's environment minister Ricardo Salles told a congressional commission last week that the oil "probably came from Venezuela."

Brazilian state energy company Petrobras said the oil involved was "neither produced nor sold" by it.

Nearly 200 tons have been recovered from beaches.

The PRI website reported that the navy is analysing marine traffic records in the region and computer models of ocean currents and winds.

It has asked 30 tankers flying 10 different flags to provide information.

"About 140 ships navigated in this region,” Brazil’s president Jair Bolsonaro said last week.

“This could be a criminal act, could be an accidental spill. It could also be a ship that sank. It is complex.”