{"action":"opened","issue":{"url":"https://api.github.com/repos/warriordog/acomputerbot/issues/1","labels_url":"https://api.github.com/repos/warriordog/acomputerbot/issues/1/labels{/name}","comments_url":"https://api.github.com/repos/warriordog/acomputerbot/issues/1/comments","events_url":"https://api.github.com/repos/warriordog/acomputerbot/issues/1/events","html_url":"https://github.com/warriordog/acomputerbot/issues/1","id":53429330,"number":1,"title":"JS engine security manager needs to check permission source","user":{"login":"warriordog","id":5315704,"avatar_url":"https://avatars.githubusercontent.com/u/5315704?v=3","gravatar_id":"","url":"https://api.github.com/users/warriordog","html_url":"https://github.com/warriordog","followers_url":"https://api.github.com/users/warriordog/followers","following_url":"https://api.github.com/users/warriordog/following{/other_user}","gists_url":"https://api.github.com/users/warriordog/gists{/gist_id}","starred_url":"https://api.github.com/users/warriordog/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/warriordog/subscriptions","organizations_url":"https://api.github.com/users/warriordog/orgs","repos_url":"https://api.github.com/users/warriordog/repos","events_url":"https://api.github.com/users/warriordog/events{/privacy}","received_events_url":"https://api.github.com/users/warriordog/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/warriordog/acomputerbot/labels/optimization","name":"optimization","color":"fbca04"},{"url":"https://api.github.com/repos/warriordog/acomputerbot/labels/security","name":"security","color":"eb6420"}],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":0,"created_at":"2015-01-05T18:53:21Z","updated_at":"2015-01-05T18:53:21Z","closed_at":null,"body":"I cheated when writing the JS security manager by having it check if the call originated in the JSExecutor class, and if so verify that it was a whitelisted permission.  However this opens the door for a compromised JS environment to be able to perform any of the whitelisted actions, including reflection and classloaders (why does something built into java need that?).  This will also replace the long process of scanning the stack trace with a single check."}}