Checkmarx スキャン結果の偽陽性への対応例
次の例は、Checkmarx スキャン結果の偽陽性への対応をドキュメント化する方法を示しています。この例は表形式ですが、情報の報告に適していれば、どのような形式でも使用できます。
| 報告された脆弱性 | 場所 | 返答 |
|---|---|---|
| FLS 更新 | パス 1 ~ 17 | これらのパスを検査したり、エラーを発生させたりするために、AuthManager クラスを実装してコールしました。これは、ControllerFile.cls の行 241、245、および 249 で確認できます。 |
| FLS 更新 | パス 18 ~ 24 | 修正済みで有効です。 |
| FLS 更新 | パス 25、26、および 30 | カスタムオブジェクト UsageLog__c に反しており、ユーザーの使用は意図されていません。ユーザーに直接公開されることはありません。 |
| FLS 更新 | パス 27 ~ 29 | ユーザー入力に関係なく、新規作成オブジェクトを適切に数えるために Account.NumberRelatedIssues__c 項目を更新する必要があります。 |
| 共有違反 | BatchCleanData.cls | このクラスがコールする関数を最小限に抑え、without sharing が必要な最小セットのみコールされるようにしました。 |
| 共有違反 | LightningController.cls | 宣言を with sharing に変更しました。 |
| 共有違反 | GlobalIssueReporting.cls | コール側クラスで必要なコンテキストが不明であるため、inherited sharing を使用するように変更しました。 |
| 保存された XSS | Issue.page ファイル: パス 1 ~ 3 | reportIssueList は、objectID + ' ' + 整数のリストです。XSS リスクはありません。 |
| 保存された XSS | Issue.page ファイル: パス 4 | escape=”false” を削除して修正しました。 |
| 保存された XSS | Issue.page | Salesforce SecureFilters ライブラリを使用して、JavaScript で usageLog をサニタイズしました。 |