Ask HN: Most comprehensive CVE database?
Has there been any attempt at making the most comprehensive CVE database possible?
Specifically, data I would be interested in for each CVE, where available:
1) The source diff of the patch applied to fix the vulnerability, i.e. the "before/after" of the critical section of code
2) The bindiff of the binary before and after patching the vulnerability
Is this available anywhere?
The reason I ask is because I think this could lend itself to a really cool machine learning system for identifying unknown vulnerabilities. The trick would be to use the code from previous vulnerabilities to determine what "vulnerable" code looks like, and then find code similar to it.
rough idea:
DATA COLLECTION PHASE:
1) Collect the before/after code of all previous vulnerabilities
2) Use the before/after code to identify the "critical section" that caused the vulnerability
3) Convert the "critical section" to its AST representation
TRAINING PHASE:
1) Determine the best ML algorithms to use for comparing AST representations
2) Using labeled inputs of "vulnerable" and "safe" AST representations, train the ML system to recognize a "vulnerable" AST
IDENTIFICATION OF NEW VULNERABILITIES PHASE:
1) Download open source code bases
2) Somehow prioritize which code to convert to AST
3) Convert code to AST and feed to ML system to determine likelihood of "vulnerability"
4) Apply some combination of static and manual analysis to verify the vulnerability
5) Use results as further feedback to train the ML system
Is anyone familiar with something like this existing?