The exact charges will remain under seal until the arraignment, which is scheduled on June 25 in Queens Criminal Court, the source said.
Cardi was arrested in October for allegedly participating in an attack on two bartenders at the Flushing strip club. The two claim they were injured by bottles and chairs thrown inside the club.
The brawl happened last August, allegedly after Cardi believed one of the female bartenders had a relationship with her husband, Offset.
She had been charged with two misdemeanor counts of reckless endangerment and one misdemeanor count of assault. But in April, the rapper, whose real name is Belcalis Marlenis Almánzar, rejected a plea deal, which would have granted her a conditional discharge in return for pleading guilty to a single misdemeanor.
Prosecutors then investigated further and took the case to a grand jury.
Cardi's attorney has said he's not aware of any evidence that she caused anyone harm.
CNN has contacted representatives for Cardi B for comment on the indictment.