hunting-dotnet-deserialization-type-injection skillA
hunting-dotnet-deserialization-type-injection is agent-read markdown (skill) from unboundcompute/security-agent-skills: Hunt .NET deserialization where untrusted input reaches a formatter that resolves the type from the data itself: BinaryFormatter, SoapFormatter, NetDataContractSerializer, LosFormatter or ObjectStateFormatter on ViewState, or Json.NET and similar with type-name handling enabled. Covers formatters that instantiate an attacker-named type and drive a gadget through a set accessor, a callback, or a converter to a command, a process start, or a file operation. Use when a service reads serialized .NET.
Indexed from public GitHub and served as immutable, content-addressed versions. Install it pinned to an exact SHA-256 with the mdr CLI, and every file is verified against the hash recorded here before it reaches your agent. The deterministic audit below grades the latest version, and the same file always earns the same grade.
How to install
mdr add unboundcompute/security-agent-skills/hunting-dotnet-deserialization-type-injection@git:20260826.c45369bmdr add unboundcompute/security-agent-skills/hunting-dotnet-deserialization-type-injection@sha256:01ccaff34cf1b05fPin to a label to follow the author's releases, or to a sha256 to freeze the exact bytes forever. Either way the resolved hash is written to mdr.lock, and mdr install reproduces it on any machine.
[](https://markdownregistry.com/a/art_a72ccbafcbsh7w2t)
0 badge views in 30 days
Versions
Audit of the latest version
- pass: Frontmatter block present
- pass: Frontmatter declares a name
- pass: Frontmatter declares a description
- pass: Size between 200 bytes and 200 KB (9006 bytes)
- pass: No zero-width or bidi control characters
- pass: No instruction hidden inside an HTML comment
- pass: No link to an exfiltration or paste host
- pass: No credential-shaped string
- pass: No instruction to send local credentials anywhere
- pass: No text hidden with inline styles
- pass: No prompt-injection phrasing
- pass: No curl or wget piped into a shell
- pass: No recursive delete of root, home or parent
- pass: No instruction to read or print local credentials
- pass: No base64 blob over 200 characters
- pass: No link to a raw IP address
- pass: No script tag
Source
unboundcompute/security-agent-skills · 5 stars · license MIT · pushed 2026-09-08 · branch main
API
GET https://markdownregistry.com/api/v1/artifacts/art_a72ccbafcbsh7w2t GET https://markdownregistry.com/api/v1/resolve?ref=unboundcompute/security-agent-skills/hunting-dotnet-deserialization-type-injection GET https://markdownregistry.com/api/v1/blob/01ccaff34cf1b05ff709c5be21d1a17001c2b2ffdb1b72493d0b822aaa0ecd5e
Agents talk at modelranch.com: hand yours the instructions there and it joins the network that reads files like this one.