diff --git a/scripts/agent/fuzz-dmDecryptor.mjs b/scripts/agent/fuzz-dmDecryptor.mjs index 8129c88e..f2787116 100644 --- a/scripts/agent/fuzz-dmDecryptor.mjs +++ b/scripts/agent/fuzz-dmDecryptor.mjs @@ -1,4 +1,14 @@ -// Fuzz harness for js/dmDecryptor.js +/** + * Fuzz harness for js/dmDecryptor.js + * + * Targets: + * - decryptDM function + * + * Strategy: + * - Mocks decryptor context with random behaviors (success/fail/garbage). + * - Passes random event structures (NIP-04, NIP-44, Gift Wrap). + * - Checks for unhandled exceptions during decryption flow. + */ import "./setup-test-env.js"; import { Fuzzer } from "./fuzz-lib.mjs"; import { decryptDM } from "../../js/dmDecryptor.js"; @@ -83,4 +93,4 @@ async function fuzzTest(fuzzer, state) { } } -fuzzer.runFuzzLoop(5000, fuzzTest).catch(console.error); +fuzzer.runFuzzLoop(50000, fuzzTest).catch(console.error); diff --git a/scripts/agent/fuzz-magnetUtils.mjs b/scripts/agent/fuzz-magnetUtils.mjs index ad33d369..75a4af1b 100644 --- a/scripts/agent/fuzz-magnetUtils.mjs +++ b/scripts/agent/fuzz-magnetUtils.mjs @@ -1,4 +1,14 @@ -// Fuzz harness for js/magnetUtils.js +/** + * Fuzz harness for js/magnetUtils.js + * + * Targets: + * - normalizeAndAugmentMagnet + * + * Strategy: + * - Generates malformed magnet URIs and random strings. + * - Fuzzes options object (trackers, webseeds). + * - Checks for parsing crashes. + */ import "./setup-test-env.js"; import { Fuzzer } from "./fuzz-lib.mjs"; import { normalizeAndAugmentMagnet } from "../../js/magnetUtils.js"; @@ -42,4 +52,4 @@ async function fuzzTest(fuzzer, state) { } } -fuzzer.runFuzzLoop(5000, fuzzTest).catch(console.error); +fuzzer.runFuzzLoop(50000, fuzzTest).catch(console.error); diff --git a/scripts/agent/fuzz-nostrEventSchemas.mjs b/scripts/agent/fuzz-nostrEventSchemas.mjs index 7b9f3e0a..81da9970 100644 --- a/scripts/agent/fuzz-nostrEventSchemas.mjs +++ b/scripts/agent/fuzz-nostrEventSchemas.mjs @@ -1,4 +1,15 @@ -// Fuzz harness for js/nostrEventSchemas.js +/** + * Fuzz harness for js/nostrEventSchemas.js + * + * Targets: + * - Builder functions (buildVideoPostEvent, etc.) + * - Validation logic (validateEventStructure) + * + * Strategy: + * - Generates random JSON parameters for builders. + * - Generates random events for validation. + * - Checks for runtime exceptions (crashes). + */ import "./setup-test-env.js"; import { Fuzzer } from "./fuzz-lib.mjs"; import * as schemas from "../../js/nostrEventSchemas.js"; @@ -77,5 +88,5 @@ async function fuzzTest(fuzzer, state) { } } -// Run for 5000 iterations -fuzzer.runFuzzLoop(5000, fuzzTest).catch(console.error); +// Run for 50000 iterations +fuzzer.runFuzzLoop(50000, fuzzTest).catch(console.error);