offensive-vuln-classes
Automate repetitive workflows and reduce manual effort
Example: Generate reports, summarize documents, draft communications
Save 3-5 hours per week on routine tasks
Learn new skills, understand complex topics, get expert guidance
Example: Explain concepts, provide examples, suggest learning resources
Accelerate learning and skill development by 2x
Enhance output quality through reviews, suggestions, and refinements
Example: Review drafts, suggest improvements, catch errors
Improve work quality by 30-40% with less effort
Time estimate: 15-45 minutes depending on use case complexity
Prerequisites
Submit your Claude Code skill and start earning
epx add SnailSploit/Claude-Red --skill offensive-vuln-classesCompatible with
Supported agents
- **Skill Name**: vulnerability-classes
Practical, repeatable guidance for authorized security work.
Includes procedures, checks, and references for this skill.
Exploit development curriculum covering core vulnerability classes with real-world CVE case studies: stack/heap buffer overflows, use-after-free, integer overflows, format strings, type confusion, and race conditions. Use when learning or teaching vuln classes, researching specific CVE patterns, or building exploit dev knowledge.
Use this skill when the conversation involves any of:
vulnerability classes, buffer overflow, use-after-free, UAF, heap overflow, stack overflow, type confusion, integer overflow, format string, memory corruption, CVE case study, exploit development, Day 1-7
When this skill is active:
created by AnotherOne from @Pwn3rzs Telegram channel.
This document is Week 1 of a multi‑week exploit development course, focusing on core vulnerability classes and real‑world exploitation context.
Next Week we'll focus on using fuzzing to identify new vulnerabilites and in week 3 we'll focus on using patch diffing to find n-days
What It Is: A stack overflow occurs when a program writes more data to a buffer located on the stack than it can hold, causing adjacent memory to be overwritten. This can corrupt important data like return addresses, allowing attackers to redirect program execution.
Case Study - CVE-2024-27130 (QNAP QTS/QuTS hero Stack Overflow):
strcpy() were used to copy user-supplied input into fixed-size stack buffers without proper size validation. The vulnerabilities affected the web administration interface and file handling components. POCWhat It Is: A use-after-free vulnerability occurs when a program continues to use a pointer after the memory it points to has been freed. This creates a "dangling pointer" that can be exploited by carefully controlling heap allocations to place attacker-controlled data where the freed object once lived.
Case Study - CVE-2024-2883 (Chrome ANGLE Use-After-Free):
What It Is: Similar to stack overflows, heap overflows occur when a program writes beyond the boundaries of a dynamically allocated buffer on the heap. Instead of corrupting stack frames, heap overflows typically corrupt heap metadata or adjacent objects, leading to memory corruption when the heap allocator later processes the corrupted structures.
Case Study - CVE-2023-4863 (libWebP Heap Buffer Overflow):
BuildHuffmanTable() function. When parsing specially crafted WebP images with malformed Huffman coding data, the function would write beyond the allocated buffer boundaries. POCBuildHuffmanTable(). Chrome 116.0.5845.187, Firefox 117.0.1, and other affected software released emergency patches.What It Is: Reading past buffer bounds without modifying memory. Frequently used to leak pointers, object metadata, and kernel layout to defeat KASLR and build arbitrary read/write primitives.
Case Study - CVE-2024-53108 (Linux AMDGPU Display Driver OOB Read):
What It Is: Using stack/heap/pool memory before it is initialized. Contents may include stale pointers, capability flags, or structure fields.
Case Study - CVE-2024-26581 (Linux Kernel Netfilter Uninitialized Variable):
nf_tables component. When processing netlink messages to configure firewall rules, the nft_pipapo_walk() function failed to initialize a local variable before use. The uninitialized stack variable could contain residual data from previous function calls, including kernel pointers and sensitive memory addresses. POCCAP_NET_ADMIN capability (obtainable via unprivileged user namespaces on many distributions) could trigger specific netfilter operations that caused the uninitialized variable to be read and copied back to userspace through netlink responses. By repeatedly triggering the vulnerable code path and analyzing returned data, an attacker could extract kernel memory contents including heap/stack addresses.struct nft_pipapo_match *m = NULL; and added explicit zero-initialization for stack structures. Additionally, the patch enabled stricter compiler warnings (-Wuninitialized) for the netfilter subsystem.CAP_NET_ADMIN and uninitialized memory leaks in netfilter makes this class of vulnerability accessible to local attackers without requiring root privileges.What It Is: Incorrect increments/decrements or overflows in reference counters controlling object lifetime (filesystems, networking, drivers).
Case Study - CVE-2022-32250 (Linux Netfilter nf_tables Use-After-Free):
net/netfilter/nf_tables_api.c) had a reference counting error in the nf_tables component. An incorrect NFT_STATEFUL_EXPR check failed to properly track expression object lifetimes during rule updates, leading to premature object destruction while references still existed.What It Is: Dereferencing a NULL pointer in privileged code. While modern systems typically prevent user-space mapping of NULL pages, kernel NULL pointer dereferences remain a significant source of denial-of-service vulnerabilities and can occasionally enable privilege escalation in specific contexts.
Case Study - CVE-2023-52434 (Linux SMB Client NULL Pointer Dereference):
smb2_parse_contexts() function. When parsing server responses during SMB2/SMB3 connection establishment, the code failed to properly validate offsets and lengths of create context structures before dereferencing pointers. Malformed create contexts with invalid offsets could cause the kernel to access unmapped memory addresses, triggering a NULL pointer dereference.smb2_parse_contexts() function. Any user with permission to mount SMB shares could trigger the vulnerability, making it exploitable in multi-user environments. CVSS Score: 8.0 (High) with attack vector: Adjacent Network, requiring low privileges and no user interaction.What It Is: A race condition occurs when the behavior of software depends on the relative timing of events, such as the order in which threads execute. When multiple threads or processes access shared resources without proper synchronization, an attacker can manipulate the timing to cause unexpected behavior.
Common Patterns:
Real-World Context - Windows TOCTOU Race Condition (CVE-2024-26218):
What It Is: TOCTOU is a specific type of race condition where there's a gap between checking a condition and using the result. During that gap, the condition can change, invalidating the check.
Classic Example - Symbolic Link Attacks:
1. Program checks if /tmp/important_file is safe to write
2. [RACE WINDOW] Attacker creates symlink: /tmp/important_file -> /etc/passwd
3. Program writes to /tmp/important_file (now actually /etc/passwd)
Real-World Impact:
Recent Example - 7-Zip Symlink Path Traversal (CVE-2025-11001/11002):
What It Is: A double-fetch occurs when kernel code reads user-mode memory twice, assuming it won't change between reads. An attacker with multiple threads can modify the memory after the first read but before the second, causing kernel code to operate on inconsistent data.
Case Study - CVE-2023-4155 (Linux KVM AMD SEV Double-Fetch):
VMGEXIT handler in the hypervisor read guest-controlled memory to determine which operation to perform. An attacker could modify this memory between the first read (validation) and second read (usage), causing inconsistent behavior.AI-first code editor with Composer
Before installing skills in Cursor, ensure your development environment meets these requirements:
node --versionoffensive-vuln-classesExecute the skills CLI command in your project's root directory to begin installation:
epx add SnailSploit/Claude-Red --skill offensive-vuln-classesFetches offensive-vuln-classes from SnailSploit/Claude-Red and configures it for Cursor.
The CLI shows a list of agents. Use arrow keys and space to select Cursor:
Confirm successful installation by checking the skill directory location:
.cursor/skills/offensive-vuln-classes
Restart Cursor to activate offensive-vuln-classes. Access via /offensive-vuln-classesin your agent's command palette.
Learn more:View source on GitHubSkills CLI docsAbout CursorWhat are agent skills?
Steps
Common Pitfalls
✓ Do
✗ Don't
💡 Pro Tips
✓ Use when
Use when skill capabilities match your task, clear ROI on time saved, and you can validate outputs. Best for repetitive tasks, learning, and quality improvement.
✗ Avoid when
Avoid when task requires deep expertise you can't validate, involves sensitive decisions, or when learning process is more valuable than speed of completion.
offensive-fuzzing-course
SnailSploit/Claude-Red · fuzzing · same repo
offensive-request-smuggling
SnailSploit/Claude-Red · web · same repo
offensive-windows-mitigations
SnailSploit/Claude-Red · infrastructure · same repo
offensive-api-abuse
SnailSploit/Claude-Red · api · same repo
offensive-mobile
SnailSploit/Claude-Red · mobile · same repo
offensive-windows-privesc
SnailSploit/Claude-Red · privesc · same repo
offensive-vuln-classes reduced setup friction for our internal harness; good balance of opinion and flexibility.
offensive-vuln-classes reduced setup friction for our internal harness; good balance of opinion and flexibility.
Registry listing for offensive-vuln-classes matched our evaluation — installs cleanly and behaves as described in the markdown.
Registry listing for offensive-vuln-classes matched our evaluation — installs cleanly and behaves as described in the markdown.
Useful defaults in offensive-vuln-classes — fewer surprises than typical one-off scripts, and it plays nicely with `npx skills` flows.
offensive-vuln-classes fits our agent workflows well — practical, well scoped, and easy to wire into existing repos.
Useful defaults in offensive-vuln-classes — fewer surprises than typical one-off scripts, and it plays nicely with `npx skills` flows.
Registry listing for offensive-vuln-classes matched our evaluation — installs cleanly and behaves as described in the markdown.
I recommend offensive-vuln-classes for anyone iterating fast on agent tooling; clear intent and a small, reviewable surface area.
I recommend offensive-vuln-classes for anyone iterating fast on agent tooling; clear intent and a small, reviewable surface area.
showing 1-10 of 60