{"record":{"id":"fe2c2ed12eebf695","repo":"shadow1ng/fscan","slug":"fscan-plugin-q-not-found","errorCode":null,"errorMessage":"fscan: plugin %q not found","messagePattern":"fscan: plugin %q not found","errorType":"validation","errorClass":null,"httpStatus":null,"severity":"error","filePath":"pkg/fscan/scanner.go","lineNumber":339,"sourceCode":"\n\tsession := common.NewScanSession(cfg, state, fv)\n\tsession.ResultSink = sink\n\n\tif opts.controller != nil {\n\t\tsession.PauseGate = opts.controller.pauseGate\n\t\topts.controller.addState(state)\n\t}\n\n\treturn core.RunScan(ctx, info, session)\n}\n\nfunc validateConfig(config Config, targets []Target) error {\n\tif len(targets) == 0 {\n\t\treturn fmt.Errorf(\"fscan: at least one target is required\")\n\t}\n\tfor _, name := range normalizePlugins(config.Plugins) {\n\t\tif !plugins.Exists(name) {\n\t\t\treturn fmt.Errorf(\"fscan: plugin %q not found\", name)\n\t\t}\n\t\tif !config.AllowUnsafePlugins && !IsSafePlugin(name) {\n\t\t\treturn fmt.Errorf(\"fscan: plugin %q is not enabled for embedded safe mode\", name)\n\t\t}\n\t}\n\tfor _, target := range targets {\n\t\tif strings.TrimSpace(target.Host) == \"\" && strings.TrimSpace(target.URL) == \"\" {\n\t\t\treturn fmt.Errorf(\"fscan: target host or URL is required\")\n\t\t}\n\t\tif strings.TrimSpace(target.Host) != \"\" && strings.TrimSpace(target.URL) != \"\" {\n\t\t\treturn fmt.Errorf(\"fscan: target cannot set both Host and URL\")\n\t\t}\n\t\tfor _, port := range target.Ports {\n\t\t\tif port < 1 || port > 65535 {\n\t\t\t\treturn fmt.Errorf(\"fscan: invalid port %d\", port)\n\t\t\t}\n\t\t}\n\t}","sourceCodeStart":321,"sourceCodeEnd":357,"githubUrl":"https://github.com/shadow1ng/fscan/blob/95cc12e753bf43de7004e5aef42a9ffba3934303/pkg/fscan/scanner.go#L321-L357","documentation":"Plugin-name validation in pkg/fscan validateConfig: a name in config.Plugins (after normalization) is not registered with plugins.Exists, i.e. an unknown/misspelled plugin was requested. The %q shows the exact unresolved plugin name.","triggerScenarios":"Thrown at pkg/fscan/scanner.go:339 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Correct the plugin name to match the registry","List available plugins to find the exact identifier","Remove the bogus entry from config.Plugins"],"exampleFix":null,"handlingStrategy":"validation","validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"95cc12e753bf43de7004e5aef42a9ffba3934303","analyzedAt":"2026-09-06T17:07:30.094Z","contentChangedAt":"2026-09-06T17:07:30.094Z","schemaVersion":2},"datasetVersion":"2026-09-14T00:17:10.932Z"}