frohoff/ysoserial

A proof-of-concept tool for generating payloads that exploit unsafe Java object deserialization.

View on GitHub ↗Jump to charts ↓

Summary Information

Updated 6 minutes ago
Added to GitGenius on September 7th, 2026
Created on January 28th, 2015
Open Issues & Pull Requests: 47 (+0)
GitHub issues: Enabled
Number of forks: 1,861
Total Stargazers: 9,047 (+0)
Total Subscribers: 219 (+0)

Repository Insights (GitGenius)

Median issue/PR response: 76.9 days
Mean response time: 223.9 days
90th percentile: 894.8 days
Tracked items: 5

Charts & Analytics

Fetching additional details & charts...

Issue Activity (beta)

Open issues: 7
New in 7 days: 0
Closed in 7 days: 0
Avg open age: 779 days
Stale 30+ days: 7
Stale 90+ days: 7

Recent activity

Opened in 7 days: 0
Closed in 7 days: 0
Comments in 7 days: 0
Events in 7 days: 0

Top labels

  • enhancement (1)

Most active issues this week

No issue events were indexed in the last 7 days.

Detailed Description

ysoserial is a proof-of-concept tool for generating payloads that exploit unsafe Java object deserialization.

The tool addresses the security risk posed by Java applications that deserialize untrusted data without proper validation. It works by discovering and chaining together property-oriented programming gadgets found in common Java libraries—sequences of method calls that can be triggered during deserialization to execute arbitrary commands. A user specifies a command and selects a gadget chain, and the tool serializes these into a payload that, when deserialized by a vulnerable application with the required libraries on its classpath, automatically executes that command on the target host. The tool includes gadget chains for libraries such as Apache Commons Collections, Spring Beans and Core, Groovy, and JRE versions up to 1.7u21.

This tool is intended for security researchers, penetration testers, and developers building defensive mechanisms against deserialization attacks. It is most useful for understanding how unsafe deserialization vulnerabilities can be exploited and for testing whether applications properly validate serialized input. The tool makes clear that the vulnerability resides in the application's unsafe deserialization practices, not in the mere presence of gadget libraries on the classpath. Users should be aware that this is explicitly a proof-of-concept and research tool, and the project includes a disclaimer that it is intended only for authorized security testing and academic research.

The project maintains a focused scope on gadget chain discovery and payload generation for Java deserialization exploitation. Development activity shows sustained attention to identifying new gadget chains across different library versions and maintaining compatibility with Java environments.