
RIPS - Um analisador estático de código-fonte para vulnerabilidades em scripts PHP
Um analisador estático de código-fonte para vulnerabilidades em scripts PHP
Siga as instruções na página principal.
Consulte o formulário html de varredura do php-rips original (index.php) para mais opções.
php index.php [opção=valor]
| Opções | Valor |
|---|---|
| loc | arquivo/pasta alvo da varredura |
| subdir | recorrer subdiretórios [0|1] |
| ignore_warning | [0|1] |
| vector | vetores de varredura [all|...] |
| verbosity | verbosidade do log [0-9] |
| treestyle | estilo de saída html [0|1] |
| stylesheet | folha de estilos de saída html [ayti|...] |
Exemplo: varrer recursivamente ./code para todas as classes de vulnerabilidade
php index.php loc=./code subdirs=1 vector=all verbosity=2
Nota: no modo cli, argv será analisado em $_POST, permitindo assim definir quaisquer variáveis POST.
instale o plugin html publisher
configure (múltiplo) scm para clonar tanto este repositório quanto o código-fonte que deseja varrer em pastas distintas
adicione a etapa de build: executar shell
# config - remova isto se você configurar via builds parametrizados do jenkins
PATH_RIPS=rips-scanner
PATH_REPORT=report
FILE_REPORT=report.html
PATH_TARGET=code
RIPS_RECURSE_SUBDIR=1
RIPS_VECTOR=all
RIPS_VERBOSITY=2
# copiar dependências
mkdir -p report
cp -r rips-scanner/css report
cp -r rips-scanner/js report
# executar análise
echo "========================================================="
echo "[**] executando varredura ... $PATH_TARGET"
echo "========================================================="
php $PATH_RIPS/index.php ignore_warning=1 loc=$PATH_TARGET subdirs=$RIPS_RECURSE_SUBDIR vector=$RIPS_VECTOR verbosity=$RIPS_VERBOSITY treestyle=1 stylesheet=ayti > $PATH_REPORT/$FILE_REPORT
echo "========================================================="
echo "[**] varredura concluída ... confira $PATH_REPORT/$FILE_REPORT"
echo "========================================================="
adicione a etapa de build: executar python
import os, sys
import rips_stats as rips
if __name__=="__main__":
report = os.path.join(os.environ.get("PATH_REPORT","report"),os.environ.get("FILE_REPORT","report.html"))
sys.exit(rips.main([report]))
O branch community do RIPS é um fork da versão 0.55 e não é oficialmente suportado pela RIPS Technologies.
Uma solução completamente reconstruída está disponível na RIPS Technologies que supera limitações fundamentais da versão de código aberto e realiza análise de segurança de última geração.
Saiba mais sobre a próxima geração do RIPS em https://www.ripstech.com/product/datasheets/.
adicione a etapa de pós-build: publicar html, selecione a pasta 'report' nome 'vulnerability-report'. Um novo ícone de ação clicável 'vulnerability-report' aparecerá apontando para o resultado da varredura arquivado.
| Recurso Comparado | RIPS 0.5 | Próxima Geração |
|---|
| Linguagem PHP Suportada | PHP 3-4, sem OOP | todas, PHP 3-7 |
| Análise Estática de Código | Apenas baseada em tokens | Completa |
| Precisão da Análise | Baixa | Muito Alta |
| Análise Específica de Versão PHP | Não | Sim |
| Escala para Grandes Códigos | Não | Sim |
| Suporte a API / CLI | Não | Sim |
| Integração Contínua | Não | Sim |
| Conformidade / Padrões | Não | Sim |
| Armazenar Resultados da Análise | Não | Sim |
| Exportar Resultados da Análise | Não | Sim |
| Sistema de Revisão de Problemas | Não | Sim |
| Resultados em Tempo Real | Não | Sim |
| Tendências de Vulnerabilidades | Não | Sim |
| Detecta Riscos Mais Recentes | Não | Sim |
| Detecta Vulnerabilidades Complexas | Limitado | Sim |
| Tipos de Problemas Suportados | 15 | >140 |
| Velocidade | Rápida | Rápida |