PowerBuilder アプリケーションでは、長年のメンテナンスを経る中で、脆弱性が蓄積されることがあります。ハードコードされた認証情報、非推奨コンポーネント、未処理のエラーなどがその典型例です。
体系的なスキャンなしでは、これらの問題が見過ごされることが少なくありません。Visual Expert は 300 以上の定義済みルールに基づいてコードを解析し、本番稼働中のコードでも開発中のコードでも、セキュリティ脆弱性、バグ、保守性の問題を検出します。
注意:Visual Expert をまだ設定していない場合は、こちらのチュートリアルをご覧ください。
コード検査で検出できる PowerBuilder の脆弱性
Visual Expert の PowerBuilder コード検査は、PowerBuilder アプリケーションのセキュリティと安定性に影響する問題を 3 つのカテゴリに分類して特定します。
- セキュリティ脆弱性 - ハードコードされた認証情報および暗号化キー、SQL インジェクション リスク、パス トラバーサルの欠陥、安全でない暗号化モード、非推奨コンポーネント(SOAP/INET オブジェクト、OLE Web ブラウザ、EAServer)、および脆弱な暗号アルゴリズム(DES、MD5、SHA-1)。
- バグおよび例外 - 空の catch ブロック、未処理のエラー、および本番環境での悪用や不安定性の原因となり得る処理経路。
- 攻撃対象領域の削減 - デッドコード、重複コード、およびアプリケーションを不要に肥大化させる廃止済みコンポーネント。
Visual Expert が適用する PowerBuilder コード セキュリティ ルールの完全なリストについては、PowerBuilder コード セキュリティ スキャン ルールを参照してください。
より広範なセキュリティ対策の一環としてコード解析に取り組むチームには、PowerBuilder アプリケーション セキュリティ ガイドをご参照ください。デプロイ、アクセス制御、コンプライアンスを網羅した包括的なセキュリティ ロードマップの中で、コード解析を位置付けています。
新規プロジェクト作成時のコード検査の有効化
- 以下の手順に従って新規プロジェクトを作成します。PowerBuilder、Oracle、SQL Server
VE プロジェクト ウィザードで解析対象のソースコードを選択した後、コード検査機能を有効化します:

既存プロジェクトでのコード検査の有効化
- 既存のプロジェクトで、「設定 > 詳細設定」からコード検査機能を有効化します。
- 「コード検査」タブで、「ON/OFF」ボタンを切り替えてコード検査機能を有効化します。
- 「コード ルール名」列に表示されているコード ルールを確認し、必要のないルールは「IsActive」チェックボックスをオフにして無効化できます。
- このウィンドウを閉じると設定が保存されます。
コード検査の結果
PowerBuilder コードの解析が完了すると、Visual Expert では 2 つの方法で結果を確認できます。
1. コード検査ダッシュボード
ダッシュボードでは、PowerBuilder コード解析の全体像を重大度とカテゴリ別に分類して確認できます。
たとえば、上位レベルの指標をクリックすることで、以下の操作が可能です。
- クリックしたセグメントに対応するバグ、セキュリティ脆弱性、保守性の問題の完全なリストを表示する。

- 修正が必要なコードに直接アクセスする。
- コード品質とセキュリティの推移を追跡する。

2. コード検査マクロ
- コード解析が完了すると、Visual Expert のツリービューに新しいセクション「コード検査」が表示されます。
サポートされている言語がツリービューのルートに一覧表示されます。
各言語について、利用可能なルール数が表示されます。
言語を選択します。例:「Code Inspection for PowerBuilder」。
- 対象とする問題を表示するマクロを選択します。

- 対応するルールがツリービューに一覧表示されます。
各ルールについて、検出された問題の件数が下図のように表示されます。

- ルールを選択すると、詳細を記載したドキュメント ページが表示されます。

- ナビゲーション バーで「検出された問題」をクリックします:
この問題が検出された各オブジェクトが、コンテナ階層内に一覧表示されます。
- このリストからオブジェクトを選択すると、コード内で問題がハイライト表示されます。

- その後、このスクリプトを PB IDE で直接開いて問題を修正できます。
