Faits : A. A._, ressortissant albanais né en 1978, a été arrêté le 19 novembre 2017 et prévenu d'infraction à la Lstup pour avoir, à tout le moins de janvier à mai 2017, participé à un trafic d'héroïne portant sur une quantité minimale de 125 grammes. Par ordonnance du 22 novembre 2017, le Tribunal des mesures de contrainte du canton de Genève a ordonné sa mise en détention provisoire jusqu'au 22 janvier 2018. Selon le rapport d'arrestation du 20 novembre 2017, la police enquêtait depuis début 2017 sur un réseau de trafiquants comprenant les dénommés B._ et C._, auprès desquels il était apparu que le prévenu s'était approvisionné et aurait revendu 125 grammes d'héroïne à des tiers. Les soupçons étaient suffisants et les risques de fuite, de collusion et de réitération étaient concrets. B. Par arrêt du 6 décembre 2017, la Chambre pénale de recours de la Cour de justice genevoise a rejeté le recours formé par le prévenu contre l'ordonnance de mise en détention. Le rapport d'écoutes téléphoniques n'avait pas été joint au rapport d'arrestation qui s'y référait. Toutefois, le prévenu avait eu connaissance des pièces essentielles de la procédure et connaissait les charges à son encontre. Il avait en outre déclaré qu'il connaissait B._ dont il avait le numéro de téléphone. Il avait reconnu s'être rendu dans un appartement en France voisine dans lequel vivait une personne arrêtée avec une importante quantité d'héroïne. Au premier stade de la procédure, les soupçons étaient suffisants. Les risques de fuite, de réitération et de collusion n'étaient pas contestés. C. Par acte du 5 janvier 2018, A._ forme un recours en matière pénale par lequel il demande au Tribunal fédéral d'annuler l'arrêt cantonal et l'ordonnance de mise en détention, d'ordonner sa mise en liberté et de condamner l'Etat de Genève à lui verser une indemnité pour détention injustifiée de 9600 fr., montant à adapter en fonction de la durée de la procédure. Subsidiairement, il conclut au renvoi de la cause à la Chambre pénale de recours pour nouvelle décision au sens des considérants. Par la suite, le recourant a demandé l'assistance judiciaire. La cour cantonale se réfère aux considérants de son arrêt, sans observations. Le Ministère public conclut au rejet du recours. Dans ses dernières observations, le recourant persiste dans ses griefs et conclusions.