He probably figured he risked coming across as too desperate. Evidently, he didn't need to since everyone else did that for him.
Really it comes down to what folks have observed about the man earlier. He refrained from attacking Trump for months and wouldn't take a definitive stand on Trump's involvement in January 6th. So in a way it was like up to this debate the man had basically "made his bed" and thus anti-Trump attacks (ironically) need to be more measured than the other candidates who just straight up called out Trump.
Not only did he not go after Vivek, he even managed to pivot himself into BASICALLY AGREEING WITH VIVEK ON UKRAINE by loudly countering NO WE GOT TO THINK ABOUT THIS COUNTRY FIRST when Nikki Haley was trying to blast him for calling the conflict "a border dispute". This is definitely a stance that is lathered in cowardice, but with the mans established ANTI-WOKE REGIME quasi MAGA quasi culture warrior schtick, what did folks expect?
He's still not going to win and neither is Vivek. Both of these guys are basically holding Trumps water for him until he is able to attend a debate. LETS NOT LIE.