Netflix this week released an in-house developed tool for discovering cross-site scripting (XSS) vulnerabilities in applications and for scanning secondary software programs for potential XSS flaws.
Called Sleepy Puppy, the tool was released to the open-source community as an XSS payload management framework that can provide security engineers with a way to capture, manage and track XSS propagation over long periods of time over numerous testing sessions.
Sleepy Puppy offers an API for users interested in creating plugins for scanners such as Burp or Zap and also includes a number of payloads, an assessment feature, and PuppyScripts—a Java-based script that collects metadata such as URL, cookies, DOM, user-agent, referrer header, and a screenshot of the application where the payload executed.
The framework delivers information to help testers identify and resolve vulnerabilities in applications, while helping them trace all the applications a payload that propagates through the network has executed in.
The tool can be used in more advanced scenarios as well, allowing engineers to chain multiple PuppyScripts together and even to capture arbitrary data from any input source through the and a generic collector model.
Scott Behrens and Patrick Kelly, the developers behind Sleepy Puppy, explain in a blog post that the framework is highly configurable and provides engineers with the possibility to tailor payloads and PuppyScripts in line with their needs, while also offering them the possibility to categorize payloads and to receive email notifications as soon as delayed XSS events are triggered.
“Sleepy Puppy is helping the Netflix security team identify XSS propagation through a number of systems even when those systems aren’t assessed directly. We hope that the open source community can find new and interesting uses for Sleepy Puppy, and use it to simplify their XSS testing and improve remediation times,” Behrens and Kelly noted.
Cross-site scripting has been on the OWASP Top 10 vulnerabilities list for over a decade and mitigating controls to prevent XSS continues to be a struggle for developers, although tools that can identify XSS in target application or which cover testing for delayed XSS attacks do exist. A recent report (pdf) from WhiteHat Security suggests that there is a 47% chance for a web application to include one or more XSS vulnerabilities.