一句话:通过150人实验发现,仅要求审查者关注安全即可将漏洞发现概率提高八倍,而安全清单无显著额外增益。
从安全视角审查源代码十分困难,开发者常会漏掉甚至常见漏洞,初步证据表明原因可能在于审查者的心理态度与习惯做法。作者开展在线实验,150名参与者中71%拥有三年以上专业开发经验,考察明确要求关注安全是否影响漏洞检测,以及提供安全清单(甚至针对变更和已有漏洞定制)的作用。结果显示,仅要求关注安全使漏洞检测概率提高八倍;安全清单没有显著进一步提升效果。结论支持心理态度假说,并呼吁继续研究安全清单的有效性与设计。
Reviewing source code from a security perspective has proven to be a difficult task. Indeed, previous research has shown that developers often miss even popular and easy-to-detect vulnerabilities during code review. Initial evidence suggests that a significant cause may lie in the reviewers' mental attitude and common practices. In this study, we investigate whether and how explicitly asking developers to focus on security during a code review affects the detection of vulnerabilities. Furthermore, we evaluate the effect of providing a security checklist to guide the security review. To this aim, we conduct an online experiment with 150 participants, of which 71% report to have three or more years of professional development experience. Our results show that simply asking reviewers to focus on security during the code review increases eight times the probability of vulnerability detection. The presence of a security checklist does not significantly improve the outcome further, even when the checklist is tailored to the change under review and the existing vulnerabilities in the change. These results provide evidence supporting the mental attitude hypothesis and call for further work on security checklists' effectiveness and design. Preprint: https://arxiv.org/abs/2202.04586 Data and materials: https://doi.org/10.5281/zenodo.6026291