Contesto: competizione AI. Gli utenti caricano una DLL con una classe che implementa un'interfaccia fornita, quindi il corridore della competizione crea un'istanza di quella classe e invoca vari metodi sull'interfaccia.
Ovviamente, questo significa che sto intenzionalmente permettendo agli utenti di eseguire qualsiasi codice a loro piaccia purché lo avvolgano in un punto di ingresso che assomiglia alla mia interfaccia.
Al momento questa è una cosa aziendale interna, quindi ci fidiamo al 100% di tutti i dipendenti ( nessuna discussione su questo, per favore ), ma sarebbe bello essere in grado di renderlo più pubblico.
È possibile rendere sicuro un sistema come questo? In che modo sandbox posso rendere la dll? È attualmente in esecuzione in Azure. Suppongo che la scatola sia sottoposta a backup da parte di alcune cose di Azure automatizzate? (Non ho impostato la casella di Azure)
A) Posso impedirgli di interagire con qualcos'altro sulla scatola? B) Posso impedire loro di accedere a qualsiasi cosa al di fuori della scatola di Azure? C) Posso impedire loro di accedere ai backup di Azure (ad esempio, se dico che non mi interessa se cestinano la scatola, perché posso ripristinare dal backup, allora è sicuro?)