Przejdź do głównej zawartości

Raport skanowania bezpieczeństwa

NarzędzieWersjaPrzeznaczenie
Salesforce Code Analyzer v5NajnowszaAnaliza bezpieczeństwa Apex/LWC
PMD (w tym reguły AppExchange)v5Jakość kodu i bezpieczeństwo
ESLintv5Analiza JavaScript/LWC
RetireJSv5Podatne biblioteki JS
Partner Security Portal (Checkmarx)NajnowszaObowiązkowe skanowanie źródła
Okno terminala
# Zainstaluj Salesforce CLI
npm install -g @salesforce/cli
# Zainstaluj wtyczkę Code Analyzer v5
sf plugins install @salesforce/plugin-code-analyzer
Okno terminala
# Uruchom wszystkie reguły z wyjściem HTML
sf code-analyzer run --workspace force-app --output-file docs/scan-results.html
# Uruchom reguły specyficzne dla AppExchange
sf code-analyzer run --rule-selector AppExchange --workspace force-app --output-file docs/scan-appexchange.html
# Uruchom tylko reguły oznaczone jako Security
sf code-analyzer run --rule-selector Security --workspace force-app --output-file docs/scan-security.html
# Niepowodzenie przy High lub Critical (CI/CD)
sf code-analyzer run --rule-selector AppExchange --workspace force-app --severity-threshold 2 --output-file docs/scan-appexchange.html
  • Sprawdzenie isCreateable() przed INSERT
  • Sprawdzenie isUpdateable() przed UPDATE
  • Sprawdzenie isDeletable() przed DELETE
  • Uprawnienia na poziomie pól przez Permission Sets
  • Bind variables używane dla danych wejściowych użytkownika
  • String.escapeSingleQuotes() dla zapytań dynamicznych
  • Nazwy obiektów wyprowadzane z ID Salesforce (nie danych wejściowych użytkownika)
  • with sharing na głównych kontrolerach
  • without sharing tylko tam, gdzie udokumentowane i niezbędne
  • Rekordy udostępnień respektują ustawienia OWD
  • Brak eval() ani dynamicznego wykonywania skryptów
  • Dane wejściowe użytkownika oczyszczane przed wyświetleniem
  • Brak zakodowanych poświadczeń
SprawdzenieStatusUwagi
Wywołania HTTPN/APakiet nie wykonuje wywołań zewnętrznych
Named CredentialsN/ANie używane
External ObjectsN/ANie używane
Remote Site SettingsN/ANiewymagane
Naruszenia CSPZaliczoneBrak naruszeń Content-Security-Policy
KlasaPokrycieStatus
ObjectTeamMemberController>75%Zaliczone
TeamMemberWizardController>75%Zaliczone
ShareRecordQueueable>75%Zaliczone
SharingRecalculationBatch>75%Zaliczone
ExpiredTeamMemberCleanupBatch>75%Zaliczone
ObjectTeamMemberTriggerHandler>75%Zaliczone
PostInstallHandler>75%Zaliczone
Ogółem>75%Zaliczone
Okno terminala
# Uruchom wszystkie testy z pokryciem
sf apex run test --code-coverage --result-format human --target-org [ORG_ALIAS]
# Uruchom konkretną klasę testową
sf apex run test --tests ObjectTeamMemberTest --code-coverage --result-format human --target-org [ORG_ALIAS]
Okno terminala
# Lista dostępnych reguł
sf code-analyzer rules
# Lista tylko reguł AppExchange
sf code-analyzer rules --rule-selector AppExchange
# Uruchom z konkretnym selektorem reguł
sf code-analyzer run --rule-selector Security --workspace force-app
# Eksport do różnych formatów
sf code-analyzer run --workspace force-app --output-file results.html
sf code-analyzer run --workspace force-app --output-file results.sarif