
Microsoft의 NLWeb: 개요
2023년 5월, Build 2025 컨퍼런스에서 Microsoft는 NLWeb이라는 혁신적인 이니셔티브를 공개했습니다. NLWeb은 “자연어 웹(Natural Language Web)”의 약자입니다.이 프로젝트의 목적은 AI 에이전트와 웹사이트 간의 지능적인 상호작용을 촉진하여 온라인 서비스와 직접 상호 작용하여 복잡한 작업을 수행할 수 있도록 하는 것입니다.
NLWeb의 의미
관련 회사 중 Shopify와 TripAdvisor는 이 개념에 대한 지지를 표명하며 NLWeb을 Microsoft가 “에이전트 웹”이라고 부르는 핵심 구성 요소로 자리매김했습니다.이 비전은 AI가 온라인에서 다양한 작업을 자율적으로 실행하여 사용자 경험을 크게 간소화할 수 있는 미래를 약속합니다.
보안 취약점 발견
그러나 NLWeb 프레임워크의 보안을 둘러싼 심각한 우려가 제기되었습니다.보안 연구원인 아오난 관(Aonan Guan)은 공동 연구원 레이 왕(Lei Wang)과 함께 오픈소스 프로젝트의 코드 저장소에서 경로 순회(path traversal) 취약점을 발견했습니다.이는 NLWeb GitHub 저장소, 특히. webserver/static_file_handler.py
취약점에 대한 기술적 분석
식별된 결함은 특정 코드 세그먼트 내에 존재합니다.
# The vulnerable code snippet safe_path = os.path.normpath(path.lstrip('/'))
가능한 루트 = [ APP_ROOT, os.path.join(APP_ROOT, ‘사이트’, ‘wwwroot’), ‘/home/site/wwwroot’, os.environ.get(‘HOME’, ”), ]
# 코드의 후반부…full_path = os.path.join(root, safe_path)
이 스니펫의 첫 번째 줄은 무해해 보입니다.불필요한 구분 기호와 상위 참조를 제거하여 경로를 정규화하도록 설계되었으며, 이 프로세스는 공식 Python 문서 에 설명되어 있습니다. os.path.normpath()
취약점의 영향
이 기능은 유용하지만 보안 허점을 야기합니다. Guan에 따르면, 이 기능은 사용자가 시퀀스와 같은 디렉터리 탐색 기법을 사용하여 의도된 웹 디렉터리를 벗어나 탐색하는 것을 제한하지 못합니다. ../
문제를 확인하기 위해 Guan은 에 로컬 서버 구성을 설정했습니다.명령을 실행하여 UNIX 시스템의 사용자 계정 정보가 포함된 중요 정보 의 내용을 성공적으로 검색했습니다. 0.0.0.0:8000
curl "http://localhost:8000/static/..%2f..%2f..%2fetc/passwd"
/etc/passwd
또한 Guan은 프로젝트 파일을 포함한 다른 민감한 파일에도 접근할 수 있었습니다.이 파일들은 API 키와 같은 민감한 자격 증명이 저장되어 있어 항상 기밀로 유지되어야 합니다.이는 다음 명령을 실행하여 더욱 명확하게 확인할 수 있었습니다. .env
curl "http://localhost:8000/static/..%2f..%2f..%2fUsers//NLWeb/code/.env"
Microsoft의 대응 및 권장 사항
5월 28일 관(Guan)의 보고에 따라 마이크로소프트는 같은 날 해당 문제를 인정하고 48시간 이내에 수정 사항을 적용했습니다.이 수정 사항에는 몇 가지 중요한 조치가 포함되었습니다.
- 경로에 있는 모든 인스턴스에 대한 초기 필터링을 통해 잠재적인 디렉토리 탐색 시도를 대응합니다.
..
- 요청된 파일에.html, .css, .json 등의 형식을 포함하여 허용되는 확장자가 있는지 확인합니다.
- 절대 경로를 확인하여 해당 경로가 인증된 루트 디렉토리에 있는지 확인하고, 이를 통해 무단 액세스를 방지합니다.
이 사건을 고려하여 Guan은 모든 NLWeb 인스턴스를 즉시 업데이트하는 것의 중요성을 강조합니다.그는 에이전트 웹 개념이 확장됨에 따라 새로운 취약점이 노출되고 있다고 강조합니다.특히 자연어 처리가 세심하게 관리되지 않을 경우 악성 파일 경로나 명령을 의도치 않게 해석할 수 있다는 점을 지적합니다.
이 문제에 대한 자세한 정보와 전체 취약성 보고서는 Neowin 에서 확인할 수 있습니다.
답글 남기기