Skip to content
KitploitKITPLOIT
ツールブログ
提出
ツールブログ
提出

ハッキング、侵入テスト、サイバーセキュリティツールをあなたのセキュリティアーセナルに!

Kitploitはハッキング、サイバーセキュリティ、ペネトレーションテストのツールディレクトリです。最新のプロジェクトアップデートを見つけて、脆弱性の発見、システム分析、テストの自動化、セキュリティの強化を行いましょう。

··フィード·お問い合わせ·プライバシー·© 2026 Kitploit

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
pyscan — Pythonの依存関係の脆弱性スキャナ。Rustで書かれています。 | Kitploit
ツール/GitHubGitHub/ohaswin/pyscan
静的分析脆弱性スキャナーコード分析DevSecOpsサプライチェーンセキュリティ
GitHubohaswin/pyscan

pyscan

Pythonの依存関係の脆弱性スキャナ。Rustで書かれています。

リポジトリを見る
24992ヶ月前Kitploit レビュー済み

人気

すべて見る →

コミュニティで最も使われているツールを見つけましょう。

すべてのツールを探索

ツールコレクションを閲覧

すべてのツールを見る →
共有

Pyscan

CI License PyPI Crates.io Crates.io Downloads PyPI Downloads

Pyscan パフォーマンスベンチマーク

Pyscan は Rust で書かれた高並行な脆弱性スキャナです。Python プロジェクトを自動的に走査し、さまざまなパッケージング形式から依存関係を抽出し、単一の非同期バッチリクエストで オープンソース脆弱性(OSV)データベースと相互参照します。


Pyscan は、従来の Python ベースのセキュリティツールが抱えるパフォーマンスとメモリのボトルネックを解決するために設計されました:

  • パフォーマンスの向上: 中規模から大規模なデータセットにおいて、pip-audit や safety といった業界標準ツールに対して最大 5.25倍 の高速化を達成。Pyscan のランタイムは $O(\text{vulns})$ の時間計算量モデルで動作し、実行時間は依存関係の数ではなく、見つかった脆弱性の数に比例します。
  • フラットなメモリ使用量: 15 個の依存関係でも 700 個以上の依存関係でも、Pyscan のメモリ使用量は完全にフラット(約45MB)です。メモリ制約のある CI/CD パイプラインにはかなり堅牢です。
  • ユニバーサルサポート: SBOM(CycloneDX、SPDX)、uv.lock、requirements.txt、pyproject.toml(Poetry、Hatch、PDM、Flit)から依存関係を自動的に解決・抽出するか、生の .py ソースコードを解析して動的に抽出します。
  • 到達可能性解析: Pyscan は静的マニフェスト解析の域を超えています。ヒューリスティックを使用してソースコードをスキャンし、脆弱な依存関係がインポートされている場所を正確に特定して強調表示し、修正のための即時のコンテキストを提供します。

詳細は ベンチマークレポート をご覧ください。

インストール

Pyscan は pipx、pip(コンパイル済み Python ホイール)、または cargo(ネイティブ Rust バイナリ)でインストールできます:

root@kitploit:~
# via pipx (recommended) (Note the "-rs" suffix)
pipx install pyscan-rs

# via pip (Note the "-rs" suffix) 
pip install pyscan-rs

# via Cargo
cargo install pyscan

使い方

プロジェクトのルートディレクトリで pyscan を実行するか、特定のソースフォルダを指定してください:

root@kitploit:~
# Scan the current directory
pyscan

# Scan a specific directory
pyscan -d path/to/src

依存関係解決の優先順位

複数のソースファイルが存在する場合、Pyscan は次の優先順位チェーンに従って依存関係を抽出します:

  1. SBOM(bom.json、spdx.json)
  2. uv.lock
  3. requirements.txt
  4. pyproject.toml
  5. 生のソースコード(.py)

依存関係が厳密に固定されたバージョンなしで見つかった場合、Pyscan は PyPI に最新バージョンを問い合わせるフォールバックを行いますが、PEP-508 構文に従うことを強く推奨します。

ビルドとアーキテクチャ

Pyscan には Rust ツールチェーン >= v1.70 が必要で、reqwest と tokio による非同期ネットワーキングを活用して OSV クエリを並列化し、スループットを最大化します。パーサーとスキャナの構造に興味がある場合は、アーキテクチャ概要 を参照してください。

免責事項

Pyscan は高度に最適化されたツールですが、まだすべてのエッジケースで実戦テストされていません。すべてのベクターからコードが 100% 安全であることを保証するものではありません。Dependabot、pip-audit、Trivy などのツールと併用した多層的なセキュリティアプローチを強くお勧めします。PR や issue は大歓迎です!

ロードマップ(2026年4月時点)

  • cyclonedx および SPDX SBOM サポートを追加。
  • プロジェクトのセキュリティ態勢の永続的な状態表現。
  • 推移的依存関係のグラフィカルな DAG 解析。
  • 深くネストされたインポートに対する到達可能性解析の改善。

寄付

このプロジェクトを始めたとき、私は無一文の高校生で、今は無一文の大学生です。Pyscan があなたの CI/CD パイプラインの貴重な時間と RAM を節約してくれたなら、コーヒーを一杯ごちそうしてくれると嬉しいです:

ko-fi

ツールをダウンロード