Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
16 changes: 16 additions & 0 deletions course-overviews.json
Original file line number Diff line number Diff line change
Expand Up @@ -367,6 +367,22 @@
"who_this_is_for": "Expert Rust developers and Solana researchers who want to understand the absolute fundamentals. Not for production use - purely educational and research-oriented.",
"what_you_will_build": "A fully functional vault program with zero dependencies, implemented through raw pointer manipulation, manual validation, and direct syscall invocation.",
"prerequisites": "Expert Rust skills including unsafe code, raw pointers, and memory management. Deep Solana knowledge. Completion of Introduction to Low-Level Solana recommended. This is advanced research-level content."
},
{
"id": "fuzzing-with-trident",
"title": "Fuzzing with Trident",
"overview": "Master Solana program security testing with Trident, the manually guided fuzzing framework designed specifically for Anchor programs. Unlike traditional fuzzers that throw random data at programs, Trident understands Solana's account model and instruction dependencies, enabling thorough security testing that finds real vulnerabilities. This course teaches you to write effective fuzz tests, use Master Seeds for reproducible debugging, define invariants that catch subtle bugs, and integrate fuzzing into your development workflow. Whether you're building DeFi protocols, NFT platforms, or any on-chain program, fuzzing with Trident helps ensure your code handles unexpected inputs without breaking.",
"what_you_will_learn": [
"Understand why Solana programs need guided fuzzing instead of random input testing",
"Write effective fuzz tests with flows, address storage, and random data generation",
"Use Master Seeds to reproduce and debug crashes found during fuzzing",
"Define invariants that catch conservation, consistency, and bounds violations",
"Configure code coverage, dashboards, and regression testing",
"Integrate fuzzing into your CI/CD pipeline for continuous security testing"
],
"who_this_is_for": "Intermediate Solana developers who have built Anchor programs and want to add security testing to their workflow. Essential for anyone managing user funds or building production protocols.",
"what_you_will_build": "Complete fuzz test suites for Solana programs including account management, flow-based testing, invariant checking, and debugging workflows using Master Seeds.",
"prerequisites": "Experience building Anchor programs. Understanding of Solana accounts, PDAs, and instruction structure. Rust fundamentals including structs and assertions."
}
]
}
28 changes: 27 additions & 1 deletion messages/en/courses.json
Original file line number Diff line number Diff line change
Expand Up @@ -666,6 +666,32 @@
"description": "Prepare mobile dApps for production. Implement crash reporting, analytics, RPC monitoring, and establish update strategies for live applications."
}
}
},
"fuzzing-with-trident": {
"title": "Fuzzing with Trident",
"description": "Find bugs before hackers do. Trident fuzzes your Solana programs with guided random testing. Master Seeds let you reproduce any crash. Essential for production security.",
"lessons": {
"trident-101": {
"title": "Trident 101",
"description": "Understand what fuzzing is, why Solana needs guided fuzzing, and get Trident running. Learn project structure and run your first fuzz test."
},
"writing-fuzz-tests": {
"title": "Writing Fuzz Tests",
"description": "Master address storage, instruction construction, random data generation, and invariants. Write fuzz tests that actually find bugs."
},
"master-seeds-and-debugging": {
"title": "Master Seeds and Debugging",
"description": "Use Master Seeds to reproduce crashes exactly. Learn the complete debugging workflow from crash discovery to verified fix."
},
"advanced-techniques": {
"title": "Advanced Techniques",
"description": "Configure code coverage, test multi-instruction transactions, use mainnet state, and integrate fuzzing into CI/CD pipelines."
},
"conclusion": {
"title": "Conclusion",
"description": "Review key concepts, the complete fuzzing workflow, and production checklist. Resources and next steps for ongoing security testing."
}
}
}
}
}
}
14 changes: 14 additions & 0 deletions src/app/content/courses/courses.ts
Original file line number Diff line number Diff line change
Expand Up @@ -388,4 +388,18 @@ export const courses: CourseMetadata[] = withCourseNumber([
{ slug: "production-best-practices" },
],
},
{
slug: "fuzzing-with-trident",
language: "Rust",
color: BRAND_COLOURS.rust,
difficulty: 2,
isFeatured: true,
lessons: [
{ slug: "trident-101" },
{ slug: "writing-fuzz-tests" },
{ slug: "master-seeds-and-debugging" },
{ slug: "advanced-techniques" },
{ slug: "conclusion" },
],
},
]);
Loading