SlideShare a Scribd company logo
VCCFinder
FINDING POTENTIAL VULNERABILITIES IN OPEN-SOURCE
PROJECTS TO ASSIST CODE AUDITS
Presented by DALLA PALMA STEFANO
University of Molise
Software System Security
Henning Perl et al.
Proceedings of the 22nd ACM SIGSAC Conference on Computer and Communications Security. ACM, 2015
The enormous amount of code produced, the
lack of manpower and expertise, make
Security Audits difficult to perform
A software audit is
"An independent examination of a software product, software process, or set of
software processes to assess compliance with specifications, standards, contractual
agreements, or other criteria"[1]
[1] IEEE Std. 1028-1997, IEEE Standard for Software Reviews, clause 3.2
is a code analysis tool for finding potentially dangerous code in
code repositories. It combines code-metric analysis with metadata
gathered from code repositories to help code review teams to
prioritise their work
create a classification engine to predict which commits
are more likely to be vulnerable
It uses a machine-learning approach to
extract and combine relevant features
VCCFinder
Who wrote the code
and how it was commited
Code repositories contain a wealth of metadata which
can be highly relevant to the code quality, e.g. you can
see whether a committer is new to the project or if she is
one of the core contributors
GitHub pr jects
C/C++
66
718mapped CVEs
to
680VCCs
METHODOLOGY
Get commit known to fix a CVE
Select all CVEs containing a link to a commit
of one of the 66 projects fixing a vulnerability
as part of the "proof"
1
Get commit known to fix a CVE
Create a crawler that searches commit
messages of the 66 projects for mentions of
CVE Ids
2
Heuristics to map CVEs fixing commits to VCCs
(Vulnerability-Contributing Commits)
Ignore changes in documentation
Heuristics to map CVEs fixing commits to VCCs
(Vulnerability-Contributing Commits)
Ignore changes in documentation
For each deletion, blame the line that was deleted
git blame <file_name>
Show what revision and author last modified each line of
a file
VCCFinder: Finding Potential Vulnerabilities in Open-Source Projects to Assist Code Audits
Heuristics to map CVEs fixing commits to VCCs
(Vulnerability-Contributing Commits)
Ignore changes in documentation
For each deletion, blame the line that was deleted
For every continuous block of code inserted in the fixing commit,
blame the lines before and after the block
Heuristics to map CVEs fixing commits to VCCs
(Vulnerability-Contributing Commits)
Ignore changes in documentation
For each deletion, blame the line that was deleted
For every continuous block of code inserted in the fixing commit,
blame the lines before and after the block
Mark the commit vulnerable that was blamed most. If two commits
were blamed for the same amount of lines, blame both
Features extraction and analysis
New commiters are more likely to introduce security bugs
than frequent contributors
Longer commits may be more suspicious than shorter ones
Code that has been iterated over frequently, possibly by
many different authors, is more suspicious than code that
did't change often
Hyphoteses
Features extraction and analysis
How many commits the author has made in the project in
percent
Contributors
# commits of the author
# commits
Features extraction and analysis
The number of continuous block of changes in a diff.
This number assesses how fragmented the commit is.
Number of Hunks
Lot of changes all over the project
vs
One big change in one function
git diff <commit> <commit> <path>
Show changes between commits, commit and working
tree, etc.
VCCFinder: Finding Potential Vulnerabilities in Open-Source Projects to Assist Code Audits
Features extraction and analysis
All changes made by a commit as text represented as
a bag of words
Patches
For each patch, count the number of occurrences of
each c/c++ keywords
break char goto if int sizeof static struct return etc.
Patches keywords
Vulnerable commits Unclassified commits
Is each feature distributed indipendently or dependently
from whether the commit contained a bug or not?
Null hypothesis
Each feature is distributed independently from whether
the commit contained a bug or not
Alternative hypothesis
Each feature is distributed differently in each set, i.e.
vulnerable commits and unclassified commits
The effect size measures the percentage of pairs that support the hypothesis. For example, for the feature
additions, the vulnerable commit contains more additions than the unclassified commits in 62% of the cases
Security bugs are not commonly introduced by code
edits or refactoring
New code is a more likely entry points for
vulnerabilities
For keywords like if, int, struct, the vulnerable commit contains more ifs, ints,
structs than the unclassified commits in around 70% of the cases
LEARNING-BASED DETECTION
Generality Scalability Explainability
Need for a classifier
capable of jointly
analyzing both numerical
code metrics and
structured metadata
Need for a very efficient
algorithm to analyze
large code repositories
and huge number of
features
Need for a human
comprehensible
explanation as to why a
commit is flagged
The construction of a learning-based classifier poses several
challenges that need to be addressed to make the approach
useful in practice
Generalized bag-of-words models
Consider a generic set of token S.
This set contain textual words from commit messages as well as keywords, identifiers
and other tokens from the code of a commit. These tokens have been obtained by
splitting the commit message and its code using spaces and newlines.
Define the mapping φ from a commit to a vector space as
𝛟 ∶ 𝑿 → 𝐑|𝑺|
, 𝛟: 𝒙 → 𝒃 𝒙, 𝒔 𝒔∈𝑺
where 𝑋 is the set of all commits, and 𝑥 ∈ 𝑋 an individual commit to be embedded in
the vector space
𝑏 𝑥, 𝑠 = ቊ
1 𝑖𝑓 𝑡𝑜𝑘𝑒𝑛 𝑠 𝑖𝑠 𝑐𝑜𝑛𝑡𝑎𝑖𝑛𝑒𝑑 𝑖𝑛 𝑥
0 𝑜𝑡ℎ𝑒𝑟𝑤𝑖𝑠𝑒
Example
Lets consider a fictitious commit x, where a patch has been written
by a user who did not contribute to a project before. The
committed patch is written in C and contains a call to an API
function which is associated with a buffer write operation. The
corresponding vector representation of the commit x looks as follow
…
𝟏
0
…
𝟏
0
…
𝜙 𝑥 →
AUTHOR_CONTRIBUTION: 0.0
AUTHOR_CONTRIBUTION: 10.0
. . .
buf_write_func();
some_other_func();
. . .
We can use the hyperplane vector
w for explaining the decisions of
our classifier
By calculating the inner product
between 𝝋 𝒙 and the vector w, we
obtain a score which describes the
distance from x to the hyperplane;
that is, how likely the commit
introduces a vulnerability
𝑓 𝑥 = 𝜑 𝑥 , 𝑤 = ෍
𝑠 𝜖 𝑆
𝑤𝑠 𝑏(𝑥, 𝑠)
Linear SVM
EVALUATION and RESULTS
How is the dataset splitted between training data and test data?
Testing set contains all commits data up from 2011 to 2014
Training set contains all commits data up until 31st of December 2010
Detection performance of VCCFinder using
different feature sets
Combining different features is BENEFICIAL for finding
VCCs
FlawFinder is a static source code scanner that scans C/C++
source code for calls to typical vulnerable library functions
Typical error types found:
• Calls to library functions creating buffer overflow vulnerabilities (gets, strcpy, sprintf, ...)
• Calls to library functions potentially vulnerable to string formatting attacks
(sprintf, printf, ...)
• Potential race conditions in file handling
When given a source file, FlawFinder returns lines with
suspected vulnerabilities
Comparison of the tools in three different cases: setting the same recall, same number of false
positive, and same precision
99%
The percentage of VCCFinder false positive
rate improvement with respect to Flawfinder
90%
VCCFinder finds almost 90% of all VCCs
compared to Flawfinder’s 24%
VCCFinder outperforms FlawFinder by huge margin in
terms of precision and recall
CASE STUDY
CVE-2013-0862
A commit in FFmpeg introduces multiple integer overflow in the process_frame_obj
function in libavcodec/sanm.c before 1.1.2 that allow remote attackers to have an
unspecified impact via crafted image dimensions in LucasArts Smush video data,
which triggers an out-of-bounds array access
The SVM detected that the author contributed little to
the project before as well as that the commit inserted a
large chunk of code at once.
1
CVE-2012-2119
A commit includes a buffer overflow in the macvtap device driver in the Linux Kernel
before 3.4.5, when running in certain configurations, allows privileged KVM guest
users to cause a denial of service via a long description with a long vector length
The SVM detected the commit because of the edited
file’s high code churn, and because the author made
few contributions to the Kernel
2
LIMITATIONS
Is VCCFinder able to detect VCCs on projects that
have not received any CVE
How many real vulnerabilities there are in the
annotated database
VCCFinder
FINDING POTENTIAL VULNERABILITIES IN OPEN-SOURCE PROJECTS TO ASSIST CODE AUDITS
DALLA PALMA STEFANO
University of Molise
Software System Security
QUESTIONS?

More Related Content

PDF
An Empirical Study on Bounded Model Checking
PPTX
Linux binary analysis and exploitation
PDF
Analysis of PascalABC.NET using SonarQube plugins: SonarC# and PVS-Studio
PPTX
ACSAC2016: Code Obfuscation Against Symbolic Execution Attacks
PDF
Software Security - Static Analysis Tools
PDF
Presentation slides: "How to get 100% code coverage"
PDF
Code coverage & tools
PDF
Node.js security tour
An Empirical Study on Bounded Model Checking
Linux binary analysis and exploitation
Analysis of PascalABC.NET using SonarQube plugins: SonarC# and PVS-Studio
ACSAC2016: Code Obfuscation Against Symbolic Execution Attacks
Software Security - Static Analysis Tools
Presentation slides: "How to get 100% code coverage"
Code coverage & tools
Node.js security tour

What's hot (20)

PPTX
Secure application programming in the presence of side channel attacks
PDF
Looking for Bugs in MonoDevelop
PDF
The Last Line Effect
PDF
Python - code quality and production monitoring
PDF
M phil-computer-science-cryptography-projects
PDF
Cryptography IEEE 2015 Projects
PDF
Accurately detecting source code of attacks that increase privilege
PPTX
Python code profiling - Jackson Isaac
PPT
16 implementation techniques
PDF
Cryptography IEEE 2015 Projects
PPT
Finding Diversity In Remote Code Injection Exploits
PDF
IRJET- Penetration Testing using Metasploit Framework: An Ethical Approach
PPTX
Towards Automated Supports for Code Reviews using Reviewer Recommendation and...
PDF
Vulnerability Analysis Taxonomy Achieving Completeness In A Systematic Way
PDF
Improving the accuracy and reliability of data analysis code
PDF
Global DSL workshop slides
PDF
Applying the Scientific Method to Simulation Experiments
PDF
Intrusion Alert Correlation
PDF
[論文紹介] VCC-Finder: Finding Potential Vulnerabilities in Open-Source Projects ...
PDF
LDTT : A Low Level Driver Unit Testing Tool
Secure application programming in the presence of side channel attacks
Looking for Bugs in MonoDevelop
The Last Line Effect
Python - code quality and production monitoring
M phil-computer-science-cryptography-projects
Cryptography IEEE 2015 Projects
Accurately detecting source code of attacks that increase privilege
Python code profiling - Jackson Isaac
16 implementation techniques
Cryptography IEEE 2015 Projects
Finding Diversity In Remote Code Injection Exploits
IRJET- Penetration Testing using Metasploit Framework: An Ethical Approach
Towards Automated Supports for Code Reviews using Reviewer Recommendation and...
Vulnerability Analysis Taxonomy Achieving Completeness In A Systematic Way
Improving the accuracy and reliability of data analysis code
Global DSL workshop slides
Applying the Scientific Method to Simulation Experiments
Intrusion Alert Correlation
[論文紹介] VCC-Finder: Finding Potential Vulnerabilities in Open-Source Projects ...
LDTT : A Low Level Driver Unit Testing Tool
Ad

Similar to VCCFinder: Finding Potential Vulnerabilities in Open-Source Projects to Assist Code Audits (20)

PDF
20100309 03 - Vulnerability analysis (McCabe)
PPT
Just-in-time Detection of Protection-Impacting Changes on WordPress and Media...
PDF
PVS-Studio Static Analyzer as a Tool for Protection against Zero-Day Vulnerab...
PDF
csmalware_malware
PDF
Vulnerability Detection Based on Git History
PPTX
Find Out What's New With WhiteSource May 2018- A WhiteSource Webinar
PDF
Measuring Your Code
PPTX
The-Vulnerabldde-Algorithm-Hit-List.pptx
PDF
Serhiy Kalinets "Building Service Mesh with .NET Core"
PPTX
Debugging Microservices - QCON 2017
PPTX
Continuous Integration and development environment approach
PDF
HPX and PVS-Studio
PDF
Effectiveness of AV in Detecting Web Application Backdoors
PDF
Finding Bugs, Fixing Bugs, Preventing Bugs — Exploiting Automated Tests to In...
PPTX
Just-in-time Detection of Protection-Impacting Changes on WordPress and Media...
DOCX
robust malware detection for iot devices using deep eigen space learning
PPT
Parasoft .TEST, Write better C# Code Using Data Flow Analysis
PDF
Ijetr012045
PPT
4.Security Assessment And Testing
PDF
Binary code obfuscation through c++ template meta programming
20100309 03 - Vulnerability analysis (McCabe)
Just-in-time Detection of Protection-Impacting Changes on WordPress and Media...
PVS-Studio Static Analyzer as a Tool for Protection against Zero-Day Vulnerab...
csmalware_malware
Vulnerability Detection Based on Git History
Find Out What's New With WhiteSource May 2018- A WhiteSource Webinar
Measuring Your Code
The-Vulnerabldde-Algorithm-Hit-List.pptx
Serhiy Kalinets "Building Service Mesh with .NET Core"
Debugging Microservices - QCON 2017
Continuous Integration and development environment approach
HPX and PVS-Studio
Effectiveness of AV in Detecting Web Application Backdoors
Finding Bugs, Fixing Bugs, Preventing Bugs — Exploiting Automated Tests to In...
Just-in-time Detection of Protection-Impacting Changes on WordPress and Media...
robust malware detection for iot devices using deep eigen space learning
Parasoft .TEST, Write better C# Code Using Data Flow Analysis
Ijetr012045
4.Security Assessment And Testing
Binary code obfuscation through c++ template meta programming
Ad

More from Stefano Dalla Palma (10)

PDF
Design for Testability
PDF
Introduction to Mutation Testing
PDF
Artificial Neural Networks
PDF
Decision Tree learning
PDF
Introduction to Machine Learning with examples in R
PDF
Introduction to Machine Learning concepts
PDF
Apache Mahout Architecture Overview
PDF
UML, ER and Dimensional Modelling
PPTX
Detecting controversy in microposts: an approach based on word similarity wit...
PDF
Prolog in a nutshell
Design for Testability
Introduction to Mutation Testing
Artificial Neural Networks
Decision Tree learning
Introduction to Machine Learning with examples in R
Introduction to Machine Learning concepts
Apache Mahout Architecture Overview
UML, ER and Dimensional Modelling
Detecting controversy in microposts: an approach based on word similarity wit...
Prolog in a nutshell

Recently uploaded (20)

PPTX
Operating system designcfffgfgggggggvggggggggg
PDF
2025 Textile ERP Trends: SAP, Odoo & Oracle
PDF
Internet Downloader Manager (IDM) Crack 6.42 Build 41
PDF
Internet Downloader Manager (IDM) Crack 6.42 Build 42 Updates Latest 2025
PDF
System and Network Administration Chapter 2
PDF
How to Choose the Right IT Partner for Your Business in Malaysia
PDF
Understanding Forklifts - TECH EHS Solution
PDF
T3DD25 TYPO3 Content Blocks - Deep Dive by André Kraus
PPTX
Transform Your Business with a Software ERP System
PDF
Wondershare Filmora 15 Crack With Activation Key [2025
PDF
SAP S4 Hana Brochure 3 (PTS SYSTEMS AND SOLUTIONS)
PDF
Design an Analysis of Algorithms I-SECS-1021-03
PDF
Audit Checklist Design Aligning with ISO, IATF, and Industry Standards — Omne...
PPTX
Essential Infomation Tech presentation.pptx
PDF
Which alternative to Crystal Reports is best for small or large businesses.pdf
PPTX
ai tools demonstartion for schools and inter college
PDF
System and Network Administraation Chapter 3
PPTX
Agentic AI : A Practical Guide. Undersating, Implementing and Scaling Autono...
PDF
How Creative Agencies Leverage Project Management Software.pdf
PDF
Digital Strategies for Manufacturing Companies
Operating system designcfffgfgggggggvggggggggg
2025 Textile ERP Trends: SAP, Odoo & Oracle
Internet Downloader Manager (IDM) Crack 6.42 Build 41
Internet Downloader Manager (IDM) Crack 6.42 Build 42 Updates Latest 2025
System and Network Administration Chapter 2
How to Choose the Right IT Partner for Your Business in Malaysia
Understanding Forklifts - TECH EHS Solution
T3DD25 TYPO3 Content Blocks - Deep Dive by André Kraus
Transform Your Business with a Software ERP System
Wondershare Filmora 15 Crack With Activation Key [2025
SAP S4 Hana Brochure 3 (PTS SYSTEMS AND SOLUTIONS)
Design an Analysis of Algorithms I-SECS-1021-03
Audit Checklist Design Aligning with ISO, IATF, and Industry Standards — Omne...
Essential Infomation Tech presentation.pptx
Which alternative to Crystal Reports is best for small or large businesses.pdf
ai tools demonstartion for schools and inter college
System and Network Administraation Chapter 3
Agentic AI : A Practical Guide. Undersating, Implementing and Scaling Autono...
How Creative Agencies Leverage Project Management Software.pdf
Digital Strategies for Manufacturing Companies

VCCFinder: Finding Potential Vulnerabilities in Open-Source Projects to Assist Code Audits

  • 1. VCCFinder FINDING POTENTIAL VULNERABILITIES IN OPEN-SOURCE PROJECTS TO ASSIST CODE AUDITS Presented by DALLA PALMA STEFANO University of Molise Software System Security Henning Perl et al. Proceedings of the 22nd ACM SIGSAC Conference on Computer and Communications Security. ACM, 2015
  • 2. The enormous amount of code produced, the lack of manpower and expertise, make Security Audits difficult to perform A software audit is "An independent examination of a software product, software process, or set of software processes to assess compliance with specifications, standards, contractual agreements, or other criteria"[1] [1] IEEE Std. 1028-1997, IEEE Standard for Software Reviews, clause 3.2
  • 3. is a code analysis tool for finding potentially dangerous code in code repositories. It combines code-metric analysis with metadata gathered from code repositories to help code review teams to prioritise their work create a classification engine to predict which commits are more likely to be vulnerable It uses a machine-learning approach to extract and combine relevant features VCCFinder
  • 4. Who wrote the code and how it was commited Code repositories contain a wealth of metadata which can be highly relevant to the code quality, e.g. you can see whether a committer is new to the project or if she is one of the core contributors
  • 8. Get commit known to fix a CVE Select all CVEs containing a link to a commit of one of the 66 projects fixing a vulnerability as part of the "proof" 1
  • 9. Get commit known to fix a CVE Create a crawler that searches commit messages of the 66 projects for mentions of CVE Ids 2
  • 10. Heuristics to map CVEs fixing commits to VCCs (Vulnerability-Contributing Commits) Ignore changes in documentation
  • 11. Heuristics to map CVEs fixing commits to VCCs (Vulnerability-Contributing Commits) Ignore changes in documentation For each deletion, blame the line that was deleted
  • 12. git blame <file_name> Show what revision and author last modified each line of a file
  • 14. Heuristics to map CVEs fixing commits to VCCs (Vulnerability-Contributing Commits) Ignore changes in documentation For each deletion, blame the line that was deleted For every continuous block of code inserted in the fixing commit, blame the lines before and after the block
  • 15. Heuristics to map CVEs fixing commits to VCCs (Vulnerability-Contributing Commits) Ignore changes in documentation For each deletion, blame the line that was deleted For every continuous block of code inserted in the fixing commit, blame the lines before and after the block Mark the commit vulnerable that was blamed most. If two commits were blamed for the same amount of lines, blame both
  • 16. Features extraction and analysis New commiters are more likely to introduce security bugs than frequent contributors Longer commits may be more suspicious than shorter ones Code that has been iterated over frequently, possibly by many different authors, is more suspicious than code that did't change often Hyphoteses
  • 17. Features extraction and analysis How many commits the author has made in the project in percent Contributors # commits of the author # commits
  • 18. Features extraction and analysis The number of continuous block of changes in a diff. This number assesses how fragmented the commit is. Number of Hunks Lot of changes all over the project vs One big change in one function
  • 19. git diff <commit> <commit> <path> Show changes between commits, commit and working tree, etc.
  • 21. Features extraction and analysis All changes made by a commit as text represented as a bag of words Patches For each patch, count the number of occurrences of each c/c++ keywords break char goto if int sizeof static struct return etc. Patches keywords
  • 22. Vulnerable commits Unclassified commits Is each feature distributed indipendently or dependently from whether the commit contained a bug or not?
  • 23. Null hypothesis Each feature is distributed independently from whether the commit contained a bug or not Alternative hypothesis Each feature is distributed differently in each set, i.e. vulnerable commits and unclassified commits
  • 24. The effect size measures the percentage of pairs that support the hypothesis. For example, for the feature additions, the vulnerable commit contains more additions than the unclassified commits in 62% of the cases
  • 25. Security bugs are not commonly introduced by code edits or refactoring New code is a more likely entry points for vulnerabilities
  • 26. For keywords like if, int, struct, the vulnerable commit contains more ifs, ints, structs than the unclassified commits in around 70% of the cases
  • 28. Generality Scalability Explainability Need for a classifier capable of jointly analyzing both numerical code metrics and structured metadata Need for a very efficient algorithm to analyze large code repositories and huge number of features Need for a human comprehensible explanation as to why a commit is flagged The construction of a learning-based classifier poses several challenges that need to be addressed to make the approach useful in practice
  • 29. Generalized bag-of-words models Consider a generic set of token S. This set contain textual words from commit messages as well as keywords, identifiers and other tokens from the code of a commit. These tokens have been obtained by splitting the commit message and its code using spaces and newlines. Define the mapping φ from a commit to a vector space as 𝛟 ∶ 𝑿 → 𝐑|𝑺| , 𝛟: 𝒙 → 𝒃 𝒙, 𝒔 𝒔∈𝑺 where 𝑋 is the set of all commits, and 𝑥 ∈ 𝑋 an individual commit to be embedded in the vector space 𝑏 𝑥, 𝑠 = ቊ 1 𝑖𝑓 𝑡𝑜𝑘𝑒𝑛 𝑠 𝑖𝑠 𝑐𝑜𝑛𝑡𝑎𝑖𝑛𝑒𝑑 𝑖𝑛 𝑥 0 𝑜𝑡ℎ𝑒𝑟𝑤𝑖𝑠𝑒
  • 30. Example Lets consider a fictitious commit x, where a patch has been written by a user who did not contribute to a project before. The committed patch is written in C and contains a call to an API function which is associated with a buffer write operation. The corresponding vector representation of the commit x looks as follow … 𝟏 0 … 𝟏 0 … 𝜙 𝑥 → AUTHOR_CONTRIBUTION: 0.0 AUTHOR_CONTRIBUTION: 10.0 . . . buf_write_func(); some_other_func(); . . .
  • 31. We can use the hyperplane vector w for explaining the decisions of our classifier By calculating the inner product between 𝝋 𝒙 and the vector w, we obtain a score which describes the distance from x to the hyperplane; that is, how likely the commit introduces a vulnerability 𝑓 𝑥 = 𝜑 𝑥 , 𝑤 = ෍ 𝑠 𝜖 𝑆 𝑤𝑠 𝑏(𝑥, 𝑠) Linear SVM
  • 33. How is the dataset splitted between training data and test data? Testing set contains all commits data up from 2011 to 2014 Training set contains all commits data up until 31st of December 2010
  • 34. Detection performance of VCCFinder using different feature sets Combining different features is BENEFICIAL for finding VCCs
  • 35. FlawFinder is a static source code scanner that scans C/C++ source code for calls to typical vulnerable library functions Typical error types found: • Calls to library functions creating buffer overflow vulnerabilities (gets, strcpy, sprintf, ...) • Calls to library functions potentially vulnerable to string formatting attacks (sprintf, printf, ...) • Potential race conditions in file handling When given a source file, FlawFinder returns lines with suspected vulnerabilities
  • 36. Comparison of the tools in three different cases: setting the same recall, same number of false positive, and same precision
  • 37. 99% The percentage of VCCFinder false positive rate improvement with respect to Flawfinder 90% VCCFinder finds almost 90% of all VCCs compared to Flawfinder’s 24%
  • 38. VCCFinder outperforms FlawFinder by huge margin in terms of precision and recall
  • 40. CVE-2013-0862 A commit in FFmpeg introduces multiple integer overflow in the process_frame_obj function in libavcodec/sanm.c before 1.1.2 that allow remote attackers to have an unspecified impact via crafted image dimensions in LucasArts Smush video data, which triggers an out-of-bounds array access The SVM detected that the author contributed little to the project before as well as that the commit inserted a large chunk of code at once. 1
  • 41. CVE-2012-2119 A commit includes a buffer overflow in the macvtap device driver in the Linux Kernel before 3.4.5, when running in certain configurations, allows privileged KVM guest users to cause a denial of service via a long description with a long vector length The SVM detected the commit because of the edited file’s high code churn, and because the author made few contributions to the Kernel 2
  • 43. Is VCCFinder able to detect VCCs on projects that have not received any CVE
  • 44. How many real vulnerabilities there are in the annotated database
  • 45. VCCFinder FINDING POTENTIAL VULNERABILITIES IN OPEN-SOURCE PROJECTS TO ASSIST CODE AUDITS DALLA PALMA STEFANO University of Molise Software System Security QUESTIONS?