Security-Scan-Bericht
Verwendete Scan-Tools
Abschnitt betitelt „Verwendete Scan-Tools“| Tool | Version | Zweck |
|---|---|---|
| Salesforce Code Analyzer v5 | Neueste | Apex/LWC-Sicherheitsanalyse |
| PMD (inkl. AppExchange-Regeln) | v5 | Codequalität & Sicherheit |
| ESLint | v5 | JavaScript/LWC-Analyse |
| RetireJS | v5 | Anfällige JS-Bibliotheken |
| Partner Security Portal (Checkmarx) | Neueste | Obligatorischer Quellcode-Scan |
Scan-Berichte generieren
Abschnitt betitelt „Scan-Berichte generieren“Voraussetzungen
Abschnitt betitelt „Voraussetzungen“# Salesforce CLI installierennpm install -g @salesforce/cli
# Code Analyzer v5-Plugin installierensf plugins install @salesforce/plugin-code-analyzerVollständigen Scan ausführen
Abschnitt betitelt „Vollständigen Scan ausführen“# Alle Regeln mit HTML-Ausgabe ausführensf code-analyzer run --workspace force-app --output-file docs/scan-results.html
# AppExchange-spezifische Regeln ausführensf code-analyzer run --rule-selector AppExchange --workspace force-app --output-file docs/scan-appexchange.html
# Nur Security-getaggte Regeln ausführensf 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.htmlImplementierte Sicherheits-Best-Practices
Abschnitt betitelt „Implementierte Sicherheits-Best-Practices“CRUD/FLS-Durchsetzung
Abschnitt betitelt „CRUD/FLS-Durchsetzung“isCreateable()-Prüfung vor INSERTisUpdateable()-Prüfung vor UPDATEisDeletable()-Prüfung vor DELETE- Feldebenen-Berechtigungen über Permission Sets
SOQL-Injection-Prävention
Abschnitt betitelt „SOQL-Injection-Prävention“- Bind-Variablen für Benutzereingaben verwendet
String.escapeSingleQuotes()für dynamische Abfragen- Objektnamen von Salesforce-IDs abgeleitet (nicht Benutzereingabe)
Freigabemodell-Konformität
Abschnitt betitelt „Freigabemodell-Konformität“with sharingauf Haupt-Controllernwithout sharingnur wo dokumentiert und notwendig- Freigabedatensätze respektieren OWD-Einstellungen
LWC-Sicherheit
Abschnitt betitelt „LWC-Sicherheit“- Kein
eval()oder dynamische Skriptausführung - Benutzereingaben vor Anzeige bereinigt
- Keine fest codierten Anmeldedaten
Sicherheit externer Integrationen
Abschnitt betitelt „Sicherheit externer Integrationen“| Prüfung | Status | Hinweise |
|---|---|---|
| HTTP-Callouts | N/A | Paket führt keine externen Aufrufe durch |
| Named Credentials | N/A | Nicht verwendet |
| External Objects | N/A | Nicht verwendet |
| Remote Site Settings | N/A | Nicht erforderlich |
| CSP-Verletzungen | Bestanden | Keine Content-Security-Policy-Verletzungen |
Apex-Testabdeckung
Abschnitt betitelt „Apex-Testabdeckung“| Klasse | Abdeckung | Status |
|---|---|---|
| ObjectTeamMemberController | >75% | Bestanden |
| TeamMemberWizardController | >75% | Bestanden |
| ShareRecordQueueable | >75% | Bestanden |
| SharingRecalculationBatch | >75% | Bestanden |
| ExpiredTeamMemberCleanupBatch | >75% | Bestanden |
| ObjectTeamMemberTriggerHandler | >75% | Bestanden |
| PostInstallHandler | >75% | Bestanden |
| Gesamt | >75% | Bestanden |
Tests mit Coverage ausführen
Abschnitt betitelt „Tests mit Coverage ausführen“# Alle Tests mit Coverage ausführensf apex run test --code-coverage --result-format human --target-org [ORG_ALIAS]
# Spezifische Testklasse ausführensf apex run test --tests ObjectTeamMemberTest --code-coverage --result-format human --target-org [ORG_ALIAS]Scanner-Befehle-Referenz (Code Analyzer v5)
Abschnitt betitelt „Scanner-Befehle-Referenz (Code Analyzer v5)“# Verfügbare Regeln auflistensf code-analyzer rules
# Nur AppExchange-Regeln auflistensf code-analyzer rules --rule-selector AppExchange
# Mit spezifischem Regel-Selektor ausführensf code-analyzer run --rule-selector Security --workspace force-app
# In verschiedene Formate exportierensf code-analyzer run --workspace force-app --output-file results.htmlsf code-analyzer run --workspace force-app --output-file results.sarif