이 글의 목차
이번 위험의 발동 범위부터 확인
Clash Party v2.0.3 공식 릴리스 노트에는 '악성 rule-providers 설정이 임의의 명령을 실행할 수 있는' 보안 문제가 수정되었다고 명시되어 있습니다. 관련 커밋 588aaa6에 따르면 이전 convertMrsRuleset 구현은 rule-providers.behavior와 규칙 집합 경로를 shell 명령 문자열에 이어 붙였습니다.
behavior는 실행 설정에서 가져오며 이 설정은 사용자가 구독한 YAML에서 제공될 수 있습니다. 악성이거나 변조된 구독은 비정상 behavior 값을 넣을 수 있습니다. 수정 커밋은 Windows에서 큰따옴표가 포함된 규칙 집합 경로 역시 이전 명령의 따옴표 경계를 깨뜨릴 수 있다고 설명합니다.
사용자가 이후 리소스 뷰어에서 해당 MRS 규칙 집합을 열면 이전 구현에서는 운영체제 shell이 이러한 값을 해석해 현재 Clash Party 사용자 권한으로 명령을 실행할 수 있었습니다.
수정에서는 shell 문자열 실행을 execFile 인수 배열 방식으로 바꾸고 behavior를 Mihomo가 지원하는 domain, ipcidr, classical로 제한했습니다. 수정 대상은 Clash Party의 규칙 집합 변환 경로이며 Mihomo rule-providers 형식 자체나 모든 Clash 클라이언트에 공통된 취약점이 아닙니다.
상위 프로젝트는 영향을 받는 시작 버전, CVE, GHSA, 심각도 또는 실제 악용 여부를 발표하지 않았습니다. 구버전이나 출처를 알 수 없는 구독을 보았다는 사실만으로 장치가 이미 악용되었다고 단정할 수는 없습니다. 다만 실제 버전이 v2.0.3보다 낮고 설정 출처를 신뢰할 수 없으며 해당 MRS 리소스를 연 적이 있다면 이 글의 절차에 따라 즉시 격리하고 업그레이드해야 합니다.
적용 범위 빠른 확인
| 현재 상황 | 내릴 수 있는 결론 | 다음 단계 |
|---|---|---|
| 실제로 Clash Party v2.0.3 이상 실행 중 | 상위 프로젝트의 이 수정 포함 | 설정 출처와 실제 버전을 계속 확인 |
| 버전이 v2.0.3보다 낮고 출처 불명의 구독을 사용한 적 있음 | 이 수정이 포함되었다고 증명할 수 없으므로 잠재적 영향 대상으로 처리 | 리소스를 더 이상 열지 말고 업그레이드 |
| Mihomo 코어 또는 다른 클라이언트만 사용 | 이 Clash Party 구현의 영향을 받는다는 뜻은 아님 | 실제 클라이언트 증거를 기준으로 판단 |
| 알 수 없는 프로세스, 경고 또는 설정 변경이 나타남 | 보안 사고로 격상해야 함 | 네트워크를 끊고 증거를 보존한 뒤 자격 증명 교체 |
| 눈에 띄는 팝업이나 이상 없음 | 이전 경로가 안전하다는 증거는 아님 | 버전과 출처를 기준으로 계속 확인 |
의심스러운 Profile과 규칙 집합 뷰어를 즉시 격리
아직 버전을 확인할 수 없다면 먼저 Clash Party의 규칙 집합 리소스 뷰어를 닫고 의심스러운 rule-provider를 더 이상 누르지 마세요. 의심스러운 Profile의 자동 업데이트와 사용을 중지하고 직접 보관하며 출처를 확인한 설정으로 전환하세요. 안전하게 전환할 수 없다면 Clash Party를 완전히 종료합니다.
의심스러운 설정에서 behavior를 바꾼 뒤 계속 시험하지 말고 구독 전체를 온라인 검사 사이트에 업로드하지도 마세요. 구독 URL에는 token이 포함될 수 있으며 규칙 집합 주소, 노드 자격 증명 및 스크립트 내용도 계정이나 네트워크 구조를 노출할 수 있습니다.
시스템에 알 수 없는 명령 창, 낯선 프로세스, 보안 소프트웨어 경고, 비정상 외부 연결 또는 파일 변경이 이미 나타났다면 장치의 네트워크를 즉시 끊고 뒤의 사고 대응 단계로 이동하세요. 이때 앱만 업그레이드해도 이미 실행된 명령이 취소되었다고 증명할 수 없습니다.
되돌릴 수 있는 격리 상태 만들기
리소스 뷰어 닫기
출처를 알 수 없는 MRS 규칙 집합을 다시 열지 말고 이른바 온라인 취약점 검사 페이지도 사용하지 마세요.
의심스러운 설정 비활성화
Profile 자동 업데이트와 사용을 중지하세요. 네트워크가 필요하다면 출처가 명확하고 업그레이드 전에 이미 검증한 설정으로만 전환합니다.
최소한의 증거 보존
Clash Party 버전, Profile 이름, 구독 출처, 리소스를 연 대략적인 시각 및 처음 나타난 이상을 기록하고 정리 작업은 실행하지 마세요.
증상에 따라 네트워크 차단 여부 결정
알 수 없는 프로세스, 경고, 외부 연결 또는 파일 변경이 발견되면 즉시 네트워크를 끊으세요. 침해 징후가 없다면 리소스 뷰어를 닫은 상태로 공식 업그레이드를 진행합니다.
실제 버전, 설정 출처 및 현재 증거 기록
Clash Party의 '정보' 또는 업데이트 페이지에서 실제 앱 버전을 읽고 운영체제와 설치 아키텍처를 기록하세요. 다운로드 파일 이름, 이전 스크린샷 또는 Mihomo 코어 버전만 보지 마세요. 이 수정은 Clash Party 본체에 포함되어 있습니다.
그다음 규칙 집합 리소스 내용을 열지 않은 채 의심스러운 Profile이 수동 가져오기, 로컬 파일 또는 원격 구독인지와 마지막 업데이트 시각, rule-providers에 MRS 유형 리소스가 있는지를 기록하세요.
provider 이름, type, behavior, format 및 민감 정보를 제거한 출처 도메인이나 경로만 기록하세요. Windows에서는 경로에 비정상적인 큰따옴표가 있는지도 확인하고 노드 비밀번호나 구독 token은 복사하지 않습니다.
Clash Party 로그, 운영체제 보안 로그 및 현재 설정의 읽기 전용 사본을 보존하세요. 이상 증거가 없다면 정상적인 mihomo 하위 프로세스, 규칙 다운로드 또는 임시 파일을 모두 침해로 간주하지 마세요. 명확한 경고가 있다면 파일을 먼저 삭제하거나 재설치해 타임라인을 덮어쓰지도 마세요.
업그레이드 전 기록 체크리스트
- Clash Party 실제 버전, 운영체제 및 CPU 아키텍처를 기록함
- 의심스러운 Profile의 출처와 마지막 업데이트 시각을 기록함
- 해당 MRS 규칙 집합 리소스를 연 적이 있는지 타임라인에 기록함
- 공개용 사본에서 구독 token, 노드 자격 증명, secret 및 실제 서버 주소를 제거함
- 원본 로그와 설정을 비공개 읽기 전용 위치에 보존했으며 정리 작업으로 덮어쓰지 않음
공식 Release에서 v2.0.3으로 업그레이드
Clash Party v2.0.3은 2026년 9월 20일에 출시되었으며 공식 릴리스 노트와 커밋 588aaa6 모두 이 수정을 포함합니다. 최소 목표는 실제로 v2.0.3을 실행하는 것입니다. 이후 공식 프로젝트가 더 새로운 안정 버전을 제공하면 해당 커밋이 계속 포함되어 있는지 확인하세요.
mihomo-party-org/clash-party 공식 Release에서 시스템과 아키텍처에 맞는 설치 파일을 선택하세요. Windows에서는 x64, ia32, ARM64를 구분해야 하고 macOS에서는 Intel과 Apple Silicon을 구분해야 합니다. Linux에서는 현재 배포판이 사용하는 DEB, RPM 또는 PACMAN 형식도 선택해야 합니다.
업그레이드 전에 기존 프로그램을 완전히 종료하고 현재 설정의 백업을 보관하세요. 검색 광고, 파일 공유 드라이브 또는 채팅 첨부 파일에서 같은 이름의 설치 파일을 받지 말고 기존 플러그인을 유지하려고 v2.0.3의 개별 프로그램 파일을 덮어쓰지도 마세요.
설치가 끝나면 '정보' 페이지를 다시 열어 실제 버전을 확인하세요. Mihomo 코어 업데이트, 구독 새로 고침 또는 규칙 집합만 교체하는 작업은 Clash Party 본체 업그레이드를 대신할 수 없습니다.
공식 업그레이드 완료
시스템과 아키텍처 확인
현재 장치에 맞는 공식 v2.0.3 자산을 선택하고 파일 이름만 보고 다른 아키텍처를 추측하지 마세요.
비공개 백업 보존
설정과 신뢰할 수 있는 Profile의 사본을 보관하세요. 의심스러운 설정은 읽기 전용 증거로만 보존하고 새 환경에 직접 복원하지 않습니다.
기존 프로그램 완전히 종료
트레이 프로세스와 Clash Party 본체가 종료되었는지 확인한 뒤 공식 설치 파일로 업그레이드하세요.
실제 버전 확인
다시 시작한 뒤 앱에서 버전이 v2.0.3 이상인지 확인하고 업그레이드 완료 시각을 기록하세요.
신뢰할 수 있는 구독을 다시 발급받아 rule-providers 확인
업그레이드가 끝나도 기존의 의심스러운 Profile을 즉시 다시 활성화하지 마세요. 원격 구독이 변조되었을 가능성이 있거나 출처를 확인할 수 없다면 서비스 제공자에게 공식 주소를 확인하고 기존 구독 token을 폐기한 뒤 다시 발급받으세요. token 교체는 신뢰할 수 있는 장치에서 수행해야 합니다.
새 설정의 rule-providers를 확인하세요. Mihomo 문서에는 일반 behavior로 domain, ipcidr, classical 세 가지가 나와 있지만 format: mrs는 domain과 ipcidr만 지원합니다. classical은 지원되는 다른 형식에 사용할 수 있으며 MRS와 조합해서는 안 됩니다.
이어 붙이기 기호, 명령 조각 또는 해당 format/behavior 조합에 맞지 않는 내용은 더 이상 불러오지 않아야 합니다. provider URL의 도메인, 경로, 업데이트 경로 및 예상 형식도 확인하세요.
출처가 명확한 새 설정에서만 노드와 규칙을 복원하고 의심스러운 YAML, 캐시된 MRS 파일 또는 출처 불명의 스크립트를 그대로 복사하지 마세요. 비교가 필요하면 오프라인 읽기 전용 사본에서 텍스트 차이를 확인하고 리소스 뷰어를 눌러 변환을 실행하지 않습니다.
rule-providers 확인 기준
| 확인 항목 | 정상 기준 | 이상 시 조치 |
|---|---|---|
| 일반 behavior | domain, ipcidr 또는 classical | 해당 Profile을 비활성화하고 값을 추측해 직접 고치지 않기 |
| format: mrs | domain 또는 ipcidr하고만 조합 | classical + mrs를 사용하지 말고 제공자에게 수정을 요청 |
| Windows 경로 | 포함된 큰따옴표 같은 비정상 문자가 없음 | 민감 정보를 제거한 증거를 보존하고 해당 리소스를 더 이상 열지 않기 |
| provider 출처 | 서비스 제공자 또는 프로젝트가 명시한 주소 | 구독을 다시 발급받고 도메인 확인 |
| MRS 캐시 | 신뢰할 수 있는 설정에서 다시 다운로드 | 삭제하기 전에 의심스러운 사본의 증거 해시와 시각 보존 |
| 구독 token | 비공개 설정과 클라이언트에서만 사용 | 신뢰할 수 있는 장치에서 폐기하고 다시 발급 |
PoC를 실행하지 않고 v2.0.3과 실제 연결 검증
보안 검증의 첫 번째 항목은 실제 Clash Party 버전이 v2.0.3 이상인지 확인하는 것입니다. 두 번째는 출처가 명확하고 format/behavior 조합이 올바르며 경로가 정상인 Profile만 가져와 규칙 집합 목록이 정상적으로 불러와지는지 확인하는 것입니다. 필터가 동작함을 증명하려고 악성 값을 만들 필요는 없습니다.
신뢰할 수 있는 Profile에서 이미 알고 있는 MRS 리소스 하나를 열고 domain 또는 ipcidr을 사용하는지 확인하세요. 리소스 뷰어에 규칙이 표시되고 앱이 예상치 못한 명령 인터프리터나 알 수 없는 하위 프로세스를 시작하지 않는지도 확인합니다. 그런 다음 정상 동작이 확인된 노드 하나를 고정하고 구독 업데이트, 규칙 일치 및 실제 HTTPS 요청을 각각 검증하세요.
마지막으로 Clash Party를 완전히 종료한 뒤 다시 시작하고 버전과 Profile을 다시 확인하세요. 올바른 버전, 정상적인 규칙 리소스, 성공한 실제 요청 세 가지가 모두 확인되어야 업그레이드가 설치 화면에서만 끝난 것이 아님을 증명할 수 있습니다.
v2.0.3 보안 업데이트 검증 체크리스트
- 실제로 실행 중인 Clash Party 버전이 v2.0.3 이상임
- 출처가 명확하고 format/behavior 조합이 올바르며 경로가 정상인 Profile만 복원함
- 신뢰할 수 있는 MRS 리소스를 볼 수 있으며 PoC나 알 수 없는 스크립트를 실행하지 않음
- 예상치 못한 명령 인터프리터, 알 수 없는 하위 프로세스 또는 새로운 보안 경고가 나타나지 않음
- 구독 업데이트, 규칙 일치 및 실제 HTTPS 요청을 모두 완료함
- 다시 시작한 뒤에도 버전과 신뢰할 수 있는 Profile이 올바르게 유지됨
명령 실행이 의심되면 보안 사고로 대응
규칙 리소스를 열기 전후로 알 수 없는 명령 창, 낯선 프로세스, 비정상 외부 연결, 시스템 보안 경고, 시작 항목 또는 파일 변경이 나타났다면 이를 일반적인 클라이언트 업그레이드로 처리하지 마세요. 네트워크 연결을 끊고 장치 상태를 그대로 유지하면서 타임라인, 프로세스, 연결, 경고 및 파일 경로를 기록합니다.
운영체제 또는 조직에서 승인한 보안 도구로 오프라인 검사나 전체 검사를 완료하세요. 구독 token, 노드 자격 증명, WebDAV, GitHub Token, 브라우저 세션 또는 현재 사용자 권한으로 읽을 수 있었던 기타 자격 증명은 다른 신뢰할 수 있는 장치에서 폐기하고 다시 발급해야 합니다.
v2.0.3으로 업그레이드하면 이전 변환 경로만 차단할 수 있으며 이미 실행된 프로그램을 삭제하거나 유출된 자격 증명을 복구할 수는 없습니다. 시스템 무결성을 확인할 수 없다면 공식 미디어에서 시스템과 클라이언트를 다시 설치하고 검증된 안전한 데이터만 복원하세요. 기존 앱 디렉터리 전체를 다시 복사하지 마세요.
피해가 의심될 때 필요한 최소 조치
- 장치의 네트워크를 끊었으며 Clash Party와 의심스러운 Profile이 더 이상 실행되지 않음
- 버전, 설정 출처, 리소스를 연 시각, 경고 및 비정상 연결을 기록함
- 원본 로그와 설정을 보존했고 공개용 사본에서 민감 정보를 제거함
- 신뢰할 수 있는 보안 도구로 전체 검사를 완료함
- 노출되었을 수 있는 token과 클라우드 자격 증명을 신뢰할 수 있는 장치에서 교체함
- 무결성을 확인할 수 없을 때 기존 앱 디렉터리를 그대로 복원하지 않음
업그레이드가 호환되지 않으면 기능만 우회하고 취약 버전으로는 돌아가지 않기
현재 장치에서 v2.0.3 설치, 시작 또는 플러그인 호환성 문제가 발생해도 기능을 되살리려고 이전 변환 경로가 포함된 버전으로 내리지 마세요. 먼저 Clash Party를 완전히 종료하고 의심스러운 Profile을 비활성화한 상태로 유지한 뒤 검증된 다른 유지보수 중인 클라이언트나 시스템 프록시 방식으로 필요한 네트워크 연결을 복구합니다.
Clash Party를 계속 사용해야 한다면 신뢰할 수 있는 설정의 오프라인 백업만 보존하고 이후 공식 안정 버전과 관련 issue를 확인하세요. 새 버전이 정상적으로 시작되면 시스템 프록시, TUN, 구독 업데이트 및 규칙 리소스 보기를 하나씩 복원하고 기존 데이터 디렉터리 전체를 한꺼번에 복사하지 마세요.
문제가 특정 서드파티 규칙 집합이나 구독에서만 발생한다면 behavior 제한을 풀거나 이전 shell 실행을 다시 활성화하지 말고 제공자에게 설정 수정을 요청하세요. 상위 프로젝트에 보고할 때는 시스템, 아키텍처, 버전, 첫 번째 오류 및 민감 정보를 제거한 재현 절차를 제공하고 구독 token이나 실행 가능한 payload는 첨부하지 마세요.
설치 후 버전이 여전히 v2.0.3보다 낮음
기존 인스턴스 사용을 중지하고 다른 포터블 버전이나 이전 설치 디렉터리가 실행되었는지 확인하세요.
새 버전을 시작할 수 없음
로그를 보존하고 유지보수 중인 대체 클라이언트를 사용하며 이전 변환 경로는 복원하지 마세요.
신뢰할 수 있는 규칙 집합을 볼 수 없음
behavior와 형식을 먼저 확인한 뒤 규칙 제공자 또는 Clash Party에 민감 정보를 제거한 증거를 제출하세요.
프록시는 동작하지만 알 수 없는 프로세스나 경고가 나타남
보안 사고로 처리하세요. 네트워크가 정상 동작한다는 이유로 명령 실행 가능성을 배제할 수 없습니다.
앞으로 구독과 규칙 집합을 신뢰할 수 없는 입력으로 취급
이번 수정은 구독이 단순한 노드 목록이 아니라 rule-providers 같은 구조화된 필드도 클라이언트에 제공할 수 있음을 보여 줍니다. 장기적으로 관리할 때는 구독 제공자, rule-provider 도메인, behavior, 마지막 확인 시각 및 현재 Clash Party 버전을 기록하세요.
앱 자동 업데이트를 유지하거나 공식 Release를 정기적으로 확인하세요. 구독 도메인, 발급 방식 또는 콘텐츠 구조가 바뀌면 먼저 오프라인에서 비교한 뒤 평소 사용하는 Profile에 다시 넣으세요. 유지보수가 중단되었거나 출처를 설명할 수 없는 규칙 집합은 클라이언트 필터링에 계속 의존하는 것보다 사용 관계를 제거하는 편이 더 안전합니다.
공식 Release와 수정 커밋이 이번 결론의 사실 범위입니다. 이후 상위 프로젝트가 GHSA, CVE, 영향받는 버전 범위 또는 새로운 완화 조치를 발표하면 새 공식 설명에 맞춰 판단을 갱신하고 이차 출처의 제목만으로 심각도나 영향 규모를 추정하지 마세요.
장기 유지관리 기록
| 기록 항목 | 용도 | 다시 확인할 시점 |
|---|---|---|
| Clash Party 버전 | 보안 수정 포함 여부 확인 | 앱을 업그레이드할 때마다 |
| Profile 및 구독 출처 | 신뢰할 수 없는 설정 유입 경로 식별 | 구독 주소 또는 제공자가 바뀔 때 |
| rule-providers 및 behavior | 규칙 집합 유형과 변환 범위 제한 | 설정 구조가 바뀔 때마다 |
| 공식 Release 및 커밋 | 이차 보고를 관리자 결론으로 오해하지 않기 | 새 경고나 안정 버전이 나올 때 |
