
Tekunda Team

Tekunda Team

Die meisten AppExchange-Einreichungen scheitern an einer kurzen, vorhersehbaren Liste, und die Zugriffskontrolle steht ganz oben. Arbeiten Sie diese Checkliste der Reihe nach ab, zuerst die Durchsetzung von Zugriffsrechten im User Mode, dann die Triage der Scanner-Findings, dann die Einreichungsunterlagen, und Sie beseitigen die meisten Gründe, aus denen ein Reviewer ein Package zurückschickt. Salesforce nennt 4 bis 5 Wochen für eine typische Prüfung, eine Ablehnung kostet also einen Release-Zyklus und nicht einen Nachmittag.
Tekunda hat Managed Packages im Gesundheitswesen, in der Logistik und in der Fertigung durch die AppExchange Security Review gebracht. Was folgt, ist die Reihenfolge, in der wir arbeiten, keine Beschreibung des Prozesses.
Arbeiten Sie von oben nach unten. Die oberen Punkte sind zugleich die häufigsten Findings und die teuersten, wenn man sie nachträglich einbaut. Genau deshalb kostet es einen ganzen Zyklus, sie bis zum Schluss aufzuschieben.
WITH USER_MODE in SOQL und AccessLevel.USER_MODE bei
Database-Aufrufen statt selbst gebauter
isAccessible()-Ketten, die leicht unvollständig bleiben.
@AuraEnabled-Methode aufgerufen wird, unbemerkt ohne Sharing laufen
kann. Deklarieren Sie with sharing ausdrücklich an jeder Klasse, auch
an inneren Klassen und Utility-Klassen.
escape="false", lwc:dom="manual" oder
innerHTML auf die Seite gelangt, muss vorher bereinigt sein, nicht
danach.
System.debug. Named Credentials und Protected Custom Metadata
sind das, was Reviewer stattdessen erwarten.
Secure und HttpOnly. Reviewer prüfen die Site,
die Sie ihnen übergeben, nicht die, die Sie beschreiben.
Die Messlatte liegt nicht bei null Findings, und sie liegt je Scanner anders. Die Vorbereitungshinweise von Salesforce legen es fest:
Erzeugen Sie den Code-Analyzer-Bericht mit dem AppExchange-Regelsatz, damit er dem entspricht, was der Reviewer erwartet:
sf code-analyzer run --rule-selector AppExchange --rule-selector
Recommended:Security --output-file CodeAnalyzerReport.html
Welche Scans Pflicht sind, hat sich zuletzt geändert, prüfen Sie also die aktuellen Scanner-Anforderungen, bevor Sie etwas erzeugen.
Seit Salesforce den gehosteten Chimera-Scanner am 2025-06-16 abgeschaltet hat, führen Sie diesen dynamischen Scan selbst aus. Siehe Eigene dynamische Scans nach Chimera für die akzeptierten Tools und den einzureichenden Report.
In unseren Einreichungen kommen vier Kategorien oft genug als echte False Positives zurück, dass man sie einplanen sollte: Zugriffskontroll-Findings gegen Code, der User Mode bereits durchsetzt, Sharing-Findings an Klassen, die nur über einen Kontext betreten werden, in dem Sharing schon greift, Findings zu veralteten Bibliotheken, die auf eine Versionsnummer in einer mitgelieferten Static Resource anspringen, und Reflected Cross-Site-Scripting an Parametern, die das DOM nie erreichen.
Recht zu haben reicht allerdings nicht. Durch die Prüfung bringt Sie das Dokument. Salesforce verlangt ein Dokument, das erklärt, warum jeder markierte Punkt kein Sicherheitsrisiko darstellt, und fordert dabei konkret zu beschreiben, wie Sie sich gegen die angezeigte Schwachstelle schützen. Geben Sie jedem Finding einen eigenen Eintrag: Scanner und Regel-ID, Datei und Zeile, ein Satz zum Datenpfad, die genaue Schutzmaßnahme und die Stelle im Package, an der sie sitzt. Einzeilige Abweisungen kommen als Rückfrage zurück, und Rückfragen kosten Wochen. Für eine ausführliche Anleitung zum Begründungsformat und den Fehlern, die es ablehnen lassen, siehe False Positives für die Salesforce Security Review dokumentieren.
Salesforce gibt an, dass eine Lösung typischerweise 4 bis 5 Wochen durch die Prüfung braucht, und dass für jede kostenpflichtige Lösung auf dem Marktplatz eine Gebühr von $999 für die Ersteinreichung und für jeden weiteren Versuch anfällt. Beides spricht für dasselbe Vorgehen: Ziehen Sie die Arbeit an der Zugriffskontrolle nach vorn, denn die günstigste Einreichung ist die, die man nur einmal macht.
Wenn Sie ein Produkt paketieren und die Prüfung lieber Leuten überlassen, die sie schon bestanden haben: Tekunda baut und paketiert AppExchange-Produkte als Salesforce PDO.
Müssen auch kostenlose Apps durch die Security Review?
Ja. Jede Lösung, die über den Marktplatz verteilt wird, muss die Prüfung bestehen, bevor sie gelistet wird. Die von Salesforce dokumentierte Gebühr betrifft kostenpflichtige Lösungen.
Reicht der Salesforce Code Analyzer allein?
Nein. Code Analyzer v5 deckt Apex, Visualforce, JavaScript und TypeScript in Ihrem Package ab. Jeder externe Endpunkt, den Ihre App aufruft, braucht zusätzlich einen eigenen dynamischen Scan-Report.
Was ist der häufigste Ablehnungsgrund?
Die Zugriffskontrolle. Queries und DML im System Mode sowie Klassen, die Sharing erben statt es zu deklarieren, erzeugen mehr Findings als alles andere.
Ändert eine Agentforce- oder Agenten-App die Checkliste?
Für agentische Lösungen gilt dieselbe Security Review. Der Unterschied zeigt sich in der Dokumentation der Datenflüsse, denn jeder externe Dienst, den Ihr Agent aufrufen kann, muss beschrieben und gescannt sein.
Ist die Security Review ein einmaliges Ereignis?
Nein. Salesforce prüft gelistete Lösungen periodisch erneut, und jedes Feature, das Sie danach ausliefern, wird an denselben Maßstab gehalten. Die Checkliste ist damit ein dauerhaftes Release-Gate und keine Aufgabe zum Launch.