둘레 7,218m. 현재 문지(門址)와 건물지 등의 시설이 남아 있다. 대성산의 6개 봉우리에 있는 성벽은 북으로는 북악과, 남으로는 대동강을 끼고 충적평야(沖積平野)와 접하여 있다. 그러나 이 산성은 문헌기록이 자세하지 않기 때문에 정확한 축성 연대와 규모는 알 수 없다. 현재 성벽은 남문지 부근이 가장 잘 남아 있으며 높이는 5.5m이다.
성벽의 바깥쪽은 지하 1.3∼1.5m 지점에서부터 다듬질한 방형의 석재를 수직으로 쌓았고, 성벽의 안쪽도 같은 형태로 돌을 쌓았으며, 그 사이를 흙과 자갈을 채워넣어 더욱 단단하게 해놓았다. 또한, 성벽은 20m 정도 凸모양으로 돌출시켜 그 끝부분에 남문을 세웠는데, 남문지는 매우 심하게 파괴되어 있으나 토대부는 잘 보존되어 있다.
이와 같은 방법은 성벽의 안쪽에 凹모양으로 파고들어 가서 남문을 둔 집안(集安)의 산성자산성(山城子山城)과는 좋은 대조를 이루는 구조이다. 이 산성의 북쪽에 산악으로 통하는 높이 240m 지점에 문지가 있는데, 사람이 간신히 통행할 수 있을 정도이다. 한편, 성안에서는 18개소의 건물지가 확인되었으나 아직 옹성(甕城 : 성문의 앞을 가리어 적으로부터 방어하는 작은 성)과 장대지(將臺址)·치성지(雉城址)는 확인되지 않았다.
대성산의 남쪽 산에는 안학궁토성(安鶴宮土城)이 있고, 그 주변에 약 1,200기(基)의 고구려시대 고분이 흩어져 있기 때문에, 이 성은 고구려시대의 도성을 보호하는 산성으로서 커다란 구실을 담당하였거나, 고구려가 천도하였다는 평양의 동황성(東黃城)으로 추정되는 중요한 산성이다.