Abstract
OSS is important and useful. We want to ensure that it is of high quality and has no security issues. Static analysis tools provide easy-to-use and application-independent mechanisms to assess various aspects of a given code. Many effective open-source static analysis tools exist. In this paper, we perform the first comprehensive analysis using 24 open-source static analysis tools (through Omega Analyzer) on 4,947 repositories. Our study identified several interesting findings, such as the distribution of errors in relation to the criticality score of repositories shows that repositories with a criticality score have the highest percentage of errors. We envision that our findings provide insights into the effectiveness of static analysis tools on OSS and future research directions in securing OSS repositories.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Similar content being viewed by others
References
Alpha Omega – Linux Foundation Project. https://alpha-omega.dev/
CodeQL. https://codeql.github.com/
Open Source Security Foundation – Linux Foundation Projects. https://openssf.org/
Understanding GitHub Actions. https://docs.github.com/_next/data/0DKyBPMqZhPYD1Lsg3qKt/en/free-pro-team@latest/actions/learn-github-actions/understanding-github-actions.json?versionId=free-pro-team%40latest&productId=actions &restPage=learn-github-actions &restPage=understanding-github-actions
Node.js (2023). https://github.com/nodejs/node. Original-date 26 Nov 2014
SwiftSyntax (2023). https://github.com/apple/swift-syntax. Original-date 31 July 2018
Fact Sheet: Biden-Harris Administration Releases End of Year Report on Open-Source Software Security Initiative - ONCD (2024). https://www.whitehouse.gov/oncd/briefing-room/2024/01/30/fact-sheet-biden-harris-administration-releases-end-of-year-report-on-open-source-software-security-initiative/
nodejs/node (2024). https://github.com/nodejs/node. Original-date 26 Nov 2014
Abraham, A.: Nodejsscan (2023). https://github.com/ajinabraham/NodeJsScan. Accessed 18 May 2024
Al Kassar, F., Clerici, G., Compagna, L., Balzarotti, D., Yamaguchi, F.: Testability tarpits: the impact of code patterns on the security testing of web applications. In: NDSS Symposium 2022. Internet Society, San Diego (2022)
Aloraini, B., Nagappan, M., German, D.M., Hayashi, S., Higo, Y.: An empirical study of security warnings from static application security testing tools. J. Syst. Softw. 158, 110427 (2019)
Alvarez, S.: Radare2 (2006). https://www.radare.org/. Accessed 18 May 2024
Alvarez, V.: Yara (2024). https://virustotal.github.io/yara/. Accessed 18 May 2024
Arusoaie, A., Ciobâca, S., Craciun, V., Gavrilut, D., Lucanu, D.: A comparison of open-source static analysis tools for vulnerability detection in C/C++ code. In: 2017 19th International Symposium on Symbolic and Numeric Algorithms for Scientific Computing (SYNASC), pp. 161–168 (2017). https://doi.org/10.1109/SYNASC.2017.00035
Arya, A., Brown, C., Pike, R., The open source security foundation: open source project criticality score (2023). https://github.com/ossf/criticality_score. Original-date 17 Nov 2020
Bakhshandeh, A., Keramatfar, A., Norouzi, A., Chekidehkhoun, M.M.: Using ChatGPT as a static application security testing tool. arXiv preprint arXiv:2308.14434 (2023)
Bhandari, G., Naseer, A., Moonen, L.: CVEfixes: automated collection of vulnerabilities and their fixes from open-source software. In: Proceedings of the 17th International Conference on Predictive Models and Data Analytics in Software Engineering, pp. 30–39. Association for Computing Machinery, Athens, Greece (2021)
Bonaccorsi, A., Rossi, C.: Why open source software can succeed. Res. Policy 32(7), 1243–1258 (2003)
Boyter, B.: SCC (2018). https://github.com/boyter/scc. Accessed 18 May 2024
Casanova Páez, M.M.: Application security testing tools study and proposal (2021)
Collins, J.: Brakeman (2010). https://brakemanscanner.org/. Accessed 18 May 2024
Cybersecurity and Infrastructure Security Agency (CISA): Government and industry partners publish fact sheet for organizations using open source software (2023). https://www.cisa.gov/news-events/news/government-and-industry-partners-publish-fact-sheet-organizations-using-open-source-software. Accessed 13 June 2024
Deepfence: Secretscanner (2020). https://github.com/deepfence/SecretScanner. Accessed 18 May 2024
Dencheva, L.: Comparative analysis of Static application security testing (SAST) and Dynamic application security testing (DAST) by using open-source web application penetration testing tools. Ph.D. thesis, Dublin, National College of Ireland (2022)
Devine, T.R., Campbell, M., Anderson, M., Dzielski, D.: SREP+ SAST: a comparison of tools for reverse engineering machine code to detect cybersecurity vulnerabilities in binary executables. In: 2022 International Conference on Computational Science and Computational Intelligence (CSCI), pp. 862–869. IEEE, Las Vegas (2022)
Esposito, M., Falaschi, V., Falessi, D.: An extensive comparison of static application security testing tools (2024)
Facebook: Hermes JavaScript engine. https://github.com/facebook/hermes (2024). Accessed 30 Apr 2024
Felderer, M., Büchler, M., Johns, M., Brucker, A.D., Breu, R., Pretschner, A.: Security testing: a survey. In: Advances in Computers, vol. 101, pp. 1–51. Elsevier (2016)
Gentsch, C.: Evaluation of open source static analysis security testing (SAST) tools for C (2020)
Gentsch, C., Krishnamurthy, R., Heinze, T.S.: Benchmarking open-source static analyzers for security testing for C. In: ISoLA 2020, Part IV, pp. 182–198. Springer, Cham (2021)
Ghazaly, N.M.: Learning the idea behind SAST (static application security testing) and how it functions. Int. J. Manag. Eng. Res. 1(1), 01–04 (2021)
GitHub: CodeQL (2019). https://securitylab.github.com/tools/codeql. Accessed 18 May 2024
GitHub: Potential use after free (2024). https://codeql.github.com/codeql-query-help/cpp/cpp-use-after-free/. Accessed 24 June 2024
Gkortzis, A., Mitropoulos, D., Spinellis, D.: VulinOSS: a dataset of security vulnerabilities in open-source systems. In: Proceedings of the 15th International conference on mining software repositories, pp. 18–21. ACM, Gothenburg (2018)
Goseva-Popstojanova, K., Perhinschi, A.: On the capability of static code analysis to detect security vulnerabilities. Inf. Softw. Technol. 68, 18–33 (2015)
Hauge, Ø., Ayala, C., Conradi, R.: Adoption of open source software in software-intensive organizations-a systematic literature review. Inf. Softw. Technol. 52(11), 1133–1154 (2010)
Heffner, C.: binwalk (2010). https://github.com/ReFirmLabs/binwalk. Accessed 18 May 2024
ICSharpCode: Ilspy (2011). https://github.com/icsharpcode/ILSpy. Accessed 18 May 2024
Imtiaz, N., Khanom, A., Williams, L.: Open or sneaky? Fast or slow? light or heavy?: investigating security releases of open source packages. IEEE Trans. Software Eng. 49(4), 1540–1560 (2022)
Jiang, Y., Jeusfeld, M., Ding, J.: Evaluating the data inconsistency of open-source vulnerability repositories. In: Proceedings of the 16th International Conference on Availability, Reliability and Security, pp. 1–10. ACM, Vienna (2021)
JusticeRage: Manalyze (2010). https://github.com/JusticeRage/Manalyze. Accessed 18 May 2024
Konves, S.: TBV (2019). https://github.com/verifynpm/tbv. Accessed 18 May 2024
Levin, D.V.: Strace (1992). https://strace.io/. Accessed 18 May 2024
Li, K., et al.: Comparison and evaluation on static application security testing (SAST) tools for java. In: Proceedings of the 31st ACM Joint European Software Engineering Conference and Symposium on the Foundations of Software Engineering, pp. 921–933. ACM, San Francisco (2023)
Marjamäki, D.: Cppcheck (2007). http://cppcheck.sourceforge.net/. Accessed 18 May 2024
Mateo Tudela, F., Bermejo Higuera, J.R., Bermejo Higuera, J., Sicilia Montalvo, J.A., Argyros, M.I.: On combining static, dynamic and interactive analysis security testing tools to improve OWASP top ten security vulnerability detection in web applications. Appl. Sci. 10(24), 9119 (2020)
Microsoft: Devskim (2017). https://github.com/microsoft/DevSkim. Accessed 18 May 2024
Microsoft: ApplicationInspector (2019). https://github.com/microsoft/ApplicationInspector. Accessed 18 May 2024
Microsoft: OSSGadget (2020). https://github.com/microsoft/OSSGadget. Accessed 18 May 2024
Microsoft: Workflow configuration for similar issues in Microsoft terminal (2024). https://github.com/microsoft/terminal/blob/main/.github/workflows/similarIssues.yml. Accessed 30 Apr 2024
Nguyen-Duc, A., Do, M.V., Hong, Q.L., Khac, K.N., Quang, A.N.: On the adoption of static analysis for software security assessment-a case study of an open-source e-government project. Comput. Secur. 111, 102470 (2021)
npm, I.: npm audit (2018). https://docs.npmjs.com/cli/v7/commands/npm-audit. Accessed 27 May 2024
Onarcan, M.O., Fu, Y., et al.: A case study on design patterns and software defects in open source software. J. Softw. Eng. Appl. 11(05), 249 (2018)
Oyetoyan, T.D., Milosheska, B., Grini, M., Soares Cruzes, D.: Myths and facts about static application security testing tools: an action research at Telenor digital. In: XP 2018, pp. 86–103. Springer, Cham (2018)
Piantadosi, V., Scalabrino, S., Oliveto, R.: Fixing of security vulnerabilities in open source projects: a case study of apache http server and apache tomcat. In: 2019 12th IEEE Conference on Software Testing, Validation and Verification (ICST), pp. 68–78. IEEE, Xi’an (2019)
PlatformIO: Project helpers for platformio (2024). https://github.com/platformio/platformio-core/blob/develop/platformio/project/helpers.py. Accessed 30 Apr 2024
Ponta, S.E., Plate, H., Sabetta, A., Bezzi, M., Dangremont, C.: A manually-curated dataset of fixes to vulnerabilities of open-source software. In: 2019 IEEE/ACM 16th International Conference on Mining Software Repositories (MSR), pp. 383–387. IEEE, Montreal (2019)
Price, P.: Shhgit (2018). https://github.com/eth0izzle/shhgit. Accessed 18 May 2024
PyCQA: Bandit (2013). https://github.com/PyCQA/bandit. Accessed 18 May 2024
R2C: Semgrep (2020). https://semgrep.dev/. Accessed 18 May 2024
Raducu, R., Esteban, G., Rodriguez Lera, F.J., Fernández, C.: Collecting vulnerable source code from open-source repositories for dataset generation. Appl. Sci. 10(4), 1270 (2020)
Ramsauer, R., Bulwahn, L., Lohmann, D., Mauerer, W.: The sound of silence: mining security vulnerabilities from secret integration channels in open-source projects. In: Proceedings of the 2020 ACM SIGSAC Conference on Cloud Computing Security Workshop, pp. 147–157. ACM, Virtual Event (2020)
SageMath: SageMath mathematical software system (2024). https://github.com/sagemath/sage. Accessed 30 Apr 2024
Shen, M., Pillai, A., Yuan, B.A., Davis, J.C., Machiry, A.: An empirical study on the use of static analysis tools in open source embedded software. arXiv preprint arXiv:2310.00205, pp. 1–14 (2023)
Smith, L.J.: Estimating security risk in open source package repositories: an empirical analysis and predictive model of software vulnerabilities. Ph.D. thesis, Capella University (2019)
Snyk: Snyk code (2020). https://snyk.io/product/snyk-code/. Accessed 27 May 2024
Talos, C.: ClamAV (2024). https://www.clamav.net/. Accessed 18 May 2024
Torvalds, L.: torvalds/linux (2023). https://github.com/torvalds/linux. Original-date 04 Sept 2011
Torvalds, L.: torvalds/linux (2024). https://github.com/torvalds/linux. Original-date 94 Sept 2011
Ven, K., Verelst, J., Mannaert, H.: Should you adopt open source software? IEEE Softw. 25(3), 54–59 (2008)
wireghoul: Graudit (2010). https://github.com/wireghoul/graudit. Accessed 18 May 2024
Xu, R., Tang, Z., Ye, G., Wang, H., Ke, X., Fang, D., Wang, Z.: Detecting code vulnerabilities by learning from large-scale open source repositories. J. Inf. Secur. Appl. 69, 103293 (2022)
Yelp: Detectsecrets (2017). https://github.com/Yelp/detect-secrets. Accessed 18 May 2024
Yin, T.: Lizard (2014). https://github.com/terryyin/lizard. Accessed 18 May 2024
Yoast: Components directory of the yoast seo wordpress plugin (2024). https://github.com/Yoast/wordpress-seo/tree/trunk/apps/components. Accessed 30 Apr 2024
Zahedi, M., Ali Babar, M., Treude, C.: An empirical study of security issues posted in open source projects. In: Proceedings of the 51st Hawaii International Conference on System Sciences (HICSS), pp. 5504–5513. IEEE, Hawaii (2018)
Acknowledgements
This research was partly supported by the National Science Foundation (NSF) under Grant CNS-2340548. Any opinions, findings, conclusions, or recommendations expressed in this material are those of the author(s) and do not necessarily reflect the views of the NSF.
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2025 The Author(s), under exclusive license to Springer Nature Switzerland AG
About this paper
Cite this paper
Hashmat, F., Aljaali, Z.A., Shen, M., Machiry, A. (2025). Insights from Running 24 Static Analysis Tools on Open Source Software Repositories. In: Patil, V.T., Krishnan, R., Shyamasundar, R.K. (eds) Information Systems Security. ICISS 2024. Lecture Notes in Computer Science, vol 15416. Springer, Cham. https://doi.org/10.1007/978-3-031-80020-7_13
Download citation
DOI: https://doi.org/10.1007/978-3-031-80020-7_13
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-031-80019-1
Online ISBN: 978-3-031-80020-7
eBook Packages: Computer ScienceComputer Science (R0)