
Unitree 로봇용 BLE 익스플로잇 프레임워크: 하드코딩된 AES 키를 통한 명령 주입으로 원격 장악, 페이로드 주입, 웜형 전파가 가능합니다.

저자: Bin4ry, 본명 Andreas Makris [[email protected]]
공동 저자: h0stile, 본명 Kevin Finisterre
기여자: legion1581, 본명 Konstantin Severov (theroboverse 소속). 주입용 페이로드 수정을 도왔고 완전히 작동하는 PoC로 이를 입증했습니다. 🙂 고마워요, 정말 중요한 기여였고, 매우 감사합니다!
날짜: 2025년 9월 20일
CVE-2025-35027
CVE-2025-60017
CVE-2025-60250
CVE-2025-60251
이 저장소의 연구는 Unitree G1에 대한 체계적인 보안 평가를 제시하는 논문에 포함되어 있습니다. 그러나 이 연구의 영향력은 G1에만 국한되지 않고, Go2 시리즈부터 시작하는 전체 Unitree 제품 라인에 영향을 미칩니다. 최신 Unitree 로봇의 코드는 Go2 코드베이스의 포크로 보이며, 구체적으로 Go1 계열 및 기타 Go2 이전 Unitree 로봇은 취약하지 않습니다. 그러나 현재 모든 최신 변형은 영향을 받습니다. Unitree는 아직 제품 라인 전반에 걸친 정확한 영향 범위를 설명하는 권고문을 발표하지 않았습니다.
논문 링크: https://arxiv.org/abs/2509.14139
제목: Cybersecurity AI: Humanoid Robots as Attack Vectors
저자: Víctor Mayoral-Vilches, Andreas Makris, Kevin Finisterre```bibtex
@misc{mayoralvilches2025cybersecurityaihumanoidrobots,
title={Cybersecurity AI: Humanoid Robots as Attack Vectors},
author={Víctor Mayoral-Vilches and Andreas Makris and Kevin Finisterre},
year={2025},
eprint={2509.14139},
archivePrefix={arXiv},
primaryClass={cs.CR},
url={https://arxiv.org/abs/2509.14139},
}
목차
=================
* [Unitree 로봇 BLE 서비스 명령 주입 분석](#unitree-robot-ble-service-command-injection-analysis)
* [개요](#overview)
* [BLE 서비스 탐색](#ble-service-discovery)
* [프로토콜 리버스 엔지니어링](#reverse-engineering-the-protocol)
* [명령 1: "보안" 핸드셰이크](#instruction-1-the-secure-handshake)
* [명령 2: 일련 번호 가져오기](#instruction-2-get-serial-number)
* [명령 3: WiFi 모드 초기화](#instruction-3-initialize-wifi-mode)
* [명령 4: SSID 설정](#instruction-4-set-ssid)
* [명령 5: 비밀번호 설정](#instruction-5-set-password)
* [명령 6: 국가 코드 설정 (트리거!)](#instruction-6-set-country-code-the-trigger)
* [WiFi 설정 스레드](#the-wifi-setting-thread)
* [취약한 함수: 명령 주입](#the-vulnerable-function-command-injection)
* [공격 흐름 요약](#attack-flow-summary)
* [웜 확산 가능한 위협](#the-wormable-threat)
* [개념 증명](#proof-of-concept)
* [실제 배포 & 영향](#real-world-deployment--impact)
* [현재 배포 현황](#current-deployments)
* [영향 평가](#impact-assessment)
* [법 집행 & 군사적 영향](#law-enforcement--military-impact)
* [기업 환경](#corporate-environments)
* [소비자 영향](#consumer-impact)
* [웜 확산 경로](#wormable-propagation)
* [기술 세부 사항](#technical-details)
* [BLE 서비스 아키텍처](#ble-service-architecture)
* [암호화 매개변수](#cryptographic-parameters)
* [패킷 구조](#packet-structure)
* [교훈](#lessons-learned)
* [공개 타임라인](#disclosure-timeline)
* [플래그십 G1, Go2 및 기타 봇에서 또 다른 보안 문제를 보고하려는 첫 번째이자 마지막 시도](#first-and-last-attempt-to-report-another-security-issue-in-your-flagship-g1-and-go2-and-other-bots)
* [면책 조항](#disclaimer)
* [보안 문제의 패턴](#a-pattern-of-security-issues)
* [결론](#conclusion)
* [법적 고지](#legal-notice)
* [기여](#contributing)
* [라이선스 및 파일 접근](#licensing-and-access-to-these-files)
---
## 개요
Unitree 로봇 플랫폼에 대한 보안 연구 중, 우리는 BLE(Bluetooth Low Energy) Wi-Fi 구성 인터페이스에서 심각한 취약점을 발견했습니다. 이 취약점은 오늘[2025년 9월 20일] 기준 최신 펌웨어까지의 Go2, G1, H1 및 B2 시리즈 로봇을 포함한 여러 Unitree 로봇 모델에 영향을 미칩니다.
**🎯 이것은 휴머노이드 로봇을 표적으로 하는 최초의 공개적으로 공개된 익스플로잇입니다!**
이 취약점은 하드코딩된 암호화 키, 사소한 인증 우회, 그리고 검증되지 않은 명령 주입 등 여러 보안 문제를 결합합니다. 특히 우려되는 점은 완전히 **웜 가능(wormable)** 하다는 것입니다. 감염된 로봇은 BLE 범위 내의 다른 로봇을 자동으로 손상시킬 수 있습니다. 이 취약점으로 공격자는 장치를 완전히 장악할 수 있습니다.
우리는 7월에 암호화 키를 공개했습니다 [트윗 링크](https://x.com/Bin4ryDigit/status/1950566849072005304) 하지만 Unitree는 신경 쓰지 않았습니다.
이 취약점을 어떻게 발견하고 악용했는지 기술적 세부 사항을 자세히 살펴보겠습니다.
## BLE 서비스 탐색
첫 번째 단계는 로봇이 노출하는 BLE 서비스를 식별하는 것이었습니다. 영향을 받는 모든 Unitree 모델은 Wi-Fi 구성을 위한 사용자 지정 BLE 서비스를 노출합니다:```
Service UUID: 0000ffe0-0000-1000-8000-00805f9b34fb
Write Characteristic: 0000ffe2-0000-1000-8000-00805f9b34fb
Notify Characteristic: 0000ffe1-0000-1000-8000-00805f9b34fb
리버스 엔지니어링을 통해 로봇이 암호화된 BLE 패킷을 처리하는 수신 관리자를 구현한다는 것을 발견했습니다. 발견된 내용은 다음과 같습니다:

수신 관리자는 먼저 하드코딩된 AES 파라미터를 사용하여 수신 패킷을 복호화합니다:```python AES_KEY = "df98b715d5c6ed2b25817b6f2554124a" AES_IV = "2841ae97419c2973296a0d4bdfe19a4f" Mode: AES-CFB128

복호화 후, 패킷은 switch-case 구조의 명령 코드에 따라 처리됩니다. 각 명령을 살펴보겠습니다:
## 명령 1: "보안" 핸드셰이크

핸드셰이크 "인증"은 웃길 정도로 단순합니다:


기본적으로 로봇은 복호화된 패킷에 핸드셰이크 비밀값으로 문자열 `"unitree"`가 포함되어 있는지 확인한 다음, `valid_incoming_user` 플래그를 1로 설정합니다. 이것이 "인증" 메커니즘의 전부입니다!
## 명령 2: 일련번호 가져오기

이 명령은 사용자가 "인증"되었는지(즉, 플래그가 설정되었는지) 확인한 다음, 일련번호 파일을 읽어 반환합니다. 이를 통해 시스템에 접근 권한이 있음을 확인할 수 있습니다.
## 명령 3: WiFi 모드 초기화
이 명령은 WiFi 설정을 초기화합니다. 사용자는 AP 모드(하위 명령 = 1) 또는 STA 모드(하위 명령 = 2) 중에서 선택할 수 있습니다:

## 명령 4: SSID 설정
이 명령은 WiFi SSID를 저장합니다. 여기가 첫 번째 주입 지점입니다:

## 명령 5: 비밀번호 설정
SSID 명령과 유사하게, 이 명령은 WiFi 비밀번호를 저장합니다. 또 다른 주입 지점입니다:

## 명령 6: 국가 코드 설정 (트리거!)
이 명령은 WiFi 국가 코드를 설정하고, 핵심적으로 `WifiSettingThreadFunction`을 트리거합니다:

명령 6이 실행되면 WiFi 구성 스레드가 시작되어 취약한 함수들로 연결됩니다.
## WiFi 설정 스레드
WiFi 구성 스레드는 모드에 따라 `restart_wifi_ap` 또는 `restart_wifi_sta`를 호출합니다:

## 취약한 함수: 명령 주입
`restart_wifi_ap`(`hostapd_restart.sh`) 및 `restart_wifi_sta`(`wpa_supplicant_restart.sh`) 함수 모두 동일한 취약 패턴을 따릅니다.
결정적 증거는 다음과 같습니다(`restart_wifi_ap` 함수를 예로 사용):

이 함수는 다음 명령을 구성합니다:```bash
sudo sh /unitree/module/network_manager/upper_bluetooth/hostapd_restart.sh "wifi_ssid wifi_pass"
이 명령은 입력값에 대한 검증이나 필터링 없이 **system()**에 직접 전달됩니다!
wifi_ssid 또는 wifi_pass 중 하나라도 제어할 수 있다면, 자신만의 명령을 주입할 수 있습니다. 다음과 같은 간단한 페이로드를 사용할 수 있습니다:```bash
";$(reboot -f);#
로봇을 재부팅하기에 충분할 것입니다. 하지만 우리는 훨씬 더 많은 것을 할 수 있습니다...
## 공격 흐름 요약
다음은 실행해야 하는 전체 공격 시퀀스입니다:
1. AES 암호화된 페이로드 "unitree"를 명령 1의 데이터로 전송
2. get_sn 명령을 전송하고 응답을 복호화하여 접근 권한을 확인
3. 하위 명령 1(AP) 또는 2(STA)로 init_wifi 전송
4. wifi_ssid를 `";$(reboot -f);#` 와 같은 주입 페이로드로 설정
5. wifi_pass를 임의의 값으로 설정
6. 취약한 스레드를 트리거하기 위해 wifi 국가 코드 설정
모든 것이 정상적으로 작동하면 로봇은 우리가 주입한 명령을 루트 권한으로 실행할 것입니다.
## 웜으로 확산 가능한 위협
이 취약점을 특히 위험하게 만드는 것은 **웜으로 확산 가능한** 특성입니다. 이 방법을 사용하면 다음을 할 수 있습니다:
- 루트 권한으로 임의의 명령 실행
- 페이로드 주입을 통해 악성코드 전송 및 실행
- 로봇이 공격자가 제어하는 WiFi 네트워크에 연결하도록 강제
- 주변 로봇을 감염시키는 자가 전파형 로봇 악성코드 생성
감염된 로봇은 단순히 BLE 범위 내의 다른 Unitree 로봇을 스캔하여 자동으로 손상시킬 수 있으며, 사용자 개입 없이 확산되는 로봇 봇넷을 생성할 수 있습니다.
## 개념 증명
우리는 이 취약점을 입증하는 완전한 개념 증명 익스플로잇 프레임워크를 개발했습니다. 익스플로잇에는 다음이 포함됩니다:
- Python 기반 BLE 스캐너 및 익스플로잇 프레임워크
- Android APK (2025년 9월 5일 Slack 채널에서 테스터에게 PWD로 보호된 zip을 통해 공유됨)
- 여러 사전 정의된 페이로드 (SSH 활성화, 시스템 재부팅, 사용자 지정 명령)
- 영향을 받는 모든 로봇 모델 지원 (Go2, G1, H1, B2, ...)
작동하는 익스플로잇의 핵심 구성 요소:```python
AES_KEY = bytes.fromhex("df98b715d5c6ed2b25817b6f2554124a")
AES_IV = bytes.fromhex("2841ae97419c2973296a0d4bdfe19a4f")
HANDSHAKE_CONTENT = "unitree"
def build_pwn(cmd):
return f'";$({cmd});#'

Unitree 로봇은 이미 중요한 실제 현장 시나리오에 배포되고 있어 이 취약점이 특히 우려스럽습니다:
법 집행 기관: 노팅엄셔 경찰은 현재 Unitree 로봇을 무장 대응 시나리오에서 시험 중이며, 여기에는 다음이 포함됩니다:
군사 작전: 중국 인민해방군(PLA)이 Unitree 로봇을 군사 용도로 활용하고 있어 국방 작전에 중요한 보안 영향을 미칩니다.
이 취약점의 영향은 상당히 심각합니다:
0000ffe0-0000-1000-8000-00805f9b34fb0000ffe2-0000-1000-8000-00805f9b34fb0000ffe1-0000-1000-8000-00805f9b34fbdf98b715d5c6ed2b25817b6f2554124a (하드코딩, 모든 기기에서 동일)2841ae97419c2973296a0d4bdfe19a4f (하드코딩, 모든 기기에서 동일)Encrypted([0x52, length, instruction, data, checksum])
## 교훈
이 연구는 몇 가지 중요한 보안 원칙을 강조합니다:
- **하드코딩된 키 절대 사용 금지:** 모든 기기는 고유한 암호화 자료를 보유해야 합니다.
- **심층 방어:** 여러 계층의 보안이 단일 실패 지점을 방지합니다.
- **입력 검증:** 특히 시스템 호출 전에 사용자 입력을 항상 정화(샌티타이즈)하십시오.
- **보안 테스트:** 정기적인 침투 테스트를 통해 이러한 문제를 조기에 발견할 수 있습니다.
## 공개 타임라인
우리는 처음에 이 취약점에 대해 Unitree와 책임 있는 공개(responsible disclosure)를 시도했습니다.
- **버그 발견:** 2025년 4월 14일 Andreas Makris(Bin4ry)가 버그를 발견했으며, Kevin Finisterre(h0stile) 및 Konstantin Severov(legion1581)와 Slack DM에서 논의했습니다.

- **PoC 개발:** 2025년 4월 25일, Konstantin Severov가 Andreas의 잘못된 페이로드를 수정하고 주입용으로 정상 작동하는 올바른 페이로드를 제작할 수 있었습니다. 첫 번째 PoC가 탄생했습니다.

- **안전하지 않은 BLE 발견:** Konstantin이 주입 취약점을 검증한 후, Andreas는 하드코딩된 키와 BLE의 취약한 인증을 발견했습니다.
- **초기 연락:** Unitree의 보안 및 지원 채널로 여러 이메일을 보냈습니다.
- **커뮤니케이션 문제:** 저자 중 한 명(Andreas Makris)이 설명 없이 이메일 체인에서 반복적으로 제외되었습니다.
- **응답 없음:** Unitree는 보안 문제 해결에 의미 있는 참여나 관심을 보이지 않았습니다.
- **결과:** 어떠한 확인이나 수정 일정도 제공되지 않았습니다.
Unitree의 응답 부재와 보안 문제에 대한 명백한 무관심을 고려하여, **Andreas Makris는 향후 취약점에 대해 Unitree와의 비공개 공개 시도를 중단하기로 결정했습니다**. 추가로 발견되는 보안 문제는 공급업체에 사전 통지 없이 공개적으로 공개될 것입니다.
이 결정은 Unitree가 보안 문제에 건설적으로 참여할 의사가 없음을 보여주며, 특히 법 집행 및 군사 분야에 배치되고 있다는 점을 고려할 때 더욱 우려됩니다.
### 플래그십 G1, Go2 및 기타 로봇의 또 다른 보안 문제를 보고하기 위한 첫 번째이자 마지막 시도
(Kevin Finisterre가 시작함)
- **2025년 5월 14일** — Unitree가 *우리의* 및 연구 동료들의 보고 시도를 수년간 무시했음에도 불구하고 [LinkedIn](https://www.linkedin.com/posts/kevin-finisterre-6431069a_fyi-unitree-robotics-is-being-given-an-opportunity-activity-7328446278852407296-qZB4) 및 [GitHub 이슈 #126](https://github.com/unitreerobotics/unitree_ros/issues/126)을 통해 공개 연락 시도를 했습니다.
-
제목이 *“플래그십 G1, Go2 및 기타 로봇의 또 다른 보안 문제를 보고하기 위한 첫 번째이자 마지막 시도”*인 이메일이 다음 주소로 전송됨:
Tony Yang <[email protected]>, <[email protected]>, <[email protected]>, Laikago <[email protected]>, <[email protected]>, <[email protected]>, <[email protected]>, Xing <[email protected]>, XMath <[email protected]>, <[email protected]>, <[email protected]>, <[email protected]>, <[email protected]>
- Unitree는 즉시 향후 잠재적 버그 바운티 프로그램을 제안했지만, 현재 시점에서는 시기상조인 논의였습니다.
- **2025년 5월 28~29일** — 보안에 대한 Unitree의 *진지함* 부족을 2주 동안 논의한 후, 노력의 표시로 `[email protected]`이 생성되었습니다.
-
*“다음 단계... Unitree G1의 치명적 취약점 보고에 관하여”* 제목의 이메일은 공개 관행 부족을 지적하고 Darknavy 및 이전 보고를 무시했으며, 디버그 빌드를 통한 대면 데모 또는 대여 로봇(Unitree가 인플루언서에게 보내는 방식)을 제안했습니다. ICRA에서 만나자는 제안을 포함해 둘 다 거부되었습니다.
- **2025년 6월 8일** — Unitree가 다음과 같이 응답했습니다: “Go1 ‘Zhexi' 관련 패치는 이미 4월에 온라인으로 배포되었습니다” 그리고 링크 <https://www.unitree.com/download/go1>를 첨부하며 “Github는 저장소 실행 문제만을 위한 것입니다. 따라서 사이버 보안에 대해서는 지금 방식을 사용할 것을 권장합니다.”라고 덧붙였습니다. 답변은 점점 줄어들었습니다.
- **2025년 6월 14~26일** — MIT Cheetah 라이선스 코드 투명성에 대해 압박했습니다. 암호화 루틴을 사용하고 linux 서브시스템 인스턴스에 대한 접근을 통제하여 차용한 코드를 난독화하는 것에 반대했습니다.
- 6월 26일에 답변이 도착했습니다: *“늦게 답변해서 죄송합니다. 잊은 게 아닙니다. 시간이 더 필요할 뿐입니다.”*
- 이 무렵 Unitree는 보안 인력 채용 공고를 게시했습니다. [채용 공고](https://m.zhipin.com/web/common/security-check.html?seed=F0HDtXiugDFyEi4Ap0g8%2FTu2hnxkObxC1s2HV5XA8%2Fw%3D&name=8955eed0&ts=1757704720826&callbackUrl=%2Fjob_detail%2F8f6b34a1ca755b4f03Fz2tq7EFVU.html&srcReferer)
- **2025년 7월 18일** — 침묵과 공개 범위 협상의 진전 부족으로 인해 *“그래서 여기서 끝인가요? 저는 이제 거의 끝났는데….”*라는 제목의 이메일을 보냈습니다.
- **2025년 7월 20일** — Unitree는 우리가 “G1 알려진 취약점”을 보유하고 있음을 인정했지만, 우리가 주장한 발견 사항을 수정하려면 “*분기 또는 수년이* 걸리는 전체 시스템 반복이 필요하다”고 주장하고, 곧 공개될 공개 보안 포털을 이정표로 지목했습니다.
- **2025년 7월 25일** — Unitree가 R1 마케팅을 시작했습니다. 이후 더 이상의 커뮤니케이션은 없었습니다.
- 공개적으로 공개하고 Unitree가 자체 일정에 따라 처리하도록 결정했습니다. 새로운 발견에 대한 추가 공개 시도는 없을 것입니다.
- **2025년 9월 2일** - Unitree가 2025년 4분기 예정된 IPO에서 70억 달러(US$7B)의 IPO 가치 평가 목표를 발표했습니다.
## 면책 조항
⚠️ **경고:** 이 코드는 교육 및 연구 목적으로만 제공됩니다. 소유하지 않은 기기에는 사용하지 마십시오.
## 반복되는 보안 문제 패턴
이 취약점은 고립된 사건이 아닙니다. 우리의 이전 연구는 Unitree의 보안 관행에서 우려되는 패턴을 밝혀냈습니다:
**CVE-2025-2894:** [연구자들은 초기 Go1 시리즈 로봇에서 백도어를 발견했습니다](https://takeonme.org/cves/cve-2025-2894/). Unitree는 이후 이를 “잔여 코드”라고 주장했습니다. 그러나 우리가 Go1 보고서에서 언급했듯이, 의도적인 백도어든 엉성한 프로그래밍이든 두 시나리오 모두 보안을 우선시하지 않는 회사를 나타냅니다.
이제 차세대 로봇(Go2, G1, H1, B2)에서도 하드코딩된 키, 간단한 인증, 안전하지 않은 시스템 호출이라는 동일한 근본적인 보안 실패를 볼 수 있습니다. 이는 **Unitree가 이전 보안 문제에서 교훈을 얻지 못했으며** 치명적인 취약점이 있는 제품을 계속 출시하고 있음을 시사합니다.
패턴은 명확합니다:
- **Go1 시리즈:** 숨겨진 백도어 (CVE-2025-2894)
- **DarkNavy 미공개 보고서** “GeekPwn 2022에서 우리는... 책임 있는 공개를 위해 Unitree에 연락했습니다 (하지만 응답을 받지 못했습니다)”
- **Go2/G1/H1/B2 시리즈:** BLE를 통한 명령 주입 (이 연구)
법 집행 및 군사 분야에 로봇을 배치하는 회사에게 이러한 수준의 보안 소홀은 용납될 수 없습니다.
## 결론
하드코딩된 암호화 키, 간단한 인증 우회, 명령 주입의 조합은 광범위한 악용에 완벽한 폭풍을 만들어냅니다. 이 취약점의 웜과 같은 특성은 여러 로봇이 있는 환경에서 특히 위험합니다.
Unitree의 보안 문제 이력과 중요한 법 집행 및 군사 시나리오에서의 배치를 고려할 때, 이러한 체계적인 보안 실패를 해결하기 위한 즉각적인 조치가 필요합니다.
우리는 책임 있는 공개 관행을 따랐으며 이러한 문제를 해결하기 위해 Unitree와 협력하고 있습니다. 이 연구는 교육 및 방어 목적으로만 제공됩니다.
---
## 법적 고지
⚖️ 이 연구는 교육 및 보안 연구 목적으로 법적으로 소유한 장비에서 수행되었습니다. 이 정보를 악의적인 목적으로 사용하는 것은 엄격히 금지되며 관련 법률을 위반할 수 있습니다.
기억하세요: 큰 힘에는 큰 책임이 따릅니다. 이 지식을 사용하여 더 나은, 더 안전한 시스템을 구축하십시오!
## 기여
추가 문제나 개선 사항을 발견하면 자유롭게 풀 리퀘스트를 제출하거나 이슈를 열어 주십시오.
## 라이선스 및 파일 접근
이 파일들은 크리에이티브 커먼즈 [CC BY-NC-SA 4.0](https://creativecommons.org/licenses/by-nc-sa/4.0/) 라이선스로 공개됩니다.
<p align="left">
<img src="https://assets.kitploit.com/production/public/readmes/49064/29490d1f406beb842255421807acdf0e4327f9cdf7547041398560fd7452a5ea.png">
</p>
이 라이선스는 귀하에게 이 파일을 사용할 수 있는 특정하지만 제한된 권리를 부여합니다.
<p align="left">
<img src="https://assets.kitploit.com/production/public/readmes/49064/00bb7938b330aa21407316a9f3d62fdad4e502fddc76237f7ae4e6b518386dcb.png">
</p>
[Attribution NonCommercial ShareAlike 4.0 International license](https://creativecommons.org/licenses/by-nc-sa/4.0/legalcode.en)
귀하는 다음의 자유를 누립니다:<br>
공유(Share) — 어떤 매체나 형식으로든 자료를 복사 및 재배포할 수 있습니다.<br>
수정(Adapt) — 자료를 리믹스, 변형, 활용하여 2차 저작물을 만들 수 있습니다.<br>
라이선스 제공자는 귀하가 라이선스 조건을 준수하는 한 이러한 자유를 취소할 수 없습니다.<br>
다음 조건에 따라:<br>
저작자 표시(Attribution) — 적절한 저작자 표시, 라이선스 링크 제공, 변경 여부 표시가 필요합니다. 합리적인 방식으로 이를 수행할 수 있지만, 라이선스 제공자가 귀하 또는 귀하의 사용을 보증한다고 암시하는 방식은 안 됩니다.<br>
비영리(NonCommercial) — 귀하는 이 자료를 상업적 목적으로 사용할 수 없습니다.<br>
동일조건변경허락(ShareAlike) — 이 자료를 리믹스, 변형, 활용하는 경우, 귀하의 기여물을 원본과 동일한 라이선스로 배포해야 합니다.<br>
추가 제한 금지(No additional restrictions) — 라이선스가 허용하는 행위를 법적으로 제한하는 법적 조건이나 기술적 조치를 적용할 수 없습니다.<br>
고지 사항: 라이선스에 대한 자세한 내용은 [크리에이티브 커먼즈 비영리 해석](https://wiki.creativecommons.org/wiki/NonCommercial_interpretation)을 읽어 주십시오.<br>
이는 직접적으로 다음을 의미합니다: 귀하는 이 파일에 대한 접근에 비용을 청구할 수 없으며, 상업용 취약점 악용 플랫폼에 추가하거나 페이월(paywall)을 적용할 수 없습니다. 이를 수행할 권한이 명시적으로 없기 때문이며, 실제로 잠재적 법적 영향 없이는 구체적으로 금지되어 있습니다.
이 연구는 교육 목적으로 공유됩니다. 책임감 있게 사용해 주십시오.