Share, But Be Aware: Security Smells in Python Gists
Title | Share, But Be Aware: Security Smells in Python Gists |
Publication Type | Conference Paper |
Year of Publication | 2019 |
Authors | Rahman, Md Rayhanur, Rahman, Akond, Williams, Laurie |
Conference Name | 2019 IEEE International Conference on Software Maintenance and Evolution (ICSME) |
ISBN Number | 978-1-7281-3094-1 |
Keywords | composability, 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. |
URL | https://ieeexplore.ieee.org/document/8919248 |
DOI | 10.1109/ICSME.2019.00087 |
Citation Key | rahman_share_2019 |
- recurrent coding patterns
- tools
- static code analysis
- static analysis
- software security
- software maintenance
- share code snippets
- security weaknesses
- security smell
- security breaches
- security
- safety-critical software
- Resiliency
- resilience
- composability
- Python
- publicly-available Python Gists
- publicly-available GitHub Gists
- pubcrawl
- program diagnostics
- password
- insecure coding practices
- Human behavior
- hard-coded secrets
- hard-coded passwords
- GitHub
- Gist
- encoding