Diving Deep into AI with open-appsec: A Personal Journey of Discovery and Growth
Tags: machinelearning, opensource, cybersecurity, webappsecurity
Published: 2023-10-19 18:26:43

A few months ago, I began my exploration with **open-appsec**, an open-source web application firewall (WAF) that's not just about safeguarding web apps but is deeply rooted in the world of machine learning (ML). As an ambassador for open-appsec, I've had the privilege of witnessing firsthand how this project is pushing the boundaries of ML in cybersecurity. A recent [article](https://www.openappsec.io/post/deep-dive-into-open-appsec-machine-learning-technology) provided a comprehensive deep dive into the ML technology behind open-appsec, offering insights that have been both enlightening and transformative for me.

**open-appsec's ML Magic**

The article beautifully breaks down how open-appsec uses ML to analyze and classify every connection request sent to a web server. Here's a closer look at the three-phase strategy:

![three-phase strategy](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/0xfvb74rrog37i3a31vu.png)


1. **Payload Decoding:** 
   - This is the initial step where data received over the network is presented in a consistent form.
   - open-appsec examines all aspects of the HTTP request, ensuring that the data is not just taken at face value but is thoroughly parsed and normalized.
   - By using specialized parsers, open-appsec can handle common protocols and extract the most relevant information from the HTTP request.

2. **Attack Indicators:** 
   - Once the data is decoded and normalized, it's time to identify potential threats.
   - The parsed payload is sent to an ML engine that evaluates it for any indicators of malicious activity.
   - This pre-trained ML model identifies attack indicators and provides a rating of the received data based on its potential harm.

3. **Contextual Evaluation Engine:** 
   - This is where open-appsec truly shines. Instead of just relying on the initial analysis, it goes a step further.
   - Using a weighted function, a confidence score is assigned to the request. This score is based on various factors like the reputation of the request source, understanding the application's behavior, and even measuring false detection rates.
   - An optional module also allows administrators to provide input, ensuring that the system is continuously learning and adapting to new threats.

**The Learning Levels of open-appsec**

![The Learning Levels of open-appsec](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/f088nqyf8opwn1kiys8x.png)


As the model learns and evolves, it progresses through various maturity levels, from 'kindergarten' to 'PhD'. This progression serves as a guide for administrators, with each level bringing new challenges and achievements.

**The Flexibility of Open Source Learning**

Diving into open-appsec's codebase and articles offers unparalleled flexibility. The open-source nature of the project means I'm not just a passive consumer of information; I'm an active participant, collaborator, and contributor.

**A Personal Takeaway**

With open-appsec, I've found a platform that allows me to delve deep into the intricacies of ML while also being part of a vibrant community that's shaping the future of cybersecurity. I highly recommend diving into the [deep-dive article](https://www.openappsec.io/post/deep-dive-into-open-appsec-machine-learning-technology) on open-appsec's ML technology for anyone keen on understanding the practical applications of ML in the real world.