
Moxy는 최신 웹 애플리케이션 보안 테스팅을 위해 설계된 오픈소스 DAST 도구입니다. 사용하기 쉬운 인터페이스와 에이전트적 기능을 제공하여 침투 테스트 워크플로우를 지원하고 자동화합니다.
Moxy (차세대 중간자 프록시) 에이전틱 AI 기능(Ollama 지원)을 탑재한 오픈소스 DAST 도구로, 침투 테스트를 위해 설계되었습니다. browser-use를 기반으로 구축된 Moxy는 동적 애플리케이션 보안 테스트를 간소화합니다.
🚀 매우 쉽게 사용 가능
게다가 무료입니다. 무료를 싫어하는 사람이 어디 있겠습니까?
미리보기 알림: 🚧 Moxy는 활발히 개발 중이며 현재 프리뷰/베타 단계입니다. 호환성이 깨지는 변경, 불안정성, 누락된 기능이 예상됩니다. 위험을 감수하고 사용하시기 바라며, 최신 개선 사항을 위해 프로젝트 업데이트를 팔로우하세요!
현재 이 도구를 실행하려면 프론트엔드와 백엔드를 별도로 실행해야 합니다.
Moxy를 실행하기 전에 uv (astral-uv)를 설치해야 합니다. 이는 빠른 Python 패키지 설치 및 해결 도구입니다.
uv 설치:
uv를 설치하세요.참고:
uv는 백엔드의 Python 종속성 관리를 위해 필요합니다. 설치되어 있지 않으면 백엔드 명령이 실패합니다.
백엔드 디렉토리로 이동:
cd backend
종속성 설치 및 백엔드 서버 실행:
uv sync
uv run moxy
프론트엔드 디렉토리로 이동:
cd frontend
종속성 설치:
npm install
프론트엔드 개발 서버 시작:
npm run moxy
참고: 기본적으로 프론트엔드는 http://localhost:8080에서 실행되고, 백엔드는 http://localhost:5000에서 실행됩니다.
Moxy는 Docker를 사용하여 보다 쉽게 배포하고 일관된 환경을 유지할 수 있습니다. 이 방법으로 쉽게 협업하고 설치할 수 있습니다.
projects_data는 필요한 모든 데이터베이스와 로그를 보관합니다. 데이터 폴더입니다.
GitHub Container Registry에서 미리 빌드된 이미지를 가져와 실행:
docker run -d \
--name moxy \
-p 5000:5000 \
-p 8081:8081 \
-v $(pwd)/projects_data:/app/projects_data \
ghcr.io/matank001/moxy:latest
컨테이너 빌드 및 시작:
docker-compose up -d --build
애플리케이션 접속:
브라우저에서 프록시 사용 설정:
Docker에서 실행할 때, 브라우저에서 프록시를 수동으로 설정해야 합니다:
localhost (또는 127.0.0.1)8081참고: 프록시는 Docker 컨테이너 내에서 실행되지만 호스트 머신의
localhost:8081에서 접근 가능합니다. 브라우저의 네트워크 설정에서 프록시 설정을 구성하거나 프록시 관리용 브라우저 확장 프로그램을 사용할 수 있습니다.
로그 보기:
docker-compose logs -f
컨테이너 중지:
docker-compose down
프로젝트 루트에 .env 파일을 만들어 애플리케이션을 구성합니다 (backend/ 디렉토리 안에 넣어야 합니다):
참고:
.env파일은 선택사항입니다. Docker Compose는 파일이 있으면 자동으로 로드합니다(없어도 경고 없음). 모든 프로젝트 데이터는 볼륨으로 마운트된projects_data디렉토리에 저장됩니다.
기본적으로 Moxy는 AI 구성이나 자격 증명 없이도 작동합니다. 브라우저 기반 DAST 흐름조차 활성화하지 않으면 AI를 사용하지 않습니다.
Moxy는 에이전틱 기능을 위해 OpenAI의 API와 Ollama(로컬 AI)를 모두 지원합니다. AI 기반 기능을 활성화하려면:
로컬 개발의 경우: backend 디렉토리에 적절한 구성을 포함한 .env 파일을 만듭니다.
Docker의 경우: 프로젝트 루트(docker-compose.yml과 동일한 디렉토리)에 .env 파일을 만듭니다.
OpenAI를 이용한 클라우드 기반 AI 처리를 위해 .env 파일을 다음과 같이 구성합니다:
OPENAI_API_KEY=sk-proj-... # OpenAI API 키
MODEL=gpt-4o-mini # 선택사항: 지정하지 않으면 기본값 gpt-4o-mini
Ollama를 이용한 로컬 AI 처리를 위해 .env 파일을 다음과 같이 구성합니다:
USE_OLLAMA=true
OPENAI_API_KEY=test # 필요하지만 Ollama 사용 시 값은 무시됨
OPENAI_BASE_URL=http://localhost:11434/v1/ # Ollama API 엔드포인트
MODEL=qwen3:8b # 선호하는 Ollama 모델
에이전트의 기능:
에이전트는 AI를 사용하여 애플리케이션의 공격 표면을 추론하고, 트래픽을 재생하거나 수정하며, 브라우저 세션을 구동하여 새로운 테스트 시나리오를 생성합니다.
경고: 에이전틱 AI 모드는 현재 실험적이며 불안정할 수 있습니다.
Moxy는 MITMproxy를 가로채는 HTTP/HTTPS 프록시로 활용하여 동적 애플리케이션 보안 테스트 중 트래픽을 캡처하고 수정합니다.
기본적으로 프록시는 포트 8081에서 실행됩니다.
브라우저나 시스템을 http://localhost:8081을 프록시로 사용하도록 설정하면 MITMproxy를 통해 트래픽을 라우팅하고 Moxy가 실시간으로 요청을 분석하고 상호작용할 수 있습니다.
Firefox의 HTTP 및 HTTPS 트래픽을 Moxy를 통해 분석하려면 Firefox가 Moxy의 프록시를 사용하도록 구성하고 프록시 인증서를 가져와야 합니다. 그래야 HTTPS를 포함한 브라우저 트래픽이 적절히 가로채집니다.
Moxy(및 MITMproxy 프로세스)가 실행 중인지 확인합니다.
설정(일부 시스템에서는 환경설정)으로 이동합니다.localhost로, 포트를 8081로 설정합니다.
localhost:8081로 설정합니다.이제 모든 브라우저 트래픽이 Moxy의 프록시(
http://localhost:8081)를 통해 라우팅됩니다.
mitmproxy-ca-cert.pem).설정 → 개인 정보 및 보안으로 이동합니다.이 단계를 완료하면 Firefox는 Moxy의 프록시에 의해 가로채진 HTTPS 연결을 신뢰합니다. 이제 HTTP 및 HTTPS를 통해 인증서 경고 없이 웹 애플리케이션을 동적으로 분석하고 테스트할 준비가 되었습니다.
자세한 내용은 MITMproxy의 인증서 문서를 참조하세요.
moxy.db - 프로젝트 메타데이터를 저장하는 메인 데이터베이스projects_data/{project_name}.db - 개별 프로젝트 데이터베이스 (프로젝트 이름을 따르며, 정리됨)
경고: 현재 단계에서는 데이터베이스 마이그레이션이나 이전 버전과의 호환성이 보장되지 않습니다. 향후 버전에서는 이전 데이터베이스 파일과 호환되지 않을 수 있습니다. 업그레이드할 계획이 있다면 주의해서 사용하세요.
Moxy는 엄격히 윤리적인 보안 테스트 및 연구 목적으로 설계되었습니다. 보안 전문가, 개발자 및 조직이 소유하거나 명시적 테스트 허가를 받은 애플리케이션의 취약점을 식별하고 수정하는 데 도움을 주기 위한 것입니다.