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

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

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

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

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
progpilot — PHP静的アプリケーションセキュリティテスト(SAST)ツール。カスタマイズ可能なルールと設定を使用して、XSS、SQLインジェクション、その他の脆弱性を検出するための汚染解析を実行します。 | Kitploit
ツール/GitHubGitHub/designsecurity/progpilot
脆弱性スキャナー静的コード分析 (SAST)コード分析
GitHubdesignsecurity/progpilot

progpilot

PHP静的アプリケーションセキュリティテスト(SAST)ツール。カスタマイズ可能なルールと設定を使用して、XSS、SQLインジェクション、その他の脆弱性を検出するための汚染解析を実行します。

リポジトリを見る
3656531年前Kitploit レビュー済み

人気

すべて見る →

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

すべてのツールを探索

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

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

progpilot

PHP向けの静的アプリケーションセキュリティテスト (SAST)

Build Status Packagist Packagist

インストール

多くのオプションがあります。自分のユースケースに最適なものを選択してください。

PHARリリースを使用する

  • リリースページ から最新のPHARアーカイブをダウンロードします。
  • ファイルをパスの通った場所に配置し、実行可能にします:
root@kitploit:~
chmod +x progpilot_vX.Y.Z.phar
sudo mv progpilot_vX.Y.Z.phar /usr/local/bin/progpilot

Dockerを使用する

  • Dockerイメージをビルドし(詳細なドキュメントはこちら)、コンテナを実行します:
root@kitploit:~
docker build -t progpilot .
docker run -v $(pwd):/workspace progpilot /workspace/path/to/your/file.php

ソースコードからPHARアーカイブをビルドする

phar-composer.phar は、$PATH 環境変数にリストされているディレクトリに配置する必要があります:

root@kitploit:~
git clone https://github.com/designsecurity/progpilot
cd progpilot
./build.sh

生成されたpharアーカイブは、このプロジェクトのルートにある builds フォルダに配置されます。

Composerを使用する

composer でパッケージをインストールします。これは通常、PHPプロジェクトのライブラリとしてprogpilotを使用する場合に該当します:

root@kitploit:~
composer require --dev designsecurity/progpilot

設定

yaml設定ファイルを使用して(この例を参照)、progpilot解析を設定およびカスタマイズします。そうしない場合、デフォルト設定が使用されます。特に標準の taint設定データ が適用されます。

使用方法

CLIの例

progpilotコマンドは、分析するファイルおよびフォルダへのパスと、オプションで設定ファイルを引数として受け取ります:

root@kitploit:~
# 設定ファイルなし
progpilot example1.php example2.php folder1/ folder2/
# 設定ファイルあり
progpilot --configuration configuration.yml example1.php example2.php folder1/ folder2/

composer でインストールした場合、プログラムは vendor/bin/progpilot に配置されます。

ライブラリの使用例

progpilotをPHPコード内で使用することも可能です。詳細は APIドキュメント を参照してください。

以下のコードを使用して source_code1.php を分析します:

root@kitploit:~
<?php
require_once './vendor/autoload.php';

$context = new \progpilot\Context;
$analyzer = new \progpilot\Analyzer;

$context->inputs->setFile("source_code1.php");

try {
  $analyzer->run($context);
} catch (Exception $e) {
   echo "Exception : ".$e->getMessage()."\n";
}  
  
$results = $context->outputs->getResults();

var_dump($results);

source_code1.php に次のコードが含まれている場合:

root@kitploit:~
<?php
$var7 = $_GET["p"];
$var4 = $var7;
echo "$var4";

簡略化された 出力 は次のようになります:

root@kitploit:~
array(1) {
  [0]=>
  array(11) {
    ["source_name"]=>
    array(1) {
      [0]=>
      string(5) "$var4"
    }
    ["source_line"]=>
    array(1) {
      [0]=>
      int(4)
    }
    ["sink_name"]=>
    string(4) "echo"
    ["sink_line"]=>
    int(5)
    ["vuln_name"]=>
    string(3) "xss"
  }
}

この例で使用されているすべてのファイル(composer.json、example1.php、source_code1.php)は projects/example フォルダにあります。 他の例については、こちらの ページ も参照してください。

分析の指定

分析対象のアプリケーションのコンテキストに応じて、taint分析設定(シンク、ソース、サニタイザー、バリデーターの定義)をカスタマイズすることを強くお勧めします。以下の指定では、スーパーグローバル変数 _GET、_POST、_COOKIE が信頼できないものとして定義され、さらに shell_exec() 関数の戻り値も同様です:

root@kitploit:~
{
    "sources": [
        {"name": "_GET", "is_array": true, "language": "php"},
        {"name": "_POST", "is_array": true, "language": "php"},
        {"name": "_COOKIE", "is_array": true, "language": "php"},
        {"name": "shell_exec", "is_function": true, "language": "php"}
    ]
}

利用可能な設定については、分析の指定に関する対応する章 を参照してください。
カスタムルールも作成できます。カスタムルールに関する対応する章 を参照してください。

開発

Progpilotの開発についての詳細は こちら。

FAQ

こちら

ツールをダウンロード