Il y a eu quelques discussions sur l' cap-talk
liste de diffusion autour de Lua et de la prise en charge de Javascript, l'objet-modèle de la capacité, avec la conclusion qu'en raison du soutien de la restriction de l'environnement à des fonctions dites par setfenv
, et la possibilité d'inoubliables des références à des objets immuables, l'OCM pourraient être mises en œuvre.
Nous avons vu comment cela fonctionne? Je suis intéressé par la suppression des exploits d'une application existante avec de très utile, généreux prise en charge des scripts en Lua qui, malheureusement, permet un accès shell dans toutes sortes de cas. Certains accès shell est nécessaire: l'objet-modèle de la capacité semble être une bonne façon de gérer les choses. Mais je m'inquiète de comment convaincre un cas que je peut faire que cette approche sera effectivement vérifiable, la sécurité dans le sure-pour-être salissant pratique.
Quelques liens:
- Ancienne question: Comment puis-je créer une sécurité Lua sandbox?
- Arrière-plan à erights.org: à Partir d'Objets De Capacités
- Lua wiki: les bacs à sable et ReadOnlyTables - montre
setfenv
dans l'action, montre idée de base derrière les tables qui peuvent, sous certaines conditions, être rendu accessible en lecture seulement