CryptoExplorer: An Interactive Web Platform Supporting Secure Use of Cryptography APIs
This addresses security issues for software developers by providing a tool to access secure crypto API examples, though it is incremental as it builds on existing mining and educational approaches.
The paper tackles the problem of developers struggling to use cryptographic APIs securely by creating CryptoExplorer, a web platform with real-world examples, resulting in a dataset of 3,263 secure and 5,897 insecure uses mined from 2,324 Java projects, which helps developers save time and learn secure practices.
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.