shadow1ng/fscan · error

fscan: plugin %q not found

Error message

fscan: plugin %q not found

What it means

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.

Source

Thrown at pkg/fscan/scanner.go:339

	session := common.NewScanSession(cfg, state, fv)
	session.ResultSink = sink

	if opts.controller != nil {
		session.PauseGate = opts.controller.pauseGate
		opts.controller.addState(state)
	}

	return core.RunScan(ctx, info, session)
}

func validateConfig(config Config, targets []Target) error {
	if len(targets) == 0 {
		return fmt.Errorf("fscan: at least one target is required")
	}
	for _, name := range normalizePlugins(config.Plugins) {
		if !plugins.Exists(name) {
			return fmt.Errorf("fscan: plugin %q not found", name)
		}
		if !config.AllowUnsafePlugins && !IsSafePlugin(name) {
			return fmt.Errorf("fscan: plugin %q is not enabled for embedded safe mode", name)
		}
	}
	for _, target := range targets {
		if strings.TrimSpace(target.Host) == "" && strings.TrimSpace(target.URL) == "" {
			return fmt.Errorf("fscan: target host or URL is required")
		}
		if strings.TrimSpace(target.Host) != "" && strings.TrimSpace(target.URL) != "" {
			return fmt.Errorf("fscan: target cannot set both Host and URL")
		}
		for _, port := range target.Ports {
			if port < 1 || port > 65535 {
				return fmt.Errorf("fscan: invalid port %d", port)
			}
		}
	}

View on GitHub (pinned to 95cc12e753)

Solutions

  1. Correct the plugin name to match the registry
  2. List available plugins to find the exact identifier
  3. Remove the bogus entry from config.Plugins
Defensive patterns

Strategy: validation

When it happens

Trigger: Thrown at pkg/fscan/scanner.go:339 when the library encounters an invalid state.

Common situations: See trigger scenarios.


AI-assisted analysis of shadow1ng/fscan@95cc12e753 (2026-09-06). Data as JSON: /api/errors/fe2c2ed12eebf695. Report an issue: GitHub.