Return to search

Implementation and Evaluation of an Emulated Permission System for VS Code Extensions using Abstract Syntax Trees / Implementation och Utvärdering av ett Emulerat Behörighetssystem för Extensions i VS Code med hjälp av Abstrakta Syntaxträd

Permission systems are a common security feature in browser extensions and mobile applications to limit their access to resources outside their own process. IDEs such as Visual Studio Code, however, have no such features implemented, and therefore leave extensions with full user permissions. This thesis explores how VS Code extensions access external resources and presents a proof-of-concept tool that emulates a permission system for extensions. This is done through static analysis of extension source code using abstract syntax trees, scanning for usage of Extension API methods and Node.js dependencies. The tool is evaluated and used on 56 popular VS Code extensions to evaluate what resources are most prevalently accessed and how. The study concludes that most extensions use minimal APIs, but often rely on Node.js libraries rather than the API for external functionality. This leads to the conclusion the inclusion of Node.js dependencies and npm packages is the largest hurdle to implementing a permission system for VS Code.

Identiferoai:union.ndltd.org:UPSALLA1/oai:DiVA.org:liu-177474
Date January 2021
CreatorsDavid, Åström
PublisherLinköpings universitet, Programvara och system
Source SetsDiVA Archive at Upsalla University
LanguageEnglish
Detected LanguageEnglish
TypeStudent thesis, info:eu-repo/semantics/bachelorThesis, text
Formatapplication/pdf
Rightsinfo:eu-repo/semantics/openAccess

Page generated in 0.003 seconds