The Causality project

Some time ago, one of my stakeholders said, “We may never get to zero cves. How can we identify the ones that matter the most?” Annual CVE volume has since quadrupled over the past decade. Recent research continues to explore the challenges associated with vulnerability management, and the limitations of existing prioritization methodologies, such as severity, which are not always good predictors of exploitation and risk. [1] [2] EPSS, while more sophisticated and predictive, is an ongoing topic of discussion as to whether it predicts exploitability or exploitation. [3] Of the roughly forty thousand CVEs issued last year, less than a percent were added to watchlists for observed exploitation activity and we lack a methodology for targeting this subset. Having spent a good deal of time with red teams, I believe exploit selection and usage resembles tool or equipment selection in other adversarial pursuits. I would liken it to athletes choosing equipment, lawyers choosing precedents and arguments, or warfighters choosing weapons and tactics. Factors such as theaters of operations, playing fields, opponents, past experience, and bias for successful tactics used in the past, are more influential to selection than mathematical scores and metrics used by existing prioritization methodologies. 

Last year, I experimented with applying a number of machine learning models to the problem of CVE prediction and arrived at one that yielded the best results which we named CAUSALITY. This model has, at the time of this writing, produced sixty provable correct predictions. A provable prediction means that a CVE was rated “hot” or “warm” – meaning it has potential to see heavy exploitation and be watchlisted – before it was added to a watch list. The prediction lead times range between days and months. The predictions are published in a Github repo (https://github.com/opendr-io/causality) where anyone can audit them to verify we are making predictions forward in time by comparing the time deltas. The correct predictions made to date are summarized in the readme for the repo where the raw data is published. I am not publishing output there constantly, only enough to prove prognostication, as extraordinary claims require extraordinary evidence.

On the questions of sensitivity, specificity, precision and recall; I am open to suggestion. Is a prediction a false positive if it does not come true in a month? In three months? a year? The interval for the published predictions ranges from a few days to as long as 137 days. Meanwhile, the watchlists continue to upgrade CVEs from prior years, even some from the prior decade, as they are selected for weaponization by threat actors. The way I think about this is more like having an advantage in an adversarial process. If this were hockey, instead of cybersecurity, and a model could predict that most successful shots on goal would come from a subset of 8-11% of the total shots, that would increase our odds of winning the game. Prioritizing a subset of CVEs according to their potential yields a larger risk reduction at a lower cost relative to existing processes.  When exploitation cycle avoidance can be realized, where the prediction lead time is sufficient, the ROI is much higher.

CVEs have interesting differences from other data domains. CVE classification differs from malware classification in that there are no benign CVEs apart perhaps from those that have been rejected or withdrawn. They are on a gradient of risk potential, and some never amount to much of anything, but their presence cannot be considered benign. Rather, the objective is to try to identify the smallest set that yields the greatest risk reduction, and to deal with those quickly enough to avoid exploitation.

[1] https://arxiv.org/abs/2302.14172: Enhancing Vulnerability Prioritization: Data-Driven Exploit Predictions with Community-Driven Insights

[2] https://arxiv.org/pdf/2508.13644v1: Conflicting Scores, Confusing Signals: An Empirical Study of Vulnerability Scoring Systems

[3] https://www.linkedin.com/posts/resilientcyber_vulnerability-scoring-frameworks-activity-7363978158439600128-oS3t?utm_source=share&utm_medium=member_desktop&rcm=ACoAAAAZIaEBGLaE7H8r2VCTwQayr6Vq_PFIqYY,

ABOUT US

We are a group of longtime cybersecurity researchers and data scientists. You may remember us as the Github Organization named “Cyberdyne Labs.” Now that things have turned serious, we have rebranded as ‘openDR’, which is also the name of our EDR alternative tool. Over the past eighteen months, we have been focused on these projects:

CAUSALITY contains the output of a model predicting which CVEs are going to become ‘hot’ and get added to one or more watch-lists. This is the project presented at OWASP BASC. As of July, the model has made 33 correct predictions with early warning times as long as 137 days. This early wanring time allows us to actually shift “left of boom” and live our best lives. Every incident response we turn into incident avoidance gives time back to busy DevOPS teams while removing business risk.

OpenDR is a psutil based FOSS EDR alternative for Linux, MacOS and Windows. It generates most of what you would get from an EDR / OSquery like tool with lower cost of ownership and faster deployment. OpenDR can go places conventional EDR tooling can’t go because it needs only Python 3.x and pip. We are adding an AI-based threat hunting component and there are some hunting notebooks, including one that uses AI, in the project.

If you’re looking for the thing we presented at DEF CON / BLACKHAT, PROTOSTAR (originally code named ‘skynet’) this is our implementation of two things we believe 1) there are far better ways to take on the problem of alert fatigue and signal loss and 2) there are better ways to apply AI to alert processing and threat detection. PROTOSTAR uses a knowledge graph that is asymptotically efficient in polynomial time, processing tens of thousands of alerts per minute. It is effective at turning raw alert data into high signal with or without AI. Unlike many such tools, our pipelines allow for AI model processing of entire detection artifact streams at acceptable cost. Unlike many We did a release at DEF CON 2024, presented twice at Blackhat MEA, and are continuing to present at cons.

If you’re looking for the ML based cloud persistence and exfiltration hunting project presented at RSA, DUNE is a project for applying machine learning to threat hunting and detection with an initial focus on exfiltration. Most of the tools in there are FOSS but not all (we have dashboards for some popular products in addition to notebooks.)

There are also a few private projects. We’re working on a tuned model for the PROTOSTAR project and an AI based threat hunting and detection component for the OpenDR project. We’re also working on an AI based insider threat hunting and detection project. These will probably never be open sourced but please hit us up if you would like to use them: info at info at opendr dot io.