
SAP ABAP 向けの静的アプリケーションセキュリティテスト (SAST)。 カスタム ABAP コードのセキュリティ脆弱性を検出するための、無料のオープンソース CLI - オフラインでも CI でも利用可能。
| エディション | 内容 | 場所 |
|---|---|---|
| オープンソース CLI (無料、MIT) | エクスポートされた ABAP ソースをローカルまたは CI でスキャン | このリポジトリ (以下) |
| Cloud (SAP BTP) | BTP デスティネーション経由で ABAP を読み取る商用 SaaS | Cloud / BTP エディション |
| Web (Management Console) | JCo / RFC 経由で SAP に接続する商用 Web SAST | Web エディション |
商用エディションは RedRays によるものです。この OWASP プロジェクト (オープンソース CLI) は無料かつオープンソースです。
SAP はカスタム ABAP コードで動作しています。多くの場合、何十年にもわたって書かれた数百万行のコードが給与計算、財務、物流を支えています。そのコードがセキュリティレビューを受けることはほとんどなく、インジェクション、パストラバーサル、ハードコードされたシークレットのバグの頻繁な発生源となっています。一方、標準の SAP ツールは重く、システムに依存しています。
この CLI は エクスポートされた ABAP ソースを オフライン で静的に解析します。SAP 接続、エージェント、テレメトリは不要で、対応可能な XLSX レポートを出力します。CI に組み込んでプルリクエストをゲートできます。
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/ ディレクトリに新しい Python ファイルを作成します。run メソッドを含む、必要なメソッドを実装します。checks: リストにクラス名を追加します。# Unix-like
./run_tests.sh
# Windows
run_tests.bat
プルリクエストを歓迎します。新しいチェック、テストケース、バグ修正、ドキュメントなど、すべてが役立ちます。CONTRIBUTING.md を参照し、OWASP 行動規範に従ってください。
スキャナ自体に脆弱性を発見しましたか? SECURITY.md の責任ある開示プロセスに従ってください。セキュリティ報告のために公開 issue を 開かないで ください。
MIT。当初は RedRays によって提供および保守されていました。Cloud (SAP BTP) および Web (Management Console) エディションは商用製品です。この OWASP プロジェクト (オープンソース CLI) は無料かつオープンソースです。