
モジュール式のセキュリティスキャンオーケストレーターで、ネットワーク、Webアプリ、モバイルアプリ、API全体で脆弱性検出、偵察、フィンガープリンティングを行う専門エージェントを組み合わせます。
OXO は、モジュール性、スケーラビリティ、シンプルさを重視して構築されたセキュリティスキャンフレームワークです。
OXO エンジンは、専門的なツールを組み合わせて連携させ、偵察、列挙、フィンガープリンティングなどの脆弱性の発見やアクションを実行します。

ローカルでスキャンを実行するには Docker が必要です。Docker をインストールするには、次の 手順 に従ってください。
OXO は PyPI 上の Python パッケージとして提供されています。pip がすでにインストールされている場合は、次のコマンドを実行するだけでインストールできます。
pip install -U ostorlab
OXO には多数のエージェントを備えたストアが付属しています。Nmap、Nuclei、Tsunami などのネットワークスキャンエージェント、ZAP などの Web スキャナー、WhatWeb や Wappalyzer などの Web フィンガープリンティングツール、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>
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 をオンプレミススキャナーとして実行する場合、--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 は複数のアセットタイプのスキャンをサポートしており、さまざまなプラットフォームやプロトコルにわたる包括的なセキュリティカバレッジを実現します。
| カテゴリ | アセット | 説明 |
|---|---|---|
| ネットワーク | ip | IP アドレスまたは IP 範囲(v4 および v6)。 |
domain-name | ドメイン名。 | |
| Web | link | Web リンク。URL、メソッド、ヘッダー、リクエストボディを受け入れます。 |
api-schema | API スキーマ(OpenAPI、GraphQL など)。 | |
| モバイル | android-apk / android-aab | Android パッケージファイル(.APK、.AAB)。 |
android-store | Google Play ストアの Android アプリ。 | |
ios-ipa | iOS パッケージファイル(.IPA)。 | |
ios-store | Apple App Store の iOS アプリ。 | |
ios-testflight | TestFlight の iOS アプリ。 | |
harmonyos-apk / harmonyos-hap | HarmonyOS パッケージファイル。 | |
| その他 | file | 汎用ファイル。 |
phone-number | 電話番号。 | |
agent | エージェントのメタスキャン。 |
OXO はすべてのエージェントを公開ストアにリストし、検索や独自のエージェントの公開が可能です。

最初のエージェントを作成するには、完全なチュートリアルをこちらで確認できます。
手順は基本的に次のとおりです。
template_agent.py ファイルを変更してロジックを追加します。Dockerfile を変更して追加のビルド手順を追加します。ostorlab.yaml を変更してセレクター、ドキュメント、イメージ、ライセンスを追加します。エージェントを作成したら、ストアに公開して他のユーザーが使用および発見できるようにします。ストアはエージェントのビルドを処理し、Git リポジトリからの新しいリリースを自動的に取得します。

人気ツールの実装など:
急速に発展している分野のオープンソースプロジェクトとして、新機能、インフラストラクチャの改善、ドキュメントの改善など、常に貢献を歓迎しています。
OXO をより良いツールにするためにご協力いただいた以下の貢献者に感謝いたします。