Virenscanner und Totalschutz sind natürlich kaum realisierbar, aber Kleinvieh macht eben auch Mist. Mir schwebt eine Hilfsfunktion für Modulautoren vor.
Angenommen, ich schreibe ein Modul, das in einem Attribut "FUFU" irgendwelche Funktionsdefinitionen bekommt, die dann ausgeführt werden (gibt es nicht nur bei mir, sondern in ganz vielen Modulen). Die Ausführung erfolgt dann typischerweise durch zwei Zeilen im Modulcode, die etwa lauten
$func = AttrVal($name,"FUFU","");
fhem($func);
Die erste Möglichkeit wäre, den Attributwert zu prüfen - etwa darauf, ob er Systemkommandos enthält - und dann eine Warnung auszugeben. Das global-Device könnte eine Liste der Devices bekommen, denen dieses erlaubt ist - und wenn das hier der Fall ist, wird eben keine Warnung ausgespuckt. Dafür würde also so etwas gebraucht wie eine Funktion SecureAttrVal, die man einfach an Stelle von AttrVal einsetzen kann.
Eine zweite Möglichkeit wäre, bei der Ausführung zu prüfen, also statt der Funktion fhem() eine Funktion SecureFhem zu haben. Auch hier derselbe Ablauf: Diese Funktion sieht nach, ob für das ausführende Device die globale Erlaubnis zur Ausführung von (System-)Kommandos vorliegt. Wenn ja, wird ausgeführt. Wenn nein, gibt es stattdessen nur eine Warnung im Log.
LG
pah