deserialization-security

Review Java, Python, PHP, and .NET code for unsafe deserialization patterns.

Updated Mar 29, 2026
One-click install
npx skills add https://github.com/marquesfelip/agents-and-skills --skill deserialization-security
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: deserialization-security
Source: https://github.com/marquesfelip/agents-and-skills/tree/main/skills/deserialization-security
Command: npx skills add https://github.com/marquesfelip/agents-and-skills --skill deserialization-security

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

Deserialization security is a critical risk area where untrusted inputs can lead to remote code execution, data leakage, or service compromise. This skill guides engineers to identify unsafe patterns, assess format-specific risks, and implement safe deserialization practices across languages and runtimes.

Core Features & Use Cases

  • Risk-oriented deserialization review across Java, Python, PHP, and .NET services.
  • Guidance on safe formats (JSON, Protobuf, MessagePack) and strict typing.
  • Step-by-step remediation patterns, defenses, and testing approaches.
  • Use Case: Audit a microservice that consumes external payloads to ensure no gadget chains are exploitable.

Quick Start

Run a deserialization security review on a sample service to identify risky patterns and apply safe deserialization practices.

Frequently Asked Questions about deserialization-security

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
What is insecure deserialization and how does it lead to RCE?

Insecure deserialization occurs when untrusted inputs are processed into objects, allowing attackers to manipulate gadget chains for remote code execution. This risk exists in formats like Java serialization, Python pickle, and YAML unsafe load operations.

How do I prevent Python pickle and YAML deserialization vulnerabilities?

To prevent pickle and YAML deserialization vulnerabilities, replace unsafe load functions with safe alternatives like JSON or strict YAML parsers. Avoid unpickling untrusted data entirely and enforce strict typing across your Python services.

How do I audit a microservice for unsafe deserialization patterns?

Audit a microservice for unsafe deserialization by reviewing API endpoints, worker queues, and data pipelines that process external payloads. Check for vulnerable formats like .NET BinaryFormatter and Java serialization to identify exploitable gadget chains.

What are the best safe alternatives to Java serialization and .NET BinaryFormatter?

Safe alternatives to Java serialization and .NET BinaryFormatter include JSON, Protobuf, and MessagePack. These formats enforce strict typing and prevent arbitrary object instantiation, effectively mitigating remote code execution risks.

Does this deserialization security review support PHP and .NET services?

Yes, deserialization security review supports PHP and .NET services. It assesses format-specific risks across Java, Python, PHP, and .NET runtimes, providing remediation patterns and defensive controls for vulnerable configurations.

When should I not use pickle for data pipelines?

You should not use pickle for data pipelines consuming external inputs, as it allows arbitrary code execution during object reconstruction. Replace it with safe formats like JSON or MessagePack to eliminate gadget chain exploitation risks.