Faits :
A.
Par jugement du 12 novembre 2020, le Tribunal de police de l'arrondissement de Lausanne a reconnu A._ coupable de tentative de vol, de vol et d'utilisation frauduleuse d'un ordinateur et l'a condamnée, outre aux frais de la procédure, à une peine privative de liberté de 120 jours, avec sursis pendant cinq ans, et à une amende de 500 fr., convertible en 5 jours de peine privative de liberté à défaut de paiement. Il a révoqué divers sursis antérieurs et a renoncé à révoquer le sursis accordé le 22 janvier 2019 par le Ministère public de l'arrondissement de Lausanne. Le tribunal de police a encore dit que A._ était débitrice de B._ AG de la somme de 49 fr. 90.
B.
Par jugement du 26 mars 2021, la Cour d'appel pénale du Tribunal cantonal vaudois a partiellement admis l'appe l interjeté par A._ contre le jugement de première instance. Elle l'a reconnue coupable d'utilisation frauduleuse d'un ordinateur et libérée des chefs d'accusation de tentative de vol et de vol. Elle l'a condamnée à une peine privative de liberté de 90 jours, peine partiellement complémentaire à celle prononcée le 22 janvier 2019, avec sursis pendant 5 ans. Elle a confirmé le jugement de première instance pour le surplus.
En résumé, elle a retenu les faits suivants: à W._, entre le 8 décembre 2018 et le 19 février 2019, A._ a utilisé indument les numéros de cartes de crédit de personnes non identifiées mais résidant à l'étranger, pour effectuer huit commandes sur le site X._ et obtenir la livraison de produits commandés sur Y._ pour un montant total de 7'804 fr. 15; elle a consommé la marchandise reçue à son domicile. Y._ a déposé plainte le 19 février 2019. Puis, entre le 24 mars 2019 et le 11 avril 2019, la prénommée a commandé de la marchandise sur le site Z._ en utilisant les numéros de cartes de crédit de diverses personnes résidant à l'étranger. A l'exception de la commande du 24 mars 2019, les livraisons ont pu être annulées par B._ AG, qui a déposé plainte le 29 avril 2019 et a formulé des prétentions civiles s'élevant à 49 fr. 90.
C.
A._ forme un recours en matière pénale au Tribunal fédéral contre le jugement du 26 mars 2021. Elle conclut principalement à son " annulation", en ce sens qu'elle est acquittée des chefs d'accusation de tentative de vol et de vol. Subsidiairement, elle conclut à l'annulation du jugement entrepris et au renvoi de la cause à l'autorité précédente pour nouvelle décision dans le sens des considérants. Elle sollicite en outre le bénéfice de l'assistance judiciaire.

Considérant en droit :
1.
La recourante a été acquittée par le Tribunal cantonal des chefs d'accusation de tentative de vol et de vol. Ces points sont entrés en force, de sorte que la conclusion de la recourante tendant à la libération des chefs d'accusation de tentative de vol et de vol est sans objet.
Bien que cela ne ressorte pas expressément des conclusions du recours, on comprend de sa motivation que la recourante conteste sa condamnation pour utilisation frauduleuse d'un ordinateur (<ref-law>). Elle se plaint d'arbitraire dans l'établissement des faits et d'une violation de la maxime d'accusation.
2.
La cour cantonale a retenu que les commandes litigieuses - effectuées avec des adresses IP étrangères - avaient été passées en Suisse au moyen d'un VPN. Se fondant sur un ensemble d'éléments convergents, elle a acquis la conviction que c'était bien la recourante qui avait effectué les commandes litigieuses, et non le prétendu C._ qui, à l'évidence, n'existait pas. Elle a en revanche considéré que rien ne permettait de retenir que la recourante avait volé les cartes de crédit; elle avait seulement utilisé les numéros desdites cartes, opération qui ne nécessitait pas d'être en possession de celles-ci.
3.
La recourante reproche à la cour cantonale d'avoir violé la maxime d'accusation en retenant qu'elle avait utilisé un VPN alors que ce mode de procéder ne ressortirait pas de l'acte d'accusation et que l'autorité de première instance n'en aurait pas fait état.
3.1. L'<ref-law> consacre la maxime d'accusation. Selon cette disposition, une infraction ne peut faire l'objet d'un jugement que si le ministère public a déposé auprès du tribunal compétent un acte d'accusation dirigé contre une personne déterminée sur la base de faits précisément décrits. En effet, le prévenu doit connaître exactement les faits qui lui sont imputés et les peines et mesures auxquelles il est exposé, afin qu'il puisse s'expliquer et préparer efficacement sa défense (<ref-ruling> consid. 2.2 p. 65; <ref-ruling> consid. 3.4.1 p. 142 s.). Les <ref-law> règlent la mise en accusation, en particulier le contenu strict de l'acte d'accusation. Selon l'<ref-law>, l'acte d'accusation désigne notamment les actes reprochés au prévenu, le lieu, la date et l'heure de leur commission ainsi que leurs conséquences et le mode de procéder de l'auteur (let. f); les infractions réalisées et les dispositions légales applicables de l'avis du ministère public (let. g). En d'autres termes, l'acte d'accusation doit contenir les faits qui, de l'avis du ministère public, correspondent à tous les éléments constitutifs de l'infraction reprochée à l'accusé.
Le tribunal est lié par l'état de fait décrit dans l'acte d'accusation, mais peut s'écarter de l'appréciation juridique qu'en fait le ministère public (<ref-law>), à condition d'en informer les parties présentes et de les inviter à se prononcer (<ref-law>). Il peut toutefois retenir dans son jugement des faits ou des circonstances complémentaires, lorsque ceux-ci sont secondaires et n'ont aucune influence sur l'appréciation juridique (arrêts 6B_1452/2020 du 18 mars 2021 consid. 2.1; 6B_1023/2017 du 25 avril 2018 consid. 1.1 non publié in <ref-ruling>; 6B_947/2015 du 29 juin 2017 consid. 7.1). La description des faits reprochés dans l'acte d'accusation doit être la plus brève possible (art. 325 al. 1 let. f CPP). Celui-ci ne poursuit pas le but de justifier ni de prouver le bien-fondé des allégations du ministère public, qui sont discutées lors des débats. Aussi, le ministère public ne doit-il pas y faire mention des preuves ou des considérations tendant à corroborer les faits (arrêts 6B_1452/2020 précité consid. 2.1; 6B_1023/2017 précité consid. 1.1 et la référence citée).
3.2. En l'espèce, l'acte d'accusation contient les faits qui correspondent à tous les éléments constitutifs de l'infraction d'utilisation frauduleuse d'un ordinateur et répond ainsi aux exigences de l'art. 325 al. 1 let. f CPP. Conformément à la jurisprudence précitée (cf. consid. 3.1 supra), la cour cantonale pouvait décrire l'utilisation du processus électronique de manière plus détaillée que l'acte d'accusation. En effet, en retenant l'utilisation d'un VPN, la juridiction précédente s'est limitée à retenir une circonstance complémentaire qui était secondaire et n'était pas propre à influencer l'appréciation juridique. Il s'ensuit que le grief doit être rejeté.
4.
La recourante se plaint d'arbitraire dans l'établissement des faits.
4.1. Le Tribunal fédéral n'est pas une autorité d'appel, auprès de laquelle les faits pourraient être rediscutés librement. Il est lié par les constatations de fait de la décision entreprise (<ref-law>), à moins qu'elles n'aient été établies en violation du droit ou de manière manifestement inexacte au sens des art. 97 al. 1 et 105 al. 2 LTF, à savoir, pour l'essentiel, de façon arbitraire au sens de l'art. 9 Cst. Une décision n'est pas arbitraire du seul fait qu'elle apparaît discutable ou même critiquable; il faut qu'elle soit manifestement insoutenable et cela non seulement dans sa motivation mais aussi dans son résultat (<ref-ruling> consid. 1.3.1; <ref-ruling> consid. 1.1; <ref-ruling> consid. 1.1; sur la notion d'arbitraire voir <ref-ruling> consid. 4.1.2 et les arrêts cités). Le Tribunal fédéral n'entre en matière sur les moyens fondés sur la violation de droits fondamentaux, dont l'interdiction de l'arbitraire, que s'ils ont été invoqués et motivés de manière précise (<ref-law>); les critiques de nature appellatoire sont irrecevables (<ref-ruling> consid. 4.1.2 et les arrêts cités). Lorsque l'appréciation des preuves et la constatation des faits sont critiquées en référence à la présomption d'innocence (art. 6 par. 2 CEDH, 32 al. 1 Cst. et 10 CPP), le principe "in dubio pro reo" n'a pas de portée plus large que l'interdiction de l'arbitraire (<ref-ruling> consid. 1.3.1; <ref-ruling> consid. 1.1; <ref-ruling> consid. 1.1).
4.2. Pour autant que l'on comprenne, la recourante estime l'état de fait cantonal arbitraire car il retiendrait l'utilisation d'un VPN alors que le vol des cartes de crédit n'aurait pas été retenu, ce qui impliquerait, selon elle, que les numéros desdites cartes ne pouvaient être connus. Or par un tel procédé, la recourante se contente de discuter, de manière purement appellatoire, l'appréciation de la cour cantonale et d'y opposer sa propre appréciation, sans démontrer que la juridiction précédente aurait fait preuve d'arbitraire en retenant que l'utilisation des numéros des cartes de crédit ne nécessitait pas d'être en possession de celles-ci. Insuffisamment motivée, l'argumentation de la recourante est irrecevable.
4.3. Pour le reste, quoi qu'elle conteste les faits, la recourante ne discute pas le jugement attaqué en ce qu'il lui impute la réalisation des éléments constitutifs objectifs et subjectifs de l'infraction sanctionnée par l'<ref-law>.
5.
Au vu de ce qui précède, le recours doit être rejeté dans la faible mesure de sa recevabilité. Comme il était dénué de chance de succès, la demande d'assistance judiciaire doit être rejetée (<ref-law>). La recourante, qui succombe, supporte les frais judiciaires, dont le montant sera fixé en tenant compte de sa situation financière, laquelle n'apparaît pas favorable (art. 65 al. 2 et 66 al. 1 LTF).

Par ces motifs, le Tribunal fédéral prononce :
1.
Le recours est rejeté dans la mesure où il est recevable.
2.
La demande d'assistance judiciaire est rejetée.
3.
Les frais judiciaires, arrêtés à 1'200 fr. sont mis à la charge de la recourante.
4.
Le présent arrêt est communiqué aux parties et à la Cour d'appel pénale du Tribunal cantonal du canton de Vaud.
Lausanne, le 22 décembre 2021
Au nom de la Cour de droit pénal
du Tribunal fédéral suisse
La Présidente : Jacquemoud-Rossari
La Greffière : Paris