Florida Sen. Marco Rubio launched a major attack on fellow Sen. Ted Cruz in the closing minutes of Thursday night’s Republican debate, accusing him of making a “political calculation" before flipping his positions on such issues as National Security Agency surveillance and immigration.

Rubio, who is battling Cruz for second place behind Donald Trump in the national Republican polls, argued that he was the best candidate to keep America safe and that he wouldn’t call Edward Snowden, who leaked highly classified NSA secrets, a “good public servant” as Cruz has done.

“He’s a traitor,” Rubio said near the close of the Fox Business Channel debate in North Charleston. S.C.

Cruz has also suggested more recently that Snowden, accused by the Obama administration of espionage, is indeed a traitor.

Rubio also said Cruz has stood with Vermont Sen. Bernie Sanders -- a self-proclaimed socialist and 2016 Democratic presidential candidate -- to block key defense bills.

Rubio also accused Cruz of shifting his position on illegal immigration now that he’s in a Republican primary.

The latest headlines on the 2016 elections from the biggest name in politics. See Latest Coverage →

“I appreciate you dumping your opposition-research folder on the debate stage,” Cruz said in response, to which Rubio shot back "No, it's your record."

Cruz maintained that he opposes “amnesty” while Rubio backs citizenship for illegal immigrants.

"I will say at least half the things Marco said are flat-out false," the Texas senator said. "