업데이트로 돌아가기
New releaseJul 19, 2026

oxo v2.9.3

네트워크, 웹 앱, 모바일 앱 및 API 전반에 걸쳐 취약점 탐지, 정찰 및 핑거프린팅을 위한 특화된 에이전트를 결합한 모듈식 보안 스캐닝 오케스트레이터입니다.

공유

PyPI version Downloads Ostorlab blog Twitter Follow

OXO 스캔 오케스트레이션 엔진

OXO는 모듈성, 확장성, 단순성을 위해 설계된 보안 스캐닝 프레임워크입니다. 오픈 소스이며 Ostorlab에서 유지 관리합니다.

OXO 엔진은 특화된 도구들을 결합하여 취약점을 찾고 정찰, 열거, 핑거프린팅과 같은 작업을 수행합니다.

Main oxo

주요 기능

  • 모듈성 및 확장성: 여러 특화된 에이전트를 쉽게 결합하여 포괄적인 스캔을 수행합니다.
  • 광범위한 자산 지원: IP 주소와 도메인부터 모바일 애플리케이션(Android, iOS, HarmonyOS) 및 API 스키마까지 모든 것을 스캔합니다.
  • 에이전트 스토어: 인기 있는 보안 도구를 위한 커뮤니티 및 공식 에이전트 라이브러리에 접근합니다.
  • 확장 가능: 간단한 Python 기반 프레임워크를 사용하여 자체 에이전트를 생성하고 게시할 수 있도록 기본 지원합니다.
  • API 우선: CI/CD 파이프라인 및 기타 자동화된 워크플로에 쉽게 통합할 수 있는 GraphQL API를 제공합니다.

요구 사항

로컬에서 스캔을 실행하려면 Docker가 필요합니다. Docker를 설치하려면 다음 지침을 따르세요.

설치

OXO는 PyPI의 Python 패키지로 제공됩니다. pip가 이미 설치되어 있다면 다음 명령을 실행하여 설치할 수 있습니다.

pip install -U ostorlab

시작하기

OXO는 Nmap, Nuclei, Tsunami와 같은 네트워크 스캐닝 에이전트, ZAP과 같은 웹 스캐너, WhatWeb 및 Wappalyzer와 같은 웹 핑거프린팅 도구, Subfinder 및 Dnsx와 같은 DNS 브루트포싱 도구, VirusTotal과 같은 악성코드 파일 스캐닝 등 수십 개의 에이전트를 갖춘 스토어와 함께 제공됩니다.

이러한 도구들을 결합하여 실행하려면 다음 명령을 실행하세요:

OXO CLI는 oxo 또는 ostorlab 명령으로 접근할 수 있습니다.

oxo scan run --install --agent agent/ostorlab/nmap --agent agent/ostorlab/tsunami --agent agent/ostorlab/nuclei ip 8.8.8.8

이 명령은 다음 스캐닝 에이전트를 다운로드하고 설치합니다:

그리고 대상 IP 주소 8.8.8.8을 스캔합니다.

에이전트는 표준 Docker 이미지로 제공됩니다.

스캔 관리

스캔 상태를 확인하려면 다음을 실행하세요:

oxo scan list

스캔이 완료되면 스캔 결과에 접근하려면 다음을 실행하세요:

oxo vulnz list --scan-id <scan-id>
oxo vulnz describe --vuln-id <vuln-id>

실행 중인 스캔을 중지하려면 다음을 실행하세요:

oxo scan stop --scan-id <scan-id>

Docker 이미지

컨테이너에서 oxo를 실행하려면 공개적으로 사용 가능한 이미지를 사용하여 다음 명령을 실행할 수 있습니다:

docker run -v /var/run/docker.sock:/var/run/docker.sock ostorlab/oxo:latest scan run --install --agent agent/ostorlab/nmap ip 8.8.8.8

참고:

  • 명령은 scan run으로 직접 시작합니다. 이는 ostorlab/oxo 이미지가 oxo를 entrypoint로 사용하기 때문입니다.
  • OXO가 호스트 머신에서 에이전트를 생성할 수 있도록 Docker 소켓을 마운트하는 것이 중요합니다.

온프렘 스캐너 로그

OXO를 온프렘 스캐너로 실행할 때 --persist-logs를 사용하여 스캐너 로그를 디스크에 기록하세요:

oxo scanner --scanner-id <scanner-uuid> --persist-logs

기본적으로 로그는 ~/.ostorlab/scanner.log에 기록됩니다. 다른 파일을 선택하려면:

oxo scanner --scanner-id <scanner-uuid> --persist-logs --log-file /var/log/ostorlab/scanner.log

기록되는 로그의 상세 수준을 변경하려면:

oxo scanner --scanner-id <scanner-uuid> --persist-logs --log-level DEBUG

자산

OXO는 여러 자산 유형을 스캔할 수 있어 다양한 플랫폼과 프로토콜에 걸쳐 포괄적인 보안 범위를 제공합니다.

카테고리자산설명
네트워크ipIP 주소 또는 IP 범위 (v4 및 v6).
domain-name도메인 이름.
웹link웹 링크, URL, 메서드, 헤더, 요청 본문을 허용합니다.
api-schemaAPI 스키마 (OpenAPI, GraphQL 등).
모바일android-apk / android-aabAndroid 패키지 파일 (.APK, .AAB).
android-storeGoogle Play Store의 Android 앱.
ios-ipaiOS 패키지 파일 (.IPA).
ios-storeApple App Store의 iOS 앱.
ios-testflightTestFlight의 iOS 앱.
harmonyos-apk / harmonyos-hapHarmonyOS 패키지 파일.
기타file일반 파일.
phone-number전화번호.
agent에이전트의 메타 스캐닝.

스토어

OXO는 공개 스토어에 모든 에이전트를 나열하며, 여기서 검색하고 자신의 에이전트를 게시할 수도 있습니다.

Store

첫 에이전트 게시하기

첫 에이전트를 작성하려면 전체 튜토리얼을 여기에서 확인할 수 있습니다.

단계는 기본적으로 다음과 같습니다:

  • 모든 파일이 이미 설정된 템플릿 에이전트를 복제합니다.
  • template_agent.py 파일을 변경하여 로직을 추가합니다.
  • Dockerfile을 변경하여 추가 빌드 단계를 추가합니다.
  • ostorlab.yaml을 변경하여 선택자, 문서, 이미지, 라이선스를 추가합니다.
  • 스토어에 게시합니다.

에이전트를 작성한 후에는 스토어에 게시하여 다른 사람들이 사용하고 발견할 수 있도록 할 수 있습니다. 스토어는 에이전트 빌드를 처리하고 Git 저장소에서 새로운 릴리스를 자동으로 가져옵니다.

Build

만들 에이전트 아이디어

다음과 같은 인기 도구의 구현:

  • semgrep: 소스 코드 스캐닝용.
  • nbtscan: 대상 네트워크에서 열린 NetBIOS 이름 서버를 스캔합니다.
  • onesixtyone: 공개적으로 노출된 SNMP 서비스를 찾는 빠른 스캐너.
  • Retire.js: 알려진 취약점이 있는 JavaScript 라이브러리 사용을 탐지하는 스캐너.
  • snallygaster: HTTP 서버의 파일 유출 및 기타 보안 문제를 찾습니다.
  • testssl.sh: Heartbleed, CRIME, ROBOT을 포함한 다양한 TLS/SSL 취약점을 식별합니다.
  • TruffleHog: Git 저장소에서 높은 엔트로피의 문자열과 비밀을 검색하며, 커밋 기록을 깊이 파고듭니다.
  • cve-bin-tool: 바이너리에서 취약한 구성 요소를 스캔합니다.
  • XSStrike: 생성적 페이로드를 사용하는 XSS 웹 취약점 스캐너.
  • Subjack: 서브도메인 탈취 스캐닝 도구.
  • DnsReaper: 서브도메인 탈취 스캐닝 도구.
  • Gitleaks: 하드코딩된 비밀을 탐지하고 방지하는 SAST 도구.
  • ffuf: Go로 작성된 빠른 웹 퍼저.
  • Gobuster: URI, DNS 서브도메인 등을 브루트포싱하는 데 사용되는 도구.

크레딧

빠르게 발전하는 분야의 오픈 소스 프로젝트로서, 우리는 새로운 기능, 개선된 인프라, 더 나은 문서 등 어떤 형태의 기여든 항상 환영합니다. 시작하려면 CONTRIBUTING.md를 참조하세요.

OXO를 더 나은 도구로 만드는 데 도움을 주신 다음 기여자분들께 감사드립니다:

카테고리