Faits : A. Par ordonnance pénale du 12 mai 2016, le Ministère public de l'arrondissement de Lausanne a condamné X._, pour recel et infraction à la LEtr, à une peine pécuniaire de 100 jours-amende à 30 fr. le jour. Le 13 mai 2016, X._ a formé opposition contre cette ordonnance pénale. Par ordonnance du 19 mai 2016, le ministère public a maintenu son ordonnance pénale du 12 mai 2016 et l'a transmise au Tribunal de police de l'arrondissement de Lausanne à titre d'acte d'accusation. Par pli recommandé du 7 février 2017, retiré au guichet postal le 10 février 2017, le Tribunal de police a cité X._ à comparaître personnellement aux débats fixés le 5 mai 2017. Le 5 mai 2017, X._ n'a pas comparu à l'audience. Son défenseur d'office s'y est quant à lui présenté et a requis le droit de représenter sa cliente, tout en précisant ignorer les motifs de son absence. Par prononcé du 5 mai 2017, le Tribunal de police a constaté que l'opposition formée le 13 mai 2016 était considérée comme retirée et a dit que l'ordonnance pénale du 12 mai 2016 était définitive et exécutoire. B. Par arrêt du 9 juin 2017, la Chambre des recours pénale du Tribunal cantonal du canton de Vaud a rejeté le recours formé par X._ contre le prononcé du 5 mai 2017 et a confirmé celui-ci. En substance, la cour cantonale a considéré que X._ n'avait pas établi avoir été empêchée de comparaître à l'audience du 5 mai 2017 et que son opposition était réputée retirée conformément à l'art. 356 al. 4 CPP. C. X._ forme un recours en matière pénale au Tribunal fédéral contre l'arrêt du 9 juin 2017, en concluant, avec suite de frais et dépens, à sa réforme en ce sens que l'opposition à l'ordonnance pénale du 12 mai 2016 est valable et qu'une nouvelle audience de jugement est fixée et, subsidiairement, à son annulation et au renvoi de la cause à l'autorité cantonale pour nouvelle décision. Elle sollicite par ailleurs le bénéfice de l'assistance judiciaire.