[8월 28일 보안브리핑] TeamPCP·HD현대·Gitea
오픈소스 구성요소 변조 혐의를 받은 TeamPCP 수사, HD현대그룹 개인정보 침해 조사 결과, Gitea 원격 코드 실행 취약점의 영향과 우선 조치를 다룹니다.

오늘의 주요 보안 이슈
오늘 브리핑의 세 주제는 서로 다른 지점에서 시작하지만 하나의 공통 질문으로 모입니다. 조직은 개발 구성요소, 관리 서버, 자체 호스팅 협업 도구를 어느 범위까지 신뢰하고 있으며 그 신뢰가 깨졌을 때 피해가 어디까지 이동할 수 있을까요. 호주 연방경찰의 TeamPCP 수사는 오픈소스 구성요소 하나가 여러 조직의 개발 환경으로 전파되는 공급망 위험을 보여줍니다. 개인정보보호위원회의 HD현대그룹 조사 결과는 외부와 맞닿은 관리 서버와 내부 업무시스템 사이의 불필요한 통신이 침해 경로를 넓힐 수 있음을 확인했습니다. KISA가 안내한 Gitea 취약점은 자체 호스팅 개발 플랫폼의 서비스 계정 권한과 비밀정보가 하나의 코드 실행 취약점에 연결될 수 있다는 점을 드러냅니다.
대응의 출발점도 분명합니다. 공급망에서는 사용 중인 구성요소와 빌드 출처를 추적하고, 관리 서버에서는 업로드 기능과 내부 통신 규칙을 함께 점검해야 합니다. Gitea 운영자는 영향 버전을 식별해 공식 보안 릴리스를 적용하고 저장소 생성·작업 실행·서비스 계정 접근 기록을 재검토해야 합니다. 세 사안 모두 단일 장비의 패치 여부만 묻기보다 신뢰 경계와 권한 이동 경로를 한 흐름으로 확인하는 것이 중요합니다.
주요 이슈 한눈에 보기
- TeamPCP 공급망 수사: 호주 연방경찰은 두 명을 기소하고 오픈소스 구성요소 변조와 글로벌 피해 확산 혐의를 제시했습니다.
- HD현대그룹 개인정보 침해: 파일 업로드 취약점, 웹셸, 불필요한 서버 통신을 거쳐 내부 업무시스템에 접근한 경로가 조사에서 확인됐습니다.
- Gitea CVE-2026-60004: diffpatch API를 통한 코드 실행 위험으로 1.17 이상 1.27.1 미만 자체 호스팅 인스턴스의 업데이트가 필요합니다.
주요 침해사고
TeamPCP 오픈소스 공급망 수사
호주 연방경찰은 8월 27일 서호주 남성 두 명이 글로벌 사이버범죄 조직 TeamPCP의 주요 참여자로 활동한 혐의로 기소됐다고 발표했습니다. 이번 조치는 FBI와 서호주 경찰이 참여한 합동 수사의 결과입니다. 수사기관은 피고인들이 여러 오픈소스 구성요소에 악성 코드를 삽입하고, 개발자들이 이를 정상 구성요소처럼 내려받아 정부·학계·민간 조직의 환경에 포함하도록 만들었다는 혐의를 제시했습니다. 법원의 판단 전까지 관련 내용은 수사기관이 제시한 혐의와 추산으로 구분해 보아야 합니다.
공개된 수사 내용에서 가장 중요한 부분은 공격의 확장 방식입니다. 특정 기업 한 곳의 계정을 직접 노리는 대신 여러 개발자가 재사용하는 구성요소를 건드리면, 정상적인 설치와 빌드 과정이 배포 통로로 바뀔 수 있습니다. 호주 연방경찰은 잠재 영향 조직을 1,000곳 이상, 관련 자격증명을 50만 건 이상, 수집된 데이터를 최소 300GB로 추산했습니다. 복구 비용도 전 세계적으로 수억 달러 규모가 될 수 있다고 설명했습니다. 이 숫자는 확정된 개별 피해 통계가 아니라 수사 과정에서 산정된 잠재 범위이므로, 조직별 대응은 자사 저장소와 빌드 기록을 기준으로 이뤄져야 합니다.

운영팀은 우선 소프트웨어 자재명세서와 패키지 잠금 파일, 내부 아티팩트 저장소 목록을 대조해 실제 사용 중인 외부 구성요소를 식별해야 합니다. 같은 이름의 패키지라도 내려받은 저장소, 서명, 해시, 반입 시점이 다를 수 있으므로 출처 정보까지 함께 남기는 편이 좋습니다. 이어서 빌드 서버와 CI/CD 실행기가 접근할 수 있었던 배포 토큰, 클라우드 키, 저장소 자격증명을 범위별로 묶고 비정상 실행이나 외부 전송 흔적이 발견된 범위부터 교체해야 합니다. 자격증명을 무조건 한꺼번에 바꾸면 조사 시점의 증거가 사라지거나 운영 장애가 생길 수 있으므로 로그와 스냅샷을 먼저 보존하고 순서를 정하는 것이 안전합니다.
체포와 압수만으로 이미 반입된 구성요소가 자동으로 제거되지는 않습니다. 과거 빌드 산출물, 컨테이너 이미지, 배포 패키지, 개발자 캐시에 같은 구성요소가 남아 있을 수 있습니다. 저장소 활동, 의존성 추가 시점, 패키지 설치 이벤트, 빌드 중 실행된 스크립트, 평소와 다른 외부 연결을 하나의 시간선으로 연결하면 점검 범위를 줄일 수 있습니다. 공급망 사고 대응의 목표는 이름이 알려진 패키지를 찾은 데 그치지 않고, 신뢰된 개발 경로가 실제로 어떤 권한과 데이터에 닿았는지 확인하는 데 있습니다.
HD현대그룹 침해 경로와 제재
개인정보보호위원회는 8월 27일 HD현대건설기계와 HD한국조선해양의 개인정보 보호법 위반 사항에 대한 제재를 발표했습니다. 조사 결과 공격자는 2024년 3월 HD한국조선해양의 모바일 기기 관리용 서버에서 파일 업로드 취약점을 악용해 웹셸을 올렸습니다. 이후 해당 서버와 HD현대건설기계 내부 업무시스템 사이에 불필요한 통신이 허용된 점을 이용해 내부 시스템에 접근했습니다. 그 결과 임직원과 협력사 직원 9,503명의 이름과 사번 등 개인정보가 유출됐습니다.
개인정보위는 HD현대건설기계에 7,350만원의 과징금을, HD한국조선해양에 480만원의 과태료를 부과했습니다. 제재 금액보다 운영 관점에서 더 중요한 것은 두 통제 실패가 이어졌다는 점입니다. 외부 입력을 받은 파일 업로드 기능이 웹셸 반입 지점이 됐고, 관리 목적의 서버가 내부 업무망과 폭넓게 통신하면서 다음 단계의 이동 경로가 열렸습니다. 파일 확장자나 콘텐츠 유형만 검사하는 방식으로는 부족하며 업로드 파일의 저장 위치, 실행 권한, 웹 루트와의 분리, 서버 프로세스 권한을 함께 확인해야 합니다.

비슷한 구조를 운영하는 조직은 MDM, 패치 관리, 파일 전송, 원격지원 서버처럼 외부와 내부를 잇은 관리 시스템부터 목록화할 필요가 있습니다. 각 시스템에 대해 인터넷 노출 여부, 파일 업로드 기능, 내부 통신 대상, 사용 포트, 서비스 계정 권한을 한 표에서 비교하면 불필요한 신뢰 관계를 찾기 쉽습니다. 방화벽이나 접근제어 정책은 ‘업무상 필요’라는 넓은 설명 대신 출발지 IP, 목적지, 포트, 호출 주체를 구체적으로 제한하고 사용이 끝난 규칙은 제거해야 합니다.
점검 순서는 안전하게 구성해야 합니다. 먼저 설정과 로그를 읽기 전용으로 확보하고, 웹 서버의 신규·변경 파일과 업로드 요청 기록, 비정상 프로세스 실행을 확인합니다. 다음으로 관리 서버에서 내부 업무시스템으로 향한 연결 기록을 대조하고, 개인정보 저장 시스템의 조회·내보내기 이력을 다룹니다. 조치 후에는 업로드된 파일이 실행되지 않는지, 허용된 관리 흐름만 내부 시스템에 도달하는지, 서비스 계정이 필요한 데이터에만 접근하는지 검증해야 합니다. 이번 조사 결과는 취약점 보완과 망 분리를 별개의 체크 항목으로 다루지 말고 하나의 공격 경로로 묶어 검증해야 한다는 점을 보여줍니다.
신규 주요 CVE
Gitea 코드 실행 취약점 CVE-2026-60004
KISA는 8월 27일 Gitea 제품 보안 업데이트 권고를 게시했습니다. 대상 취약점 CVE-2026-60004는 diffpatch API 처리 과정에서 Git hook 설치로 이어질 수 있은 코드 삽입 문제입니다. 공식 보안 권고는 원격 코드가 Gitea 서비스 계정 권한으로 실행될 수 있다고 설명합니다. 영향 버전은 Gitea 1.17 이상 1.27.1 미만이며, 1.27.1 이상 공식 보안 릴리스에서 수정됐습니다.
공격 조건을 운영 환경과 연결해 보는 것이 중요합니다. 저장소를 만들 수 있은 기존 인증 사용자가 필요하지만 공개 회원가입을 허용한 인스턴스에서는 일반 방문자가 계정을 만든 뒤 조건을 충족할 수 있습니다. 서비스 계정 권한으로 코드가 실행되면 저장소 데이터뿐 아니라 설정 파일, 환경변수, 데이터베이스 연결 정보, OAuth 비밀정보, 자동화 작업에 사용되는 토큰이 연쇄적으로 영향을 받을 수 있습니다. 인터넷에 직접 노출된 자체 호스팅 Gitea와 다수 팀이 공동으로 사용하는 인스턴스를 우선순위에 올려야 합니다.

첫 조치는 인스턴스별 버전과 노출 범위를 확인하는 것입니다. 관리 화면과 배포 패키지 정보를 대조해 1.17 이상 1.27.1 미만 시스템을 식별하고, 프록시와 방화벽에서 외부 접근 경로도 함께 기록합니다. 그다음 유지보수 창을 확보해 1.27.1 이상 공식 릴리스로 업데이트합니다. 공개 회원가입 제한이나 diffpatch 관련 경로의 임시 차단은 패치 전 노출을 줄이는 보조책이며 공식 업데이트를 대신하지 않습니다. 소스에서 직접 빌드한 환경도 배포된 바이너리의 실제 버전을 기준으로 확인해야 합니다.
업데이트 후에는 버전 표시만 확인하고 끝내지 않은 편이 좋습니다. 조사 대상 기간의 계정 생성, 저장소 생성, 비정상 diffpatch 요청, 예상하지 못한 Git hook과 작업 실행, Gitea 서비스 프로세스가 시작한 하위 프로세스를 검토해야 합니다. 의심 활동이 발견되면 설정과 저장소 메타데이터를 보존한 뒤 서비스 계정이 읽을 수 있었던 비밀정보의 범위를 산정하고 토큰과 키를 순차적으로 교체합니다. 업데이트 이후에도 새 저장소 생성 정책, 회원가입 방식, 자동화 토큰 권한을 재조정하면 동일한 서비스 계정이 가진 공격 표면을 줄일 수 있습니다.
KISA 보안공지
이번 KISA 권고는 국내에서 자체 호스팅 Gitea를 운영하는 기업과 기관이 영향 버전을 빠르게 식별할 수 있도록 제품 범위와 수정 버전을 제시합니다. 운영팀은 공지의 영향 범위를 자산 목록과 대조하고, 개발팀·인프라팀·보안팀이 같은 인스턴스 목록을 기준으로 업데이트 상태를 기록해야 합니다. 외부 유지보수 업체가 운영하는 인스턴스도 버전 증빙과 적용 시각, 사후 로그 점검 결과를 받아 내부 관리대장에 연결하는 것이 좋습니다.
운영 우선순위
- 개발 구성요소·MDM 서버·Gitea 인스턴스의 소유자와 노출 범위를 먼저 확정합니다.
- 외부 입력 지점에서 내부 시스템과 서비스 계정으로 이어지는 신뢰 관계를 도식화합니다.
- TeamPCP 관련 공급망 흔적과 HD현대 사례형 웹셸·내부 이동, Gitea 비정상 작업 기록을 읽기 전용으로 보존합니다.
- Gitea 1.27.1 이상 업데이트와 불필요한 서버 통신 차단을 변경관리 절차에 따라 적용합니다.
- 변경 뒤에는 실제 버전, 통신 경로, 계정 권한, 저장소와 빌드 산출물의 무결성을 다시 확인합니다.
세 이슈를 함께 보면 공격 표면의 크기보다 신뢰의 방향이 더 중요한 단서가 됩니다. 오픈소스 구성요소는 빌드 경로를, 관리 서버는 내부 업무망을, Gitea 서비스 계정은 저장소와 자동화 비밀정보를 연결합니다. 따라서 자산 하나를 격리해 점검하는 방식보다 입력 지점에서 권한과 데이터가 이동하는 전체 경로를 확인해야 실질적인 노출 범위를 줄일 수 있습니다. 이 브리핑은 2026년 8월 28일 07시 59분 KST까지 공개된 공식 발표와 공개 자료를 기준으로 작성했습니다.
확인한 출처
- Two WA men charged following AFP, FBI, WAPF disruption of alleged global cybercrime syndicateAustralian Federal Police release mirror — National Tribune
- 개인정보위, HD현대그룹 개인정보 유출사고 조사 결과 발표개인정보보호위원회 · 공식 자료
- Gitea 제품 보안 업데이트 권고한국인터넷진흥원 · 공식 자료
사실관계와 수치는 연결된 자료에서 다시 확인할 수 있습니다.
의견을 남겨주세요
아직 등록된 댓글이 없습니다.