ホーム

ネストされたクエリについて

ベストプラクティス

(1)トークンに共有キー(この例では“ vulnerabilities.vulnerability ”)があると仮定し、ネストされたクエリを使用します。

vulnerabilities.vulnerability: (os: "windows" AND patchAvailable: "true")

 

(2)意図したクエリになるように、条件を考えます。以下に例を示します。

クエリ 1: このクエリは、パッチ適用可能な脆弱性がある Windows アセットを返します。アセットは、両方の条件に一致する場合にのみ返されます。

vulnerabilities.vulnerability: (os: "windows" AND patchAvailable: "true")

クエリ 2: このクエリは、すべての Windows アセットとすべてのパッチ適用可能なアセットを返します。どちらか一方の条件が一致すると、アセットが返されます。

vulnerabilities.vulnerability.os: "windows" AND vulnerabilities.vulnerability.patchAvailable: "true"

 

(3)ネストしたクエリで最善の結果を得るためには、最初の部分で完全な共有キーを入力します。例えば、クエリ 1 の形式は、最善の結果を得るのに最適です。

クエリ 1: “ vulnerabilities.vulnerability ”は完全な共有キーです(推奨される形式)。

vulnerabilities.vulnerability: (os: "windows" AND patchAvailable: "true")

クエリ 2: “ vulnerabilities ”は部分的な共有キーです。

vulnerabilities: (vulnerability.os: "windows" AND vulnerability.patchAvailable: "true")

 

(4) ネストされたクエリ(推奨される形式)の共有キーは“ vulnerabilities ”になります。

クエリ 1: このクエリは、確認済み脆弱性がある Windows アセットを返します。

vulnerabilities: (vulnerability.os: "windows" AND typeDetected: "Confirmed")

クエリ 2: このクエリは、過去 3 日間で最初に見つかった脆弱性がある Windows アセットを返します。

vulnerabilities: (vulnerability.os: "windows" AND firstFound > now-3d)

その他の例

タグ“ Cloud Agent ”が付いているアセットのうち、特定のソフトウェアがインストールされているアセットを検索します。このクエリは、1)タグ“ Cloud Agent ”が指定され、かつ 2)インストールされている特定のソフトウェア(名前とバージョンの両方)が一致するアセットを返します。

tags.name: `Cloud Agent` AND software: (name:`Cisco AnyConnect Secure Mobility Client` and version: `3.1.14018`)

脆弱性の最後の検出日が 2018 年 1 月 12 日であり、かつその脆弱性に対する入手可能なパッチがあるアセットを検索します。

vulnerabilities: (lastFound: '2018-01-12' AND vulnerability.patchAvailable: "true")

脆弱性の最初の検出日が過去 10 日以内であり、かつその脆弱性の CVSS 基本値が 7.8 であるアセットを検索します。

vulnerabilities: (firstFound > now-10d AND vulnerability.cvssInfo.baseScore: 7.8)