Zum Inhalt springen

Security-Scan-Bericht

ToolVersionZweck
Salesforce Code Analyzer v5NeuesteApex/LWC-Sicherheitsanalyse
PMD (inkl. AppExchange-Regeln)v5Codequalität & Sicherheit
ESLintv5JavaScript/LWC-Analyse
RetireJSv5Anfällige JS-Bibliotheken
Partner Security Portal (Checkmarx)NeuesteObligatorischer Quellcode-Scan
Terminal-Fenster
# Salesforce CLI installieren
npm install -g @salesforce/cli
# Code Analyzer v5-Plugin installieren
sf plugins install @salesforce/plugin-code-analyzer
Terminal-Fenster
# Alle Regeln mit HTML-Ausgabe ausführen
sf code-analyzer run --workspace force-app --output-file docs/scan-results.html
# AppExchange-spezifische Regeln ausführen
sf code-analyzer run --rule-selector AppExchange --workspace force-app --output-file docs/scan-appexchange.html
# Nur Security-getaggte Regeln ausführen
sf code-analyzer run --rule-selector Security --workspace force-app --output-file docs/scan-security.html
# Bei High oder Critical fehlschlagen (CI/CD)
sf code-analyzer run --rule-selector AppExchange --workspace force-app --severity-threshold 2 --output-file docs/scan-appexchange.html
  • isCreateable()-Prüfung vor INSERT
  • isUpdateable()-Prüfung vor UPDATE
  • isDeletable()-Prüfung vor DELETE
  • Feldebenen-Berechtigungen über Permission Sets
  • Bind-Variablen für Benutzereingaben verwendet
  • String.escapeSingleQuotes() für dynamische Abfragen
  • Objektnamen von Salesforce-IDs abgeleitet (nicht Benutzereingabe)
  • with sharing auf Haupt-Controllern
  • without sharing nur wo dokumentiert und notwendig
  • Freigabedatensätze respektieren OWD-Einstellungen
  • Kein eval() oder dynamische Skriptausführung
  • Benutzereingaben vor Anzeige bereinigt
  • Keine fest codierten Anmeldedaten
PrüfungStatusHinweise
HTTP-CalloutsN/APaket führt keine externen Aufrufe durch
Named CredentialsN/ANicht verwendet
External ObjectsN/ANicht verwendet
Remote Site SettingsN/ANicht erforderlich
CSP-VerletzungenBestandenKeine Content-Security-Policy-Verletzungen
KlasseAbdeckungStatus
ObjectTeamMemberController>75%Bestanden
TeamMemberWizardController>75%Bestanden
ShareRecordQueueable>75%Bestanden
SharingRecalculationBatch>75%Bestanden
ExpiredTeamMemberCleanupBatch>75%Bestanden
ObjectTeamMemberTriggerHandler>75%Bestanden
PostInstallHandler>75%Bestanden
Gesamt>75%Bestanden
Terminal-Fenster
# Alle Tests mit Coverage ausführen
sf apex run test --code-coverage --result-format human --target-org [ORG_ALIAS]
# Spezifische Testklasse ausführen
sf apex run test --tests ObjectTeamMemberTest --code-coverage --result-format human --target-org [ORG_ALIAS]
Terminal-Fenster
# Verfügbare Regeln auflisten
sf code-analyzer rules
# Nur AppExchange-Regeln auflisten
sf code-analyzer rules --rule-selector AppExchange
# Mit spezifischem Regel-Selektor ausführen
sf code-analyzer run --rule-selector Security --workspace force-app
# In verschiedene Formate exportieren
sf code-analyzer run --workspace force-app --output-file results.html
sf code-analyzer run --workspace force-app --output-file results.sarif