Shift left: Still a Work in Progress
Experts say “shift left” practices are falling short. Here’s what you need to know and what you can do about it.
Researchers are calling on companies to do a better job of educating developers about security after a study shows shift left practices have fallen short.
Shifting left is an agile practice used to speed software testing and facilitate development by moving the testing process to an earlier point in the development lifecycle such as at code review time. It’s become a critical part of the modern software development process, enabling teams to scale faster while detecting and minimizing risks earlier on. By implementing shift left practices, organizations can reduce the time and cost of software development while simultaneously boosting the security of their applications. It provides an array of benefits for DevSecOps teams looking to take a proactive cybersecurity approach rather than a reactive one.
However, a new study reveals that the adoption of “shift left” practices have fallen short, identifying a new set of challenges that developers face while trying to detect and fix vulnerabilities during earlier stages of software development.
In the study, "Software Security During Modern Code Review: The Developer's Perspective," conducted by researchers at the University of Zurich, 10 developers were interviewed and another 182 were polled online. Their biggest related challenges include:
- Lack of security training and knowledge. Developers ranked insufficient security training and knowledge as their main security-related challenge. Most respondents (149) believe their companies should provide more support for security practices, and two-thirds said their companies don't offer them security training. One respondent cited the lack of knowledge and training about the current vulnerabilities on the various language/framework/libraries of choice to be an issue. Another respondent stated that vulnerabilities are not always visible from just looking at the code even when best practices are followed, therefore requiring better tool support such as static code analysis and improved frameworks/libraries/APIs to address these security issues. Additionally, the study revealed that although most companies do not provide security training, they still expect developers to ensure security during code reviews.
- Security during code reviews is not top of mind. Although developers acknowledged the importance of security code reviews and viewed it as their responsibility, it's not top of mind for them. Code reviews have been recognized as a critical practice for detecting and fixing security bugs earlier on but most developers do not focus on security issues during code reviews. Most of the survey respondents (81%) reported that they have the freedom to decide what aspects/issues to inspect during code reviews. According to the research findings, only 9 out of the 182 survey respondents explicitly mentioned security when asked what they focus on during code reviews. Rather, it was only after being asked about software security that developers (111 of survey respondents) stated they always consider it during review and acknowledged its importance.
- Unclear on requirements/responsibilities for application security. Developers revealed that they are not always clear on their requirements and responsibilities. Seven of the 10 developers interviewed assumed that security isn't within their scope of responsibilities, saying they think it's handled by another team or by another software system. One respondent stated that "I am more a front-end developer, we deal less with security matters. I think [considering security during code reviews] should be more for the back end, right? They deal more with dad." Additionally, two interviewees revealed that because they develop internal code, they do not extensively consider security during code review.
Here's a chart listing key challenges cited by respondents with regards to security during code reviews.
(Source: “Software Security during Modern Code Review: The Developer’s Perspective” study, University of Zurich, August 2022)
So what can organizations do to improve their shift-left practices? Here are some of the report's recommendations:
- Provide developers with better security education, training and tools, so they'll be better at, for example, performing security assessments of third-party libraries
- Motivate developers to perform security code reviews through formal programs that reward them for detecting vulnerabilities
- Clarify the scope of security responsibilities for developers, so that they don't neglect to perform security tasks they erroneously think will be handled by another team.
- “A Practical Approach for Shifting Left” (Tenable)
- “What is shift left testing?” (TechTarget)
- “Shift Left: Where Cloud Native Computing Security Is Going” (The New Stack)
- “Shifting security left requires a GitOps approach” (TechTarget)
- “OpenSSF director warns over secure development” (The Stack)
Cybersecurity News You Can Use
Enter your email and never miss timely alerts and security guidance from the experts at Tenable.