
ABAP Code Analyzer
Статическое тестирование безопасности приложений (SAST) для SAP ABAP. Бесплатный CLI с открытым исходным кодом для поиска уязвимостей безопасности в пользовательском коде ABAP — офлайн и в CI.
| Издание | Что это | Где |
|---|---|---|
| CLI с открытым исходным кодом (бесплатно, MIT) | Сканирование экспортированного исходного кода ABAP локально или в CI | Этот репозиторий (ниже) |
| Облако (SAP BTP) | Коммерческий SaaS, который читает ABAP через назначения BTP | Облачная / BTP редакция |
| Веб (консоль управления) | Коммерческий веб-SAST, подключающийся к SAP через JCo / RFC | Веб-редакция |
Коммерческие редакции от RedRays; этот проект OWASP (CLI с открытым исходным кодом) является бесплатным и открытым.
SAP работает на пользовательском коде ABAP — часто миллионы строк, написанных десятилетиями, обеспечивающих работу зарплат, финансов и логистики. Этот код редко проверяется на безопасность и является частым источником инъекций, обхода путей и жёстко закодированных секретов, в то время как стандартные инструменты SAP тяжелы и привязаны к системе.
Этот CLI статически анализирует экспортированный исходный код ABAP офлайн — без подключения к SAP, без агента, без телеметрии — и создаёт отчёт XLSX, с которым можно работать. Включите его в CI для проверки pull request'ов.
Требуется Python 3.9+ и
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
После завершения сканирования вы найдёте abap_security_scan_report.xlsx в папке проекта:
| Опция | Описание | По умолчанию |
|---|---|---|
path | Каталог исходного кода ABAP для сканирования | (обязательно) |
-c, --config | Путь к YAML-файлу конфигурации | config.yml |
Сканер читает YAML-файл (по умолчанию config.yml, можно переопределить с помощью -c). Выберите проверки для запуска, расширения файлов для включения и шаблоны для исключения:
checks:
- CheckCrossSiteScripting
- CheckSQLInjection
- CheckDirectoryTraversal
file_extensions:
- .abap
- .txt
exclude_patterns:
- "**/test/**"
checks/.run.checks: в вашем конфигурационном файле.# Unix-like
./run_tests.sh
# Windows
run_tests.bat
Pull request'ы приветствуются — новые проверки, тестовые примеры, исправления ошибок и документация — всё помогает. Смотрите CONTRIBUTING.md и, пожалуйста, следуйте Кодексу поведения OWASP.
Нашли уязвимость в самом сканере? Пожалуйста, следуйте процессу ответственного раскрытия в SECURITY.md — не открывайте публичный issue для сообщений о безопасности.
MIT. Первоначально создан и поддерживается RedRays. Редакции Cloud (SAP BTP) и Web (Management Console) являются коммерческими продуктами; этот проект OWASP (CLI с открытым исходным кодом) бесплатен и открыт.