Faits : A. Par jugement du 23 août 2017, le Tribunal correctionnel de l'arrondissement de Lausanne a condamné X._ pour infraction grave à la Loi fédérale sur les stupéfiants à une peine privative de liberté de 36 mois, avec sursis partiel portant sur 30 mois pendant un délai d'épreuve de 2 ans. B. Statuant le 6 décembre 2017 sur l'appel et l'appel joint formés respectivement par X._ et le ministère public, la Cour d'appel pénale du Tribunal cantonal vaudois les a rejetés, le jugement du 23 août 2017 étant confirmé. En substance, la cour cantonale a retenu les faits suivants. X._, ressortissant français domicilié à A._ (France), a agi en tant qu'intermédiaire dans le cadre d'un trafic de cocaïne mené à B._ par son beau-frère C._. X._ avait mis en contact celui-ci avec un fournisseur de drogue non identifié et prénommé D._, lesquels ont passé deux transactions de cocaïne portant sur 50 grammes en janvier ou en février 2011, puis sur 150 grammes entre janvier et mai 2012. Par la suite, le 7 juin 2012, X._ s'est porté garant du paiement par son beau-frère d'une troisième livraison portant sur 500 grammes de cocaïne fournis par D._, livraison que X._ a lui-même transportée depuis la France jusque dans le canton de Genève pour la remettre à C._. Ce dernier ne s'étant pas présenté au lieu de rendez-vous, la transaction n'a finalement pas eu lieu. Les stupéfiants en cause avaient un taux de pureté moyen de 35%. C. X._ forme un recours en matière pénale au Tribunal fédéral contre ce jugement. Il conclut, avec suite de frais et dépens, principalement à son acquittement. Subsidiairement, il conclut au renvoi de la cause à l'autorité précédente pour nouvelle décision, plus subsidiairement pour complément d'instruction. Il sollicite en outre le bénéfice de l'assistance judiciaire.