
ABAP Code Analyzer
Статический анализ безопасности приложений (SAST) для SAP ABAP. Бесплатный CLI с открытым исходным кодом для поиска уязвимостей безопасности в пользовательском коде ABAP — офлайн и в CI.
| Редакция | Что это | Где |
|---|---|---|
| CLI с открытым исходным кодом (бесплатно, MIT) | Сканирование экспортированного исходного кода ABAP локально или в CI | Этот репозиторий (ниже) |
| Cloud (SAP BTP) | Коммерческий SaaS, который читает ABAP через BTP-дестинации | Редакция Cloud / BTP |
| Web (Management Console) | Коммерческий веб-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 с открытым исходным кодом) является бесплатным и открытым.