Visible to the public Share, But Be Aware: Security Smells in Python Gists

TitleShare, But Be Aware: Security Smells in Python Gists
Publication TypeConference Paper
Year of Publication2019
AuthorsRahman, Md Rayhanur, Rahman, Akond, Williams, Laurie
Conference Name2019 IEEE International Conference on Software Maintenance and Evolution (ICSME)
ISBN Number978-1-7281-3094-1
Keywordscomposability, encoding, Gist, GitHub, hard-coded passwords, hard-coded secrets, Human Behavior, insecure coding practices, password, program diagnostics, pubcrawl, publicly-available GitHub Gists, publicly-available Python Gists, python, recurrent coding patterns, resilience, Resiliency, safety-critical software, security, security breaches, security smell, security weaknesses, share code snippets, software maintenance, software security, static analysis, static code analysis, Tools
Abstract

Github Gist is a service provided by Github which is used by developers to share code snippets. While sharing, developers may inadvertently introduce security smells in code snippets as well, such as hard-coded passwords. Security smells are recurrent coding patterns that are indicative of security weaknesses, which could potentially lead to security breaches. The goal of this paper is to help software practitioners avoid insecure coding practices through an empirical study of security smells in publicly-available GitHub Gists. Through static analysis, we found 13 types of security smells with 4,403 occurrences in 5,822 publicly-available Python Gists. 1,817 of those Gists, which is around 31%, have at least one security smell including 689 instances of hard-coded secrets. We also found no significance relation between the presence of these security smells and the reputation of the Gist author. Based on our findings, we advocate for increased awareness and rigorous code review efforts related to software security for Github Gists so that propagation of insecure coding practices are mitigated.

URLhttps://ieeexplore.ieee.org/document/8919248
DOI10.1109/ICSME.2019.00087
Citation Keyrahman_share_2019