Skip to content
KitploitKITPLOIT
도구블로그
제출
도구블로그
제출

해킹, 침투 테스트 및 사이버 보안 도구를 당신의 보안 무기고에!

Kitploit은 해킹, 사이버 보안 및 침투 테스트 도구 디렉토리입니다. 최신 프로젝트 업데이트를 발견하여 취약점을 찾고, 시스템을 분석하고, 테스트를 자동화하고, 보안을 강화하세요.

··피드·문의·개인정보·© 2026 Kitploit

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
webvm — 클라이언트 측 Linux 가상 머신이 WebAssembly를 통해 브라우저에서 실행되며, Tailscale 네트워킹, Dockerfile 기반 사용자 정의 이미지, 그리고 보안 교육 및 개발을 위한 CTF 챌린지 지원을 제공합니다. | Kitploit
도구/GitHubGitHub/leaningtech/webvm
Security VirtualizationNetwork SecurityCTFCloud SecurityDevSecOpsLearning & Education
GitHubleaningtech/webvm

webvm

클라이언트 측 Linux 가상 머신이 WebAssembly를 통해 브라우저에서 실행되며, Tailscale 네트워킹, Dockerfile 기반 사용자 정의 이미지, 그리고 보안 교육 및 개발을 위한 CTF 챌린지 지원을 제공합니다.

저장소 보기
17.2k3.3k4일 전Kitploit 검토 완료

인기

모두 보기 →

커뮤니티에서 가장 많이 사용되는 도구를 찾아보세요.

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유
웹사이트

WebVM

Discord server Issues

이 저장소는 https://webvm.io의 소스 코드를 호스팅합니다. 브라우저에서 실행되는 Linux 가상 머신입니다.

새로운 Alpine / Xorg / i3 그래픽 환경을 사용해 보세요: https://webvm.io/alpine.html

WebVM이 무엇인가요?

WebVM은 HTML5/WebAssembly에서 완전히 클라이언트 측에서 실행되는 서버리스 가상 환경입니다. Linux ABI 호환성을 위해 설계되었으며, 많은 네이티브 개발 툴체인을 포함한 수정되지 않은 Debian 배포판을 실행합니다.

WebVM은 CheerpX 가상화 엔진에 의해 구동되며, 다음을 제공합니다:

  • x86-to-WebAssembly JIT 컴파일러
  • 가상 블록 기반 파일 시스템
  • Linux syscall 에뮬레이터
  • 안전하고 샌드박스 처리된 클라이언트 측 실행

목차

  • 네트워킹
  • 개발 및 커스터마이징
    • GitHub Pages에 배포
    • 로컬 서빙 및 이미지 설정
  • Claude AI 통합
  • 커뮤니티 및 지원
  • 더 알아보기
  • 라이선스

[!NOTE] https://webvm.io를 방문하여 브라우저에서 즉시 시작하세요. 설정이 필요하지 않습니다.

로컬 설정, 사용자 이미지 빌드, fork/배포 가이드는 개발 및 커스터마이징을 참조하세요.

네트워킹

WebVM은 Tailscale 통합을 지원합니다. 따라서 브라우저 VM이 개인 네트워크에 연결할 수 있고, 출구 노드를 사용하면 공용 인터넷에도 연결할 수 있습니다.

[!NOTE] 일부 저수준 네트워킹 작업(ping에서 사용하는 ICMP 등)은 현재 이 환경에서 사용할 수 없습니다. 연결 확인에는 curl 또는 wget을 사용하세요.

로컬 네트워크

  1. 사이드바에서 "네트워킹" 패널을 엽니다.
  2. "Tailscale에 연결"을 클릭합니다.
  3. 로그인합니다(필요한 경우 tailscale.com에서 무료 계정을 만드세요).
  4. 프롬프트가 표시되면 "연결"을 클릭합니다.

이제 WebVM이 Tailscale 네트워크의 모든 머신에 액세스할 수 있습니다!

인터넷 사용 팁

[!TIP] 느린 연결에서는 초기화 전에 약간의 지연이 있을 수 있습니다. 연결 상태는 버튼의 색상 점으로 표시됩니다. 주황색 = 로컬 네트워크, 녹색 = 글로벌/인터넷. 연결되면 버튼 텍스트에 Tailscale IP 주소가 표시됩니다.

WebVM에서 공용 인터넷에 액세스하려면 Tailscale 네트워크의 다른 장치에서 출구 노드(Exit Node) 를 설정하세요:

  1. Tailscale 출구 노드 빠른 시작을 따르세요("Exit node로 장치 광고" 섹션).
  2. 출구 노드가 광고되면 WebVM이 자동으로 사용합니다.

인증 키 사용

대화형 로그인의 대안으로, URL 프래그먼트에 Tailscale 인증 키를 추가할 수 있습니다:

root@kitploit:~
https://webvm.io/#authKey=<your-ephemeral-key>

이는 Tailscale의 --login-server 옵션과 동일합니다.

[!TIP] 사용자 지정 제어 서버도 필요한 경우, 동일한 URL 프래그먼트에 controlUrl을 추가하고 값을 &로 구분하세요. 예: #authKey=...&controlUrl=....

Headscale을 사용한 Tailscale 자체 호스팅

또한 headscale, Tailscale 제어 서버의 자체 호스팅 오픈 소스 구현을 지원합니다. Headscale은 기본적으로 CORS 헤더를 추가하지 않으므로, 앞에 프록시가 필요합니다. 예제는 Headscale 리버스 프록시 설정 문서를 참조하세요.

준비가 되면 nginx 설정 파일의 location / 블록에 다음 줄을 추가하세요.

root@kitploit:~
if ($http_origin = "https://yourdomain.com") {
    add_header 'Access-Control-Allow-Origin' "$http_origin";
    add_header 'Access-Control-Allow-Credentials' 'true' always;
}

그런 다음 다음을 사용하여 WebVM에 액세스합니다:

root@kitploit:~
https://yourdomain.com/#controlUrl=<your-headscale-url>

개발 및 커스터마이징

[!NOTE] 사용자는 기본적으로 루트 권한을 가집니다. sudo는 설치되어 있지 않지만, 필요한 경우 Dockerfile에 쉽게 추가할 수 있습니다.

GitHub Pages에 배포

초보자에게 친숙한 간단한 워크플로입니다. 로컬 호스팅 및 커스터마이징은 아래의 로컬 서빙 및 이미지 설정을 참조하세요.

WebVM 저장소를 fork하여 자신만의 버전을 GitHub Pages에 배포하세요:

배포_지침_gif
  1. 저장소를 fork합니다.
  2. GitHub Pages를 활성화합니다 fork된 저장소에서 설정 → Pages → "GitHub Actions"를 소스로 선택합니다.
  3. Actions에서 Deploy 워크플로를 실행합니다.
  4. 완료 후, deploy_to_github_pages 작업 아래에 표시된 URL을 엽니다.

동일한 Deploy 워크플로는 Dockerfile에서 사용자 지정 .ext2 디스크 이미지도 빌드합니다. dockerfiles/debian_mini 또는 다른 Dockerfile을 가리킨 다음, 결과를 GitHub Release 자산으로 게시하거나 fork에서 Pages 빌드를 배포할 수 있습니다.

[!NOTE] dockerfiles/debian_large는 GitHub Pages에 비해 너무 큰 이미지입니다.

로컬 서빙 및 이미지 설정

1. 저장소 클론

root@kitploit:~
git clone https://github.com/leaningtech/webvm.git
cd webvm

2. custom-disk-images/에 이미지 넣기

이 저장소에는 로컬 .ext2 파일을 위한 영구적인 custom-disk-images/ 디렉토리가 포함되어 있습니다.

공식 Debian 미니 이미지를 사용하려면 Releases에서 다운로드하세요:

debian_mini_20230519_5022088024.ext2

직접 빌드한 이미지를 복사해 넣을 수도 있습니다.

3. WebVM이 로컬 이미지를 가리키도록 설정

config_public_terminal.js를 편집하세요:

root@kitploit:~
export const diskImageUrl =
  "/custom-disk-images/debian_mini_20230519_5022088024.ext2";
export const diskImageType = "bytes";

4. 의존성 설치 및 빌드

root@kitploit:~
npm install
npm run build

5. Nginx 시작 및 WebVM 열기

root@kitploit:~
nginx -p . -c nginx.conf

그런 다음 http://127.0.0.1:8081을 열어 로컬 WebVM을 즐기세요!

전체 Alpine 데스크탑 환경에 대해서는 leaningtech/alpine-image를 참조하세요.

자세한 내용은 CheerpX 사용자 이미지 문서를 참조하세요.

[!TIP] Python3 REPL의 경우, Deploy 워크플로는 Dockerfile에 지정된 CMD를 고려합니다.

REPL을 빌드하려면 간단히 CMD [ "/bin/bash" ]를 CMD [ "/usr/bin/python3" ]로 변경하고 배포하면 됩니다.

Claude AI 통합

Claude AI에 액세스하려면 API 키가 필요합니다. 다음 단계를 따라 시작하세요:

1. 계정 생성

  • Anthropic 콘솔을 방문하여 이메일로 가입하세요. Anthropic 콘솔에 로그인 링크를 받게 됩니다.

2. API 키 얻기

  • 로그인 후 API 키 얻기로 이동합니다.
  • 필요한 크레딧을 구매하세요. 구매 완료 후 API 콘솔을 통해 키를 생성할 수 있습니다.

3. API 키로 로그인

  • WebVM으로 이동하여 로봇 아이콘 위에 마우스를 올리면 Claude AI 통합 탭이 표시됩니다. 편의를 위해 오른쪽 상단의 핀 버튼을 클릭하여 탭을 고정할 수 있습니다.
  • Claude API 키를 입력할 수 있는 프롬프트가 표시됩니다.

4. Claude AI 사용 시작

  • API 키를 입력하면 다음과 같은 질문을 통해 Claude AI와 상호작용을 시작할 수 있습니다:

"/home/user/chall1.bin에 있는 CTF 챌린지를 해결하세요. 바이너리는 stdin에서 읽습니다."

배포_지침_gif

중요: API 키는 비공개이며 절대 공유되어서는 안 됩니다. 당사는 귀하의 키에 접근할 수 없으며, 브라우저에만 로컬로 저장됩니다.

커뮤니티 및 지원

문제 보고: GitHub Issues를 사용하여 버그를 신고하거나 기능을 요청하세요.

채팅: Discord 커뮤니티에 가입하여 WebVM에 대해 논의하고, 아이디어를 공유하며 도움을 받으세요.

더 알아보기

기사 및 자료:

  • WebVM: 브라우저의 서버리스 x86 가상 머신
  • WebVM: Tailscale을 통한 전체 네트워킹을 갖춘 WebAssembly의 Linux 가상화
  • Mini.WebVM: Dockerfile에서 나만의 Linux 상자, WebAssembly를 통해 브라우저에서 가상화
  • 불가능을 조각하다: WebAssembly를 통한 브라우저의 X86 가상화 — JsNation 2022 발표

예제 배포:

  • Mini.WebVM 참조 — GitHub Pages에 배포된 실행 예제

WebVM의 기술적 배경:

이 프로젝트는 다음에 의해 구동됩니다:

  • CheerpX — x86-to-WebAssembly JIT 컴파일러 | Leaning Technologies 제공
  • xterm.js — 웹 기반 터미널 에뮬레이터
  • Tailscale — VPN 네트워킹 계층
  • lwIP — TCP/IP 스택, Cheerp을 통해 Web으로 컴파일됨

버전 관리:

WebVM은 릴리스마다 업데이트되는 CheerpX NPM 패키지를 사용합니다.

모든 빌드는 불변입니다. 특정 버전이 오늘 잘 작동한다면, 영원히 계속 작동할 것입니다.

라이선스

WebVM은 Apache License, Version 2.0 하에 배포됩니다.

이 저장소의 내용을 자유롭게 사용, 수정, 재배포할 수 있습니다.

공개 CheerpX 배포판은 있는 그대로 제공되며, 개인의 기술 탐구, 테스트 및 사용을 위해 무료로 사용할 수 있습니다. 비영리, 학계 및 공공 부문을 포함한 조직의 기타 사용은 라이선스가 필요합니다. 다른 곳에 호스팅하기 위해 CheerpX 빌드를 다운로드하는 것은 상업 라이선스 없이 허용되지 않습니다.

라이선스 관행에 대한 자세한 내용은 여기에서 읽어보세요.

CheerpX/WebVM 기반 제품을 구축하려면 다른 라이선스 옵션을 확인하세요: CheerpX 라이선싱 또는 문의: [email protected]

도구 다운로드