Visible to the public CryptoExplorer: An Interactive Web Platform Supporting Secure Use of Cryptography APIs

TitleCryptoExplorer: An Interactive Web Platform Supporting Secure Use of Cryptography APIs
Publication TypeConference Paper
Year of Publication2020
AuthorsHazhirpasand, M., Ghafari, M., Nierstrasz, O.
Conference Name2020 IEEE 27th International Conference on Software Analysis, Evolution and Reengineering (SANER)
Date PublishedFeb. 2020
ISBN Number978-1-7281-5143-4
KeywordsAPI, APIs, application program interfaces, application programming interface, code analysis, compositionality, CryptoExplorer, cryptographic APIs, cryptography, data mining, interactive systems, interactive Web platform, Internet, Java, Java Cryptography Architecture, online information sources, pubcrawl, resilience, Resiliency, security, software engineering

Research has shown that cryptographic APIs are hard to use. Consequently, developers resort to using code examples available in online information sources that are often not secure. We have developed a web platform, named CryptoExplorer, stocked with numerous real-world secure and insecure examples that developers can explore to learn how to use cryptographic APIs properly. This platform currently provides 3 263 secure uses, and 5 897 insecure uses of Java Cryptography Architecture mined from 2 324 Java projects on GitHub. A preliminary study shows that CryptoExplorer provides developers with secure crypto API use examples instantly, developers can save time compared to searching on the internet for such examples, and they learn to avoid using certain algorithms in APIs by studying misused API examples. We have a pipeline to regularly mine more projects, and, on request, we offer our dataset to researchers.

Citation Keyhazhirpasand_cryptoexplorer_2020