
CVE2PoCは、ペネトレーションテスター、バグハンター、セキュリティ研究者が、CVE IDに関連する公開エクスプロイトやPoCを素早く見つけるのに役立つツールです。
CVE2PoC は、ペネトレーションテスター、バグハンター、セキュリティ研究者が、CVE ID に関連する公開エクスプロイト、概念実証 (PoC)、およびアドバイザリを迅速に見つけるのに役立つツールです。
CVE2PoC は、pipx または uv を使用してインストールできます。
pipx install git+https://github.com/0liverFlow/cve2poc
uv tool install git+https://github.com/0liverFlow/CVE2PoC
uvx git+https://github.com/0liverFlow/CVE2PoC
CVE2PoC の使い方は簡単です。CVE ID を指定するだけです。
以下のヘルプメニューとデモセクションを参照して、ツールの機能をより深く理解してください。
usage: cve2poc.py [-h] [-x] [-d] [-f FILE] [-o OUTPUT] [-l LANGUAGE] [--limit LIMIT] [-t] [--labs CVE ID]
[--bugbounty-reports CVE ID] [--mitigations CVE ID] [--cve2cpe CVE ID] [--cpe2cve CPE] [-s FILE]
[--api-keys] [--no-banner]
[cve]
A simple yet powerful tool to quickly find PoCs related to a CVE ID
positional arguments:
cve CVE ID
options:
-h, --help show this help message and exit
-x , --examine Examine an exploit's README file
-d, --description Display a CVE ID description
-f FILE, --file FILE Specify a file containing a list of CVE IDs
-o OUTPUT, --output OUTPUT Output directory to store the reports
-l LANGUAGE, --language LANGUAGE Filter PoCs by programming language
--limit LIMIT Number of PoCs to display
-t , --threads Number of concurrent threads
--labs CVE ID Search pre-built docker environments and Hands-on labs related to a CVE ID
--bugbounty-reports CVE ID Search Bug Bounty reports related to a CVE ID
--mitigations CVE ID Remediation steps to fix a vulnerability
--cve2cpe CVE ID Retrieve CPEs related to a CVE ID
--cpe2cve CPE Retrieve CVEs related to a CPE
-s FILE, --save FILE Output file to save CPE2CVE results
--api-keys Configure your GitHub and NVD API keys (Not required)
--no-banner Remove banner
CVE ID に関連する公開エクスプロイトを検索するには、次のコマンドを実行します:
cve2poc <CVE ID>

デフォルトでは、このツールはスターとフォーク数で並べた上位 10 件のエクスプロイトを返します。
さらに、指定された CVE ID に関連するMetasploit モジュール、Nuclei テンプレート、Exploit-DB エクスプロイトを検索します。
複数の CVE を検索するには、CVE ID のリスト(1 行に 1 つの CVE)を含むファイルを -f フラグで指定します:
cve2poc -f <file>


デフォルトでは、CVE2PoC は現在のディレクトリに詳細な JSON および HTML レポートを自動生成します。
別の出力ディレクトリを使用するには、-oフラグを使用します。
この機能をテストするには、提供されている サンプルファイル を使用してください。
次のコマンドは、CVE ID の説明と、脆弱性をより深く理解するための追加のリファレンスを返します:
cve2poc --description <CVE ID>

CVE2PoC を使用すると、すぐに使える Docker 環境やハンズオンラボを見つけて、実際の環境で使用する前にエクスプロイトを安全に理解・テストすることができ、本番環境への影響リスクを軽減できます。
cve2poc --labs <CVE ID>

バグバウンティレポートは、CVE が実際のシナリオでどのように悪用されたかをより深く理解するのに役立ちます。また、脆弱性を再現するのに役立つ PoC が含まれている場合もあります。
cve2poc --bugbounty-reports <CVE ID>

脆弱性の修正手順をすばやく特定するには、次のコマンドを使用します:
cve2poc --mitigations <CVE ID>

CVE2PoC には searchsploit -x に似た機能があり、エクスプロイトの README ファイルをターミナルから直接読むことができます。これは、ブラウザを使わずにエクスプロイトの仕組みをすばやく理解したい場合に特に便利です。
エクスプロイトのドキュメントを確認するには、次のコマンドを使用します:
cve2poc --examine <GitHub Clone URL>

GitHub Clone URL は、CVE2PoC が各 PoC に対して返す URL です。
CPE に関連する CVE ID を取得するには、次のコマンドを実行します:
cve2poc --cpe2cve <CPE>

CVE ID に関連する CPE を取得するには、次のコマンドを実行します:
cve2poc --cve2cpe <CVE ID>

CVE2PoC には、特定のプログラミング言語で書かれた PoC を検索できる機能があります。使用するには、次のコマンドを実行します:
cve2poc <CVE ID> --language <Programming Language>

デフォルトでは、CVE2PoC は GitHub で見つかった上位 10 件のエクスプロイトを返します。ただし、--limit フラグを使用して、表示するエクスプロイトの数を増減できます:
cve2poc <CVE ID> --limit <N>

N は 1 以上である必要があります。
CVE2PoC は argcomplete を使用して、argparse 経由でタブ補完を自動的に行います。
sudo apt install python3-argcomplete
# For Bash
register-python-argcomplete cve2poc >> ~/.bashrc
source ~/.bashrc
# For Zsh
register-python-argcomplete cve2poc >> ~/.zshrc
source ~/.zshrc
CVE2PoC は、リンティングとフォーマットに ruff を使用しています。
# Run linter
uv run ruff check .
# Run linter with auto-fix
uv run ruff check --fix .
# Run formatter
uv run ruff format .
CVE2PoC が依存する以下のソースに多大な感謝を捧げます:
このツールは、教育、研究、および許可されたセキュリティテストの目的のみを意図しています。所有しているシステム、または明示的に評価の許可を得たシステムでのみ使用してください。作者は、その使用に起因する誤用や損害について一切の責任を負いません。