We analyze the impact of leniency programs on the behavior of firms participating in illegal cartel agreements in a two-stage repeated game model. Our approach takes into account asymmetric punishment effect and allows to discuss the design of leniency programs in the setting with asymmetries. The main contribution of the paper is that we consider heterogeneous firms. This heterogeneity results in additional costs in case of disclosure of the cartel, which are caused by asymmetric punishments. Next, following current antitrust rules, we analyze effects of the strictness of leniency programs, which reflects the likelihood of getting a complete exemption from fine even in case many firms self-report simultaneously. Our main conclusion is that leniency programs work better for small companies, since a lower rate of law enforcement is needed in order to induce self-reporting by smaller firms, while big firms are less likely to start a cartel in the first place given the possibility of self-reporting in future. Finally, we analyze optimal enforcement strategies of the antitrust authority and conclude that the authority with limited resources should implement more generous leniency rules the more cartelized the economy is.