インテリジェンス カード拡張のテストと検証は、次の 2 つのステップで行われます。
まず、開発者は Python コードをローカルでテストして、期待どおりに動作し、期待どおりの json レスポンス を返すことを確認できます。
第二に、拡張機能パッケージ全体(情報源のPythonコード、ロゴ、extension.json、metadata.jsonファイルを含む)を.tgzとしてバンドルすることができます。 ファイルは Recorded Future に送信され、内部ステージング環境での最終テストと検証が行われます。妥当な期間内(通常は 1 営業日以内)に、開発者は、確認されたエラーや最終的な統合のスクリーンショットなどのフィードバックを受け取ることができます。
拡張機能は Recorded Future によって検証されると、公開され、Recorded Future製品アップデートで発表されます。その他の市場開拓活動 (ウェビナー、データシート、お知らせなど) は、マーケティング チームを通じて調整されます。
以下に、2 つのテスト手順の詳細を示します。
[1a] コマンドラインから拡張機能をスタンドアロンでテストする
拡張機能の python コード部分をコマンド ラインからテストするには、 extension_util.py ライブラリが必要です。このライブラリは、このサポート ページに添付されています。 また、次の例のように、拡張機能 情報ソース コードに main 関数を含める必要があります。
__name__ == " __main__ "の場合:
recordsedfuture_extension_util.extension_utilからmake_requestをインポート
print "応答:", make_request(request)
リクエスト ディクショナリと認証ディクショナリを指定して、リクエスト関数を実行します。
python farsight.py '{"エンティティ":{"name":"recordedfuture.com","type":"InternetDomainName"}}' ' {"api_key":"xxx"} '
recordsedfuture_extension_util の正しい (期待される) ファイルパスを維持するには、util ディレクトリを 1 レベル上にし、PYTHONPATH を使用してファイル検索パスに 1 レベル上が含まれるように指定することをお勧めします。例:
PYTHONPATH=../ python farsight.py '{"エンティティ":{"name":"recordedfuture.com","type":"InternetDomainName"}}' ' {"api_key":"xxx"} '
[1b] Pythonインタープリタから拡張機能をスタンドアロンでテストする
Python インタープリターから拡張機能の Python コード部分をテストするには、Python を起動して拡張機能をインポートします。 この例では、ファイルシステムが次のようになっていることを前提としています。
/拡張機能
./extensions/recordedfuture_extension_util
./extensions/recordedfuture_extension_util/extension_util.py
./拡張機能/myExtension
./extensions/myExtension/myExtension.py
この例では、IDLE (軽量 Python IDE ) を使用します。
PYTHONPATH=../ アイドル
myExtensionをインポートする
リクエストと認証の入力を JSON オブジェクトとして定義します。
request = {"エンティティ":{"名前":"213.115.47.82","タイプ":"IPアドレス"}}
認証 = {"api_key":""}
拡張機能を実行し、応答を解析します
stringResponse = myExtension.request(リクエスト、認証)
JSONをインポート
jsonResponse = json.loads(文字列レスポンス)
pprintをインポート
pprint.pprint(jsonレスポンス)
[2] Recorded FutureテストのためのIntelligence Card延長を提出する
すべての拡張ファイルは.tgzとしてバンドルする必要がありますファイル。これをコマンドラインでパッケージ化する方法の例を以下に示します。
tar zcvf my_new_extension.tgz my_new_extension.py my_new_extension_small-logo.pngmy_new_extension_large-logo.png メタデータ.json 拡張機能.json
Recorded Future に拡張機能のテストと検証を依頼するには、次の情報をpartners@recordedfuture.comに送信してください。
- 拡張機能が表示されるインテリジェンス カードの種類のリスト (例: IP、ドメイン、URL)
- 予想されるユースケースを含む、拡張機能の機能の簡単な説明
- Recorded Futureがテストに使用できる認証情報
- .tgz ファイル(上記で生成されたもの)
- この拡張機能が動作するインテリジェンス カードのタイプごとに、出力形式を評価できるように、代表的な応答を生成するテスト エンティティを少なくとも 1 つ提供します。