Skip to content
KitploitKITPLOIT
ToolsBlog
Einreichen
ToolsBlog
Einreichen

Hacking-, PenTest- und Cybersicherheits-Tools für Ihr Sicherheitsarsenal!

Kitploit ist ein Verzeichnis von Hacking-, Cybersicherheits- und Pentesting-Tools. Entdecken Sie die neuesten Projekt-Updates, um Schwachstellen zu finden, Systeme zu analysieren, Tests zu automatisieren und Ihre Sicherheit zu stärken.

··Feeds·Kontakt·Datenschutz·© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
progpilot — PHP static application security testing (SAST)-Tool, das taint analysis durchführt, um XSS, SQL injection und andere Schwachstellen mithilfe anpassbarer Regeln und Konfiguration zu erkennen. | Kitploit
Tools/GitHubGitHub/designsecurity/progpilot
SchwachstellenscannerStatische Code-Analyse (SAST)Code-Analyse
GitHubdesignsecurity/progpilot

progpilot

PHP static application security testing (SAST)-Tool, das taint analysis durchführt, um XSS, SQL injection und andere Schwachstellen mithilfe anpassbarer Regeln und Konfiguration zu erkennen.

Repository anzeigen
36565vor 1 JahrVon Kitploit geprüft

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen

progpilot

Ein Static Application Security Testing (SAST) für PHP

Build Status Packagist Packagist

Installation

Es gibt verschiedene Möglichkeiten – wählen Sie die, die am besten zu Ihrem Anwendungsfall passt.

PHAR-Releases verwenden

  • Laden Sie das neueste PHAR-Archiv von der Releases-Seite herunter.
  • Platzieren Sie die Datei in Ihrem Pfad und machen Sie sie ausführbar:
root@kitploit:~
chmod +x progpilot_vX.Y.Z.phar
sudo mv progpilot_vX.Y.Z.phar /usr/local/bin/progpilot

Docker verwenden

  • Erstellen Sie das Docker-Image (ausführliche Dokumentation auf dieser Seite) und führen Sie den Container aus:
root@kitploit:~
docker build -t progpilot .
docker run -v $(pwd):/workspace progpilot /workspace/path/to/your/file.php

PHAR-Archiv aus Quellcode erstellen

phar-composer.phar sollte sich in einem Verzeichnis befinden, das in der Umgebungsvariable $PATH aufgeführt ist:

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

Das resultierende PHAR-Archiv befindet sich im Ordner builds im Stammverzeichnis dieses Projekts.

Composer verwenden

Installieren Sie das Paket mit composer, typischerweise wenn Sie progpilot als Bibliothek in Ihrem PHP-Projekt verwenden:

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

Konfiguration

Verwenden Sie eine YAML-Konfigurationsdatei (siehe dieses Beispiel), um die progpilot-Analyse zu konfigurieren und anzupassen. Andernfalls wird die Standardkonfiguration verwendet, insbesondere die standardmäßigen Taint-Konfigurationsdaten.

Verwendung

CLI-Beispiel

Der progpilot-Befehl nimmt als Argumente die Pfade zu den zu analysierenden Dateien und Ordnern sowie optional eine Konfigurationsdatei:

root@kitploit:~
# ohne Konfigurationsdatei
progpilot example1.php example2.php folder1/ folder2/
# mit einer Konfigurationsdatei
progpilot --configuration configuration.yml example1.php example2.php folder1/ folder2/

Wenn Sie es mit composer installiert haben, befindet sich das Programm unter vendor/bin/progpilot.

Bibliotheksbeispiel

Es ist auch möglich, progpilot innerhalb von PHP-Code zu verwenden. Weitere Informationen finden Sie in der API-Dokumentation.

Verwenden Sie diesen Code, um source_code1.php zu analysieren:

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);

Wenn source_code1.php diesen Code enthält:

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

Die vereinfachte Ausgabe lautet:

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"
  }
}

Alle in diesem Beispiel verwendeten Dateien (composer.json, example1.php, source_code1.php) befinden sich im Ordner projects/example. Weitere Beispiele finden Sie auf dieser Seite.

Analyse spezifizieren

Es wird dringend empfohlen, die Taint-Analysekonfiguration (die Definitionen von Sinks, Sources, Sanitizern und Validatoren) an den Kontext der zu analysierenden Anwendung anzupassen. In der folgenden Spezifikation werden die Superglobal-Variablen _GET, _POST oder _COOKIE als nicht vertrauenswürdig definiert, ebenso wie der Rückgabewert der Funktion 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"}
    ]
}

Die verfügbaren Einstellungen finden Sie im entsprechenden Kapitel zur Spezifikation einer Analyse.
Es können auch eigene Regeln erstellt werden, siehe das entsprechende Kapitel zu benutzerdefinierten Regeln.

Entwicklung

Erfahren Sie mehr über die Entwicklung von Progpilot.

Faq

Hier

Tool herunterladen