공험진(公嶮鎭)의 위치에 대해서는 함흥평야설, 길주설, 두만강 이북설 등 여러 학설이 분분하다. 지금까지도 여러 학설이 논란이 되고 있는 이유는 관련 사료가 명확하지 않고, 남북 분단으로 인해 현지 성곽을 고고학적으로 발굴하기가 어렵기 때문이다.
고려는 천리장성 이북 지역에 있는 여진 촌락들을 기미주(羈縻州)로 편제하여 영향력을 행사하였다. 완안부(完顏部)를 중심으로 여진 부족들이 통합되면서 고려와 완안부 여진 사이에 무력 충돌이 본격화되었다. 1104년(숙종 9)에 완안부 기병이 천리장성의 관문인 정주(定州) 지역에까지 이르자 고려는 군사를 동원하여 전투를 벌였다. 하지만 고려는 연이은 전투에서 패배하였고 천리장성 이북의 기미주 지역을 모두 상실하였다.
고려는 여진 기병에 대비하고자 별무반(別武班)을 설치하고 대대적으로 군사를 모집하였다. 1107년(예종 2) 12월 14일(을미일)에 고려는 윤관(尹瓘)을 중심으로 17만 대군을 동원하여 동북 갈라전(曷懶甸) 지역으로 출진하였고 요충지에 성을 쌓기 시작하였다.
고려는 여진 촌락들을 간접적으로 지배하는 방식에서 벗어나 거점마다 성곽을 축조하여 영토를 확보하고 남쪽 지역의 백성들을 이주시켜 신개척지를 직접 지배하고자 하였다. 공험진은 이러한 과정에서 쌓은 성곽 가운데 하나이다.
『 고려사(高麗史)』에는 1108년(예종 3) 2월 13일(갑오일)에 공험진 방어사(防禦使)를 둔 것으로 기록되어 있으나, 『 고려사절요(高麗史節要)』의 1월 기록에는 공험성(公嶮城) 용례를 확인할 수 있다. 적어도 1월경에는 공험진을 쌓은 것으로 여겨진다. 그리고 2월 27일(무신일)에 공험진에 고려정계비(高麗定界碑)를 세워 경계로 삼았다.
새로 개척한 공험진에는 남쪽 지역의 백성들이 이주하였는데 민지(閔漬)가 지은 『 본국편년강목(本國編年綱目)』에는 5,000호(戶)가 백성이 된 것으로 기록되어 있고, 임언(林彦)이 지은 표문에는 532정호(丁戶)가 충원된 것으로 기록되어 있다. 『 동인지문사륙(東人之文四六)』 세주 기록에 따르 윤관이 쌓은 9성은 이주된 백성 호수에 따라 대주(大州), 중주(中州), 소진(小鎭)으로 구분되는데, 공험진은 규모가 작은 소진이었다.
완안부를 중심으로 한 여진인들은 끊임없이 군사적으로 저항하였다. 여진인들은 고려의 성곽들을 포위 공격하였고 일부 성곽들을 함락하기도 하였다. 결국 고려는 축성 지역을 유지하지 못하고 철수하게 되었다. 고려는 1109년(예종 4) 7월 18일(신유일)에 길주부터 시작하여 순차적으로 철수하였다. 그런데 이때 철거된 성곽에서 공험진 관련 기록을 확인할 수 없다. 공험진은 성곽 환부 이전 시기에 여진군의 공격을 받아 함락되었거나 성을 추가로 쌓기 위하여 고려에서 철거하였을 수 있다.
공험진은 9성 가운데 경계가 되는 고려정계비가 세워진 곳이어서 일찍부터 위치에 관심이 많았다. 조선 초 세종은 김종서(金宗瑞)로 하여금 공험진의 위치를 조사하게 하였다. 『 세종실록지리지(世宗實錄地理志)』에는 경원도호부에서 북쪽으로 700리 지점에 공험진이 있고, 동북쪽으로 700여 리 지점에 선춘현(先春峴)이 있다고 기록되어 있으며, 공험진과 선춘현까지 구체적인 노정이 기록되어 있다.
『고려사』 지리지 세주에는 공험진이 공주(孔州), 광주(匡州), 선춘령(先春嶺) 동남쪽 지역, 백두산(白頭山) 동북 지역, 소하강(蘇下江) 강변 등의 지역에 자리한 것으로 추정된다. 『 신증동국여지승람(新增東國輿地勝覽)』을 지은 자는 『고려사』 지리지 세주를 다시 인용하면서 공험진의 위치를 조사할 수는 없지만 선춘령 동남, 백두산 동북, 소하강변 지역을 공험진 지역으로 볼 수 있다는 견해를 밝혔다. 조선 전기 기록을 검토해 보면, 두만강 이북 700리설은 여러 가설 가운데 하나였다.
조선 전기 기록보다 고려시대 당시의 기록을 주목할 필요가 있다. 허재묘지명(許載墓誌銘)에 9성 가운데 길주가 오랑캐의 변경과 가장 가까운 지역이었다고 기록된 점, 「영주청벽기(英州廳壁記)」에 고려가 새로 개척한 지역이 장주(長州), 정주에서 사방 300리 지역이었다고 기록된 점, 『동인지문사륙』 세주에 구성 지역이 7일정(日程) 거리였다고 기록된 점 등을 고려하면 길주설이 유력하다.
『고려사』의 전투 관련 기록을 살펴 보면 공험진은 길주 인근 또는 이남 지역에 자리한 것으로 추정된다. 한편 공험진을 길주 이남 지역인 마운령에 비정하면서, 고려 후기에 이르러 마운령에 있었던 진흥왕순수비를 윤관이 세운 비로 인식하였다는 견해도 있다.