コンテンツにスキップ

セキュリティスキャンレポート

ツールバージョン目的
Salesforce Code Analyzer v5LatestApex/LWCセキュリティ分析
PMD(AppExchangeルールを含む)v5コード品質とセキュリティ
ESLintv5JavaScript/LWC分析
RetireJSv5脆弱なJSライブラリ
Partner Security Portal(Checkmarx)Latest必須ソーススキャン
Terminal window
# Salesforce CLIをインストール
npm install -g @salesforce/cli
# Code Analyzer v5プラグインをインストール
sf plugins install @salesforce/plugin-code-analyzer
Terminal window
# HTML出力ですべてのルールを実行
sf code-analyzer run --workspace force-app --output-file docs/scan-results.html
# AppExchange固有のルールを実行
sf code-analyzer run --rule-selector AppExchange --workspace force-app --output-file docs/scan-appexchange.html
# Securityタグ付きルールのみを実行
sf code-analyzer run --rule-selector Security --workspace force-app --output-file docs/scan-security.html
# HighまたはCriticalで失敗(CI/CD)
sf code-analyzer run --rule-selector AppExchange --workspace force-app --severity-threshold 2 --output-file docs/scan-appexchange.html

実装されたセキュリティベストプラクティス

Section titled “実装されたセキュリティベストプラクティス”
  • INSERT前のisCreateable()チェック
  • UPDATE前のisUpdateable()チェック
  • DELETE前のisDeletable()チェック
  • Permission Setを介したフィールドレベル権限
  • ユーザー入力にバインド変数を使用
  • 動的クエリにはString.escapeSingleQuotes()
  • オブジェクト名はSalesforce IDから導出(ユーザー入力ではない)
  • メインコントローラーでwith sharing
  • 文書化され必要な場所でのみwithout sharing
  • 共有レコードはOWD設定を尊重
  • eval()や動的スクリプト実行なし
  • 表示前にユーザー入力をサニタイズ
  • ハードコードされた認証情報なし
チェックステータス注記
HTTPコールアウト該当なしパッケージは外部呼び出しを行いません
Named Credentials該当なし使用していません
External Objects該当なし使用していません
Remote Site Settings該当なし不要
CSP違反合格Content-Security-Policy違反なし
クラスカバレッジステータス
ObjectTeamMemberController>75%合格
TeamMemberWizardController>75%合格
ShareRecordQueueable>75%合格
SharingRecalculationBatch>75%合格
ExpiredTeamMemberCleanupBatch>75%合格
ObjectTeamMemberTriggerHandler>75%合格
PostInstallHandler>75%合格
全体>75%合格

カバレッジ付きでテストを実行する方法

Section titled “カバレッジ付きでテストを実行する方法”
Terminal window
# カバレッジ付きですべてのテストを実行
sf apex run test --code-coverage --result-format human --target-org [ORG_ALIAS]
# 特定のテストクラスを実行
sf apex run test --tests ObjectTeamMemberTest --code-coverage --result-format human --target-org [ORG_ALIAS]

スキャナーコマンドリファレンス(Code Analyzer v5)

Section titled “スキャナーコマンドリファレンス(Code Analyzer v5)”
Terminal window
# 利用可能なルールを一覧表示
sf code-analyzer rules
# AppExchangeルールのみを一覧表示
sf code-analyzer rules --rule-selector AppExchange
# 特定のルールセレクターで実行
sf code-analyzer run --rule-selector Security --workspace force-app
# さまざまな形式にエクスポート
sf code-analyzer run --workspace force-app --output-file results.html
sf code-analyzer run --workspace force-app --output-file results.sarif