
Analisador de Código ABAP
Static Application Security Testing (SAST) para SAP ABAP. Uma CLI gratuita e de código aberto para encontrar vulnerabilidades de segurança em código ABAP personalizado - offline e em CI.
| Edição | O que é | Onde |
|---|---|---|
| CLI de código aberto (gratuita, MIT) | Analisa código-fonte ABAP exportado localmente ou em CI | Este repositório (abaixo) |
| Cloud (SAP BTP) | SaaS comercial que lê ABAP através de destinos BTP | Edição Cloud / BTP |
| Web (Management Console) | SAST web comercial que se conecta ao SAP via JCo / RFC | Edição Web |
As edições comerciais são da RedRays; este projeto OWASP (a CLI de código aberto) é gratuito e de código aberto.
O SAP assenta em código ABAP personalizado - frequentemente milhões de linhas, escritas ao longo de décadas, a suportar processamento salarial, finanças e logística. Esse código raramente é revisto do ponto de vista de segurança e é uma fonte frequente de bugs de injeção, path-traversal e segredos codificados, enquanto as ferramentas padrão do SAP são pesadas e dependentes do sistema.
Esta CLI analisa estaticamente código-fonte ABAP exportado offline - sem ligação ao SAP, sem agente, sem telemetria - e escreve um relatório XLSX sobre o qual pode agir. Coloque-a em CI para bloquear pull requests.
Requer Python 3.9+ e
pip.
git clone https://github.com/OWASP/abap-code-scanner.git
cd abap-code-scanner
pip install -r requirements.txt
python main.py path/to/abap/source
Quando a análise terminar, encontrará abap_security_scan_report.xlsx na pasta do projeto:
| Opção | Descrição | Predefinição |
|---|---|---|
path | Diretório do código-fonte ABAP a analisar | (obrigatório) |
-c, --config | Caminho para o ficheiro de configuração YAML | config.yml |
O scanner lê um ficheiro YAML (predefinição config.yml, substituível com -c). Escolha as verificações a executar, as extensões de ficheiro a incluir e os padrões a excluir:
checks:
- CheckCrossSiteScripting
- CheckSQLInjection
- CheckDirectoryTraversal
file_extensions:
- .abap
- .txt
exclude_patterns:
- "**/test/**"
checks/.run.checks: no seu ficheiro de configuração.# Unix-like
./run_tests.sh
# Windows
run_tests.bat
Pull requests são bem-vindos novas verificações, casos de teste, correções de bugs e documentação ajudam todos. Consulte CONTRIBUTING.md e siga o Código de Conduta da OWASP.
Encontrou uma vulnerabilidade no próprio scanner? Siga o processo de divulgação responsável em SECURITY.md - não abra um issue público para relatórios de segurança.
MIT. Originalmente contribuído e mantido pela RedRays. As edições Cloud (SAP BTP) e Web (Management Console) são produtos comerciais; este projeto OWASP (a CLI de código aberto) é gratuito e de código aberto.