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-инъекций и других уязвимостей с использованием настраиваемых правил и конфигурации.

Репозиторий
365651 год назадПроверено Kitploit

Популярное

Смотреть все →

Откройте для себя самые используемые инструменты нашего сообщества.

Изучить все инструменты

Просмотрите нашу коллекцию инструментов

Смотреть все инструменты →
Поделиться

progpilot

Статическое тестирование безопасности приложений (SAST) для PHP

Build Status Packagist Packagist

Установка

Доступно множество вариантов, выберите тот, который лучше всего подходит для вашего случая.

Использование PHAR-релизов

  • Загрузите последний PHAR-архив со страницы релизов.
  • Поместите файл в каталог из вашего PATH и сделайте его исполняемым:
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, обычно при использовании progpilot в качестве библиотеки вашего PHP-проекта:

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-анализа (определения sinks, sources, sanitizers и validators) в соответствии с контекстом анализируемого приложения. В следующей спецификации суперглобальные переменные _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.

Часто задаваемые вопросы

Здесь

Скачать инструмент