{"action":"created","issue":{"url":"https://api.github.com/repos/natevw/evel/issues/24","labels_url":"https://api.github.com/repos/natevw/evel/issues/24/labels{/name}","comments_url":"https://api.github.com/repos/natevw/evel/issues/24/comments","events_url":"https://api.github.com/repos/natevw/evel/issues/24/events","html_url":"https://github.com/natevw/evel/issues/24","id":122326061,"number":24,"title":"Use other depencencies in code","user":{"login":"Wilt","id":2419627,"avatar_url":"https://avatars.githubusercontent.com/u/2419627?v=3","gravatar_id":"","url":"https://api.github.com/users/Wilt","html_url":"https://github.com/Wilt","followers_url":"https://api.github.com/users/Wilt/followers","following_url":"https://api.github.com/users/Wilt/following{/other_user}","gists_url":"https://api.github.com/users/Wilt/gists{/gist_id}","starred_url":"https://api.github.com/users/Wilt/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Wilt/subscriptions","organizations_url":"https://api.github.com/users/Wilt/orgs","repos_url":"https://api.github.com/users/Wilt/repos","events_url":"https://api.github.com/users/Wilt/events{/privacy}","received_events_url":"https://api.github.com/users/Wilt/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":1,"created_at":"2015-12-15T17:39:16Z","updated_at":"2015-12-15T17:54:11Z","closed_at":null,"body":"Consider this a question...\r\nHow can I implement dependencies and how can I make sure this doesn't open new vulnerabilities?\r\n\r\nFor example I have some custom Javascript classes and I want to use them during the evaluation of my `code`. Just to give an example of what it could look like:\r\n\r\n````\r\nPerson = function( FirstName, LastName, Age, Sex ){\r\n    this.FirstName = FirstName;\r\n    this.LastName = LastName;\r\n    this.Age = Age;\r\n    this.Sex = Sex;\r\n};\r\n\r\nParent = function( FirstName, LastName, Age, Sex ){\r\n    Person.call( this, FirstName, LastName, Age, Sex );\r\n    this.Children = [];\r\n};\r\nParent.prototype = Object.create( Person.prototype );\r\n\r\nFather = function( FirstName, LastName, Age ){\r\n    Parent.call( this, FirstName, LastName, Age, \"male\" );\r\n};\r\nFather.prototype = Object.create( Parent.prototype );\r\n\r\nMother = function( FirstName, LastName, Age, Sex ){\r\n    Parent.call( this, FirstName, LastName, Age, \"female\" );\r\n};\r\nMother.prototype = Object.create( Parent.prototype );\r\n\r\nChild = function( Father, Mother, FirstName, Age, Sex ){\r\n    Person.call( this, FirstName, Father.LastName, Age, Sex );\r\n    this.Mother = Father;\r\n    this.Father = Father;\r\n    this.Age = Age;\r\n\r\n    this.addChildToFather();\r\n    this.addChildToMother();\r\n};\r\nChild.prototype = Object.create( Person.prototype );\r\nChild.prototype.setParents = function(){\r\n    if( this.ObjectPlacement !== null ){\r\n        this.ObjectPlacement.PlacesObject.push( this );\r\n    }\r\n};\r\nChild.prototype.addChildToFather = function(){\r\n    if( this.Father !== null ){\r\n        this.Father.Children.push( this );\r\n    }\r\n};\r\nChild.prototype.addChildToMother = function(){\r\n    if( this.Mother !== null ){\r\n        this.Mother.Children.push( this );\r\n    }\r\n};\r\n````\r\n\r\nSo prototype etc. should be available..."},"comment":{"url":"https://api.github.com/repos/natevw/evel/issues/comments/164840781","html_url":"https://github.com/natevw/evel/issues/24#issuecomment-164840781","issue_url":"https://api.github.com/repos/natevw/evel/issues/24","id":164840781,"user":{"login":"kumavis","id":1474978,"avatar_url":"https://avatars.githubusercontent.com/u/1474978?v=3","gravatar_id":"","url":"https://api.github.com/users/kumavis","html_url":"https://github.com/kumavis","followers_url":"https://api.github.com/users/kumavis/followers","following_url":"https://api.github.com/users/kumavis/following{/other_user}","gists_url":"https://api.github.com/users/kumavis/gists{/gist_id}","starred_url":"https://api.github.com/users/kumavis/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/kumavis/subscriptions","organizations_url":"https://api.github.com/users/kumavis/orgs","repos_url":"https://api.github.com/users/kumavis/repos","events_url":"https://api.github.com/users/kumavis/events{/privacy}","received_events_url":"https://api.github.com/users/kumavis/received_events","type":"User","site_admin":false},"created_at":"2015-12-15T17:54:11Z","updated_at":"2015-12-15T17:54:11Z","body":"@Wilt this is more of an experiment / challenge - not used as a security measure in production anywhere.\r\nIf you have a real situation where you need to run untrusted code that interfaces with trusted code, I would keep them in separate sandboxes and have them interact via an RPC interface."}}