当社のAIエンジンNeutronが、UCバークレーのCyberGymベンチマークで96.75%のスコアを記録しました。 詳細を見る

エンジニアリング

エンジニアリング

🚀 OXO v1.0登場

OXOバージョン1.0は10倍高速になり、ARM64アーキテクチャに対応したほか、複数アセットのスキャンや、よりシンプルで強力なCLIなど、強化された機能を数多く備えています。

🚀 OXO v1.0登場

2年前、当社はセキュリティスキャンのオーケストレーターをオープンソース化しました。

その間、このオーケストレーターは数十万回のスキャンで実戦の試練を経て、200回以上のリリースを重ね、25万回以上ダウンロードされ、29の新しい検出エージェントが公開されました。

OXOは、さまざまなセキュリティツールの指揮者として機能します。複数の専門ツールを集め、それらがエージェントとしてシームレスに連携するよう調整することで、脆弱性の検出を簡素化し、改善します。

本日、このプロジェクトがついにバージョン1に到達するまで成熟し、数々のエキサイティングな新機能を追加するとともに、名称をOXOに変更したことを発表できることを嬉しく思います。

スキャンの開始が10倍高速に

以前のバージョンでは、スキャンの開始に3分近くかかっていました。OXO v1ではこれが10倍高速になり、わずか16.5秒でスキャンを開始できます。

変更前(177s):

変更前のOXOスキャン実行

変更後(16.5s):

変更後のOXOスキャン実行

スタンドアロンバイナリ

OXOは、macOS、Linux、Windows向けのスタンドアロンバイナリとして利用できるようになりました。GitHubのリリースページから直接ダウンロードできます:https://github.com/Ostorlab/oxo/releases

エージェントのmacOSおよびARM64アーキテクチャへの対応

ARM64プロセッサーを搭載したmacOSをお使いの方に朗報です。OXOはARM64エージェントにネイティブで対応できるようになりました。

エージェント開発者は、エージェント定義のYAMLファイルoxo.yamlで、対応するアーキテクチャを指定できるようになりました。

macOSとARM64への対応

エージェントをOXOストアに公開すると、ストアが指定されたすべてのアーキテクチャ向けにエージェントのコンテナイメージを自動的にビルドします。

さらに、スキャンを実行すると、OXOは自社のアーキテクチャに対応するイメージを自動的に選択してプルします。

インベントリファイルのスキャン

OXOに、アセット定義のYAMLファイルを使って複数のアセットをスキャンする機能が追加されました。これにより、さまざまな種類の大量のアセットを同時にスキャンできます。

YAMLファイルを使って複数のアセットをスキャンする例:

複数のアセットを含むエージェントグループ
—assets引数を使うと、インベントリで指定したすべてのアセットをスキャンできます。
複数アセットのコマンド

より使いやすいCLI:

「agent key」は、どのエージェントを使用したいかをOXOが識別するための一意の識別子です。「agent」(文字列)、組織名、エージェント自体の名前という3つの要素を組み合わせて構成されます。

たとえば、組織my_orgに属するmy_agentという名前のエージェントのagent keyはagent/my_org/my_agentになります。

OXOバージョン1からは、スキャンの実行時にagent keyを簡潔に指定できるようになりました。完全なagent keyを使う代わりに、<org>@<name>という短縮形式を使用できます。これにより、指定した組織に属する、指定した名前のエージェントを使用するようOXOに指示できます。

たとえば、次のコマンドは:

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

次のように書くことができます。

oxo scan run --install --agent ostorlab@nmap --agent ostorlab@openvas ip 8.8.8.8

また、Ostorlabの公式組織で公開されているエージェントを使う場合は、エージェント名だけを使用できます。

oxo scan run --install --agent nmap --agent openvas --agent tsunami --agent nuclei ip 8.8.8.8

新しいドキュメントサイト:

OXOには専用のドキュメントサイトができました。チュートリアルや数多くのサンプルが揃っています。

OXOのドキュメント

エージェントストア

エージェントはOXOのスキャン機能の中核となるコンポーネントです。そこで、OXOのエージェントストアを導入しました。

ここでは、Ostorlabとコミュニティが公開したエージェントを見つけることができます。 こちらのチュートリアルに従うだけで、自分のエージェントをOXOストアに公開することもできます。

OXOエージェントストアのホームページ

エージェントストアのnmap

スキャンの進捗をデフォルトで追跡

スキャンの進捗の追跡が効率化されました。バージョンv1からは--followがデフォルトのモードとなり、スキャンを開始するとOXOがスキャンの進捗を随時知らせてくれます。

asciicast

CLIからエージェントに直接引数を渡す

エージェントは引数を使って細かく調整でき、より高い制御性と柔軟性が得られます。引数の受け渡しが、CLI全体で利用できるようになりました。

たとえば、Nmapエージェントだけでスキャンを開始し、fast_mode引数をfalseに設定したい場合は、次の形式のagent_group.yamlファイルを使用できます。

引数付きのエージェントグループ

現在では、同じ作業をCLIから直接実行できます。

oxo scan run --agent agent/ostorlab/nmap --arg fast_mode:False ip 8.8.8.8

メッセージを永続化する機能を追加:

OXOに新しいオープンソースのエージェントNebulaが加わりました。Nebulaエージェントを使うと、IP、ドメイン、リンク、公開されているサービスなど、任意の種類のメッセージを永続化できます。これにより、脆弱性のスキャンだけにとどまらず、偵察やアタックサーフェスのマッピングといった、より高度なシナリオに進むことができます。たとえば、次のエージェントグループは、対象のメインドメインを起点として、ドメイン、サブドメイン、IP、公開されているサービスを収集します。

Nebulaエージェントを含むエージェントグループ

このコマンドでスキャンを実行すると、永続化されたすべてのメッセージを~/.ostorlab/のパスで確認できます。

まとめ

OXOバージョン1.0は10倍高速になり、ARM64アーキテクチャに対応したほか、複数アセットのスキャン、よりシンプルで強力なCLI、エージェントストアなど、強化された機能を数多く備えています。

OXOのドキュメントのサンプルセクションでは、OXOを使用する一般的なシナリオの一覧を確認できます。

これには、Web、ネットワーク、SBOMファイルなど、さまざまな種類のスキャンが含まれます。

また、OXOを内部で使用して、既知の悪用可能な脆弱性すべてをチェックするKEVプロジェクトもご覧いただけます。

タグ:

opensource, security, oxo