Exploit And Vulnerability Intelligence

パッケージURL検出

VulnCheck エクスプロイト&脆弱性インテリジェンスは、オープンソースソフトウェアライブラリパッケージとオペレーティングシステムパッケージの両方に対する幅広い懸念事項を検出する機能をサポートしています。

VulnCheck エクスプロイト&脆弱性インテリジェンスは、オープンソースソフトウェアライブラリパッケージとオペレーティングシステムパッケージの両方に対する幅広い懸念事項を検出する機能をサポートしています。

VulnCheckのリサーチチームは、パッケージ管理エコシステム内の新しい危険な挙動を常に調査しています。VulnCheck エクスプロイト&脆弱性インテリジェンスは、以下の検出タイプをサポートしており、パッケージURLでクエリを実行できます。

  1. 脆弱性
  2. ライセンス
  3. 悪意のあるパッケージ
  4. 放棄されたパッケージ
  5. ハイジャック可能なリポジトリ
  6. タイポスクワッティング

脆弱性とライセンス以外に、以下のセクションでこれらのリサーチ属性が意味するものとその例を説明します。

悪意のあるパッケージ

malicious属性は、パッケージが悪意のあるコンテンツを含んでいることが知られている場合に使用されます。可能な限り、VulnCheckはそのパッケージが悪意があると信じる理由を示すソース参照を付けます。

{
  "_benchmark": 0.047808,
  "_meta": {
    "purl_struct": {
      "type": "npm",
      "namespace": "",
      "name": "aliyundrive",
      "version": "6.0.4",
      "qualifiers": null,
      "subpath": ""
    },
    "timestamp": "2023-12-01T20:11:54.921991593Z",
    "total_documents": 2
  },
  "data": {
    "cves": [],
    "research_attributes": {
      "is_malicious": true,
      "malicious_source": "https://blog.phylum.io/dozens-of-npm-packages-caught-attempting-to-deploy-reverse-shell/"
    }
  }
}

maliciousタグは現在、gemnpmnugetpypiに対応しています。

放棄されたパッケージ

abandoned属性は、パッケージのソースリポジトリがもはや存在しない場合に使用されます。これは、そのパッケージが今後更新されないことを強く示唆します。

{
  "_benchmark": 0.050773,
  "_meta": {
    "purl_struct": {
      "type": "golang",
      "namespace": "github.com/paysuper",
      "name": "paysuper-reporter",
      "version": "v1.4.2",
      "qualifiers": null,
      "subpath": ""
    },
    "timestamp": "2023-12-01T20:08:09.215541236Z",
    "total_documents": 1
  },
  "data": {
    "cves": [],
    "research_attributes": {
      "abandoned": true
    }
  }
}

abandoned属性は現在、golangに対応しています。

ハイジャック可能なリポジトリ

hijackable repositoryタグは、パッケージのソースリポジトリがrepojackingの脆弱性がある場合に使用されます。これは特に危険で、攻撃者がアップデートに悪意のあるコードを挿入できる可能性があります。

{
  "_benchmark": 0.040295,
  "_meta": {
    "purl_struct": {
      "type": "golang",
      "namespace": "github.com/zerobounty",
      "name": "tile38-client",
      "version": "v0.10.2",
      "qualifiers": null,
      "subpath": ""
    },
    "timestamp": "2023-12-01T20:09:49.124292153Z",
    "total_documents": 1
  },
  "data": {
    "cves": [],
    "research_attributes": {
      "repo_hijackable": true
    }
  }
}

hijackable repositoryタグは現在、golangに対応しています。

タイポスクワッティング

typosquattingタグは、リサーチチームが人気のあるパッケージの誤入力されたバリエーションを観察した場合に使用されます。これらのパッケージは、悪意のあるものであるか、後に悪意のあるコンテンツが追加されることがよくあります。typosquattingタグは、パッケージがスワットしようとしているリポジトリを示します。

{
  "_benchmark": 0.03596,
  "_meta": {
    "purl_struct": {
      "type": "gem",
      "namespace": "",
      "name": "activmodel",
      "version": "5.2.1",
      "qualifiers": null,
      "subpath": ""
    },
    "timestamp": "2023-12-01T20:36:40.01706222Z",
    "total_documents": 1
  },
  "data": {
    "cves": [],
    "research_attributes": {
      "squatted_package": "activemodel"
    }
  }
}

typosquatting属性は、gemgolangnpmnuget、およびpypiに対応しています。