업데이트로 돌아가기
New releaseAug 17, 2026

oxo v2.9.23

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

공유

PyPI version Downloads Ostorlab blog Twitter Follow

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

OXO는 모듈성, 확장성 및 단순성을 위해 구축된 보안 스캐닝 프레임워크입니다.

OXO 엔진은 특수 도구들을 결합하여 취약점을 찾고 정찰, 열거, 핑거프린팅과 같은 작업을 수행하기 위해 협력적으로 작동합니다.

주요 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 이미지가 oxoentrypoint로 가지고 있기 때문입니다.
  • 호스트 머신에서 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도메인 이름.
linkURL, 메서드, 헤더 및 요청 본문을 허용하는 웹 링크.
api-schemaAPI 스키마 (OpenAPI, GraphQL 등).
모바일android-apk / android-aabAndroid 패키지 파일 (.APK, .AAB).
android-storeGoogle Play 스토어의 Android 앱.
ios-ipaiOS 패키지 파일 (.IPA).
ios-storeApple App Store의 iOS 앱.
ios-testflightTestFlight의 iOS 앱.
harmonyos-apk / harmonyos-hapHarmonyOS 패키지 파일.
기타file일반 파일.
phone-number전화번호.
agent에이전트의 메타 스캔.

스토어

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

스토어

첫 번째 에이전트 게시하기

첫 번째 에이전트를 작성하려면 전체 튜토리얼을 여기에서 확인하세요.

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

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

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

빌드

구축할 에이전트 아이디어

인기 도구의 구현 예:

  • 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 서브도메인 등을 무차별 대입하는 도구.

크레딧

빠르게 발전하는 분야의 오픈소스 프로젝트로서, 우리는 새로운 기능, 개선된 인프라, 또는 더 나은 문서화 형태의 기여를 항상 환영합니다.

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

카테고리