Skip to content
KitploitKITPLOIT
FerramentasBlog
Enviar
FerramentasBlog
Enviar

Ferramentas de Hacking, PenTest e Cibersegurança para o seu Arsenal de Segurança!

Kitploit é um diretório de ferramentas de hacking, cibersegurança e pentesting. Descubra as últimas atualizações de projetos para encontrar vulnerabilidades, analisar sistemas, automatizar testes e fortalecer sua segurança.

··Feeds·Contato·Privacidade·© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
Ferramentas/GitHubGitHub/designsecurity/progpilot
Scanners de VulnerabilidadesAnálise Estática de Código (SAST)Análise de Código
GitHubdesignsecurity/progpilot

progpilot

Ferramenta de teste de segurança de aplicação estática (SAST) em PHP que realiza análise de taint para detectar XSS, injeção de SQL e outras vulnerabilidades usando regras e configurações personalizáveis.

Ver Repositório
365653há 1 anoRevisado pelo Kitploit

Mais Populares

Ver todos →

Descubra as ferramentas mais usadas pela nossa comunidade.

Explore todas as ferramentas

Navegue pela nossa coleção de ferramentas

Ver todas as ferramentas →
Compartilhar

progpilot

Um teste de segurança estático de aplicação (SAST) para PHP

Build Status Packagist Packagist

Instalação

Há muitas opções disponíveis, selecione a que melhor se adequa ao seu caso de uso.

Usar versões PHAR

  • Baixe o último arquivo PHAR da página de releases.
  • Coloque o arquivo em algum lugar no seu PATH e torne-o executável:
root@kitploit:~
chmod +x progpilot_vX.Y.Z.phar
sudo mv progpilot_vX.Y.Z.phar /usr/local/bin/progpilot

Usar Docker

  • Construa a imagem docker (documentação detalhada nesta página) e execute o container:
root@kitploit:~
docker build -t progpilot .
docker run -v $(pwd):/workspace progpilot /workspace/path/to/your/file.php

Construir arquivo PHAR a partir do código fonte

O phar-composer.phar deve estar localizado em um diretório listado na variável de ambiente $PATH:

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

O arquivo phar resultante estará localizado na pasta builds na raiz deste projeto.

Usar composer

Instale o pacote com composer, tipicamente ao usar o progpilot como uma biblioteca do seu projeto PHP:

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

Configuração

Use um arquivo de configuração yaml (veja este exemplo) para configurar e personalizar a análise do progpilot, caso contrário, a configuração padrão será usada com, em particular, os dados de configuração de taint padrão.

Uso

Exemplo de CLI

O comando progpilot recebe como argumentos o caminho para os arquivos e pastas a serem analisados e opcionalmente um arquivo de configuração:

root@kitploit:~
# sem arquivo de configuração
progpilot example1.php example2.php folder1/ folder2/
# com um arquivo de configuração
progpilot --configuration configuration.yml example1.php example2.php folder1/ folder2/

Se você o instalou com composer, o programa estará localizado em vendor/bin/progpilot.

Exemplo de biblioteca

Também é possível usar o progpilot dentro de código PHP. Para mais informações, consulte a documentação da API.

Use este código para analisar 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);

Quando source_code1.php contém este código:

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

A saída simplificada será:

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

Todos os arquivos (composer.json, example1.php, source_code1.php) usados neste exemplo estão na pasta projects/example. Para mais exemplos, veja também esta página.

Especificar uma análise

É fortemente recomendado personalizar a configuração da análise de taint (as definições de sinks, sources, sanitizers e validators) de acordo com o contexto da aplicação a ser analisada. Na especificação a seguir, as variáveis superglobals _GET, _POST ou _COOKIE são definidas como não confiáveis e também o retorno da função 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"}
    ]
}

Veja as configurações disponíveis no capítulo correspondente sobre especificar uma análise.
Regras personalizadas também podem ser criadas, veja o capítulo correspondente sobre regras personalizadas.

Desenvolvimento

Saiba mais sobre o desenvolvimento do Progpilot.

FAQ

Aqui

Baixar ferramenta