백제와 고구려 정벌에 공이 큰 대당총관(大幢摠管) 김진주(金眞珠)의 아들이다. 675년(문무왕 15) 당시 그는 숙위학생으로 당나라에 파견되어 있었는데, 662년에 아버지가 국사를 소홀히 한다는 이유로 남천주총관(南川州摠管) 진흠(眞欽)과 함께 죽음을 당한 사실에 불만을 품고 675년 9월에 설인귀(薛仁貴)가 이끄는 당나라군사의 향도(嚮導)가 되어 신라에 침입하였다.
당나라 군사는 천성(泉城: 지금의 황해도 백수성)을 공격하였으나 문훈(文訓)의 선전으로 참패하고 돌아갔다. 당나라의 향도가 된 것은 아버지의 처형에 대한 개인적인 불만과 원한관계를 정치적으로 이용한 당나라의 의도에 기인한 듯하다.