Hey everyone,
I’m a 2nd-year engineering student at Sup'Com in Tunisia, and I just finished an internship project built on top of ZAP that I thought might be interesting to share here.
It’s a Python middleware that tries to automatically weed out Reflected XSS false positives. It takes ZAP's JSON report, replays the payloads, and confirms actual JS execution using Playwright. From there, it passes the evidence through a Random Forest model to flag false positives (cleared out about 30% of them on my test dataset) and uses a local LLM to write a quick explanation of why a finding was flagged.
Right now it’s strictly focused on Reflected XSS—I ran into some tricky state and timing issues when experimenting with DOM and Stored XSS, so I left those out for now. While this prototype is written in Python, I'm comfortable in Java as well and would love to look into porting these validation ideas over to a native ZAP Add-on or aligning them with your ongoing LLM work.
Here’s the repo if anyone's curious to look at the code: https://github.com/FediJlassi/xss-validator
I would love any feedback from the core team on my approach, or if there are any specific AI-related issues I could help contribute to. Glad to be here!
Best,
Fedi
Hi everyone, I have a question about Zed Attack Proxy that isn't related to the Reflected XSS topic in the email I received, but it motivated me to ask about an experience I had using ZAP.
I completed a PortSwigger lab on the Server-Side Vulnerabilities module, specifically on File Upload - WebShell, and the instructions in the lab were for Burp Suite. Using Zed Attack Proxy didn't yield the same results. The instructions called for using the parameter alteration function in the file extension containing the malicious script, thus bypassing the limited security barrier, making the webshell file accepted as a valid file. However, Zed Attack Proxy doesn't allow sending the file after resending the request with the malicious script altering its extension within the POST request metadata to upload it. Within this context, I needed to change the file extension before uploading it, and I couldn't quite understand why the intercept, resend, and edit request functions of Zed Attack Proxy work differently from Brup Suite. Could someone help me understand this?
I work as an Information Security and Infrastructure Analyst and also as a Back-end developer for a SaaS startup in the delivery sector in Brazil, and I would like to expand my skills and network by following and contributing to the community! Best regards to all!
My LinkedIn: https://www.linkedin.com/in/matheus-mbo/