Ohne dieses Thema zu breit auswalzen zu wollen, noch ein Nachsatz:
Die Schuld dem Signierer zu geben, halte ich für falsch. In der Praxis ist es doch so, dass eine Datenbank bei Produktivnahme KOMPLETT signiert wird, allein schon deshalb, um eine saubere Steuerung der ECL zu ermöglichen.
In dem Freigabeprozess sollte man sich dann die sicherheitskritischen Elemente anschauen. Und das sind vor allem die Elemente, die mit ANDEREN Rechten ausgeführt werden. Alle anderen Elemente sehe ich grundsätzlich unkritisch an, da sie ja mit den Rechten des angemeldeten Benutzers laufen. D.h. wenn nicht das Programm diese Aktion ausgeführt hätte, hätte es der Benutzer manuell selbst tun können, da er die Rechte dazu hat (natürlich kann ich auch Schadfunktionen so einbauen, dass sie dann von den Benutzern mit den von mir gewünschten Rechten manuell ausgeführt werden, das hat aber eine andere Qualität und die Gefahr der Entdeckung ist da m.E. größer, außerdem kann ich da schlechter den Zeitpunkt der Ausführung bestimmen).
Als sicherheitskritische Elemente bleiben also zu aktivierende Agenten. Und wenn man in diesen nach kritischen Schlüsselwörtern sucht, kann man m.E. recht schnell solche Schweinereien finden. Kritische Schlüsselwörter sind m.E. Funktionen wie
Execute
Evaluate
Save
Send
Remove
Wenn nun alle Agenten betroffen sind, müsste man sich alle anschauen, unabhängig davon, ob sie aktiviert werden sollen, oder nicht. Und das ist sicherlich vielen nicht bewusst (mir auch erst wieder seit heute).
Solche Agenten laufen dann auch in Schablonen oder archivierten Datenbanken, aber das ist ein anderes Thema. Die alte Lösung fand ich auf jeden Fall besser, aber das ist auch nur meine persönliche, revisisonsgeschädigte, Meinung.