shadow1ng/fscan · error

webscan_err_poc_not_found

Error message

webscan_err_poc_not_found

What it means

Sentinel lookup-miss error (ErrPocNotFound): after filtering the loaded POCs by pocInfo.PocName, no POC matched the requested name. It means the user asked for a POC that is not among the loaded YAML POC definitions (misspelled name or POC not bundled), and the scan is skipped.

Source

Thrown at webscan/web_scan.go:38

	"github.com/shadow1ng/fscan/common/i18n"
	"github.com/shadow1ng/fscan/webscan/lib"
)

// 常量定义
const (
	protocolHTTP     = "http://"
	protocolHTTPS    = "https://"
	yamlExt          = ".yaml"
	ymlExt           = ".yml"
	defaultTimeout   = 30 * time.Second
	concurrencyLimit = 10 // 并发加载POC的限制
)

// 错误定义
var (
	ErrInvalidURL    = errors.New(i18n.GetText("webscan_err_invalid_url"))
	ErrEmptyTarget   = errors.New(i18n.GetText("webscan_err_empty_target"))
	ErrPocNotFound   = errors.New(i18n.GetText("webscan_err_poc_not_found"))
	ErrPocLoadFailed = errors.New(i18n.GetText("webscan_err_poc_load_failed"))
)

//go:embed pocs
var pocsFS embed.FS

// pocStore 按 PocPath 缓存已加载的 POC 集合,支持多 session 使用不同 POC 路径
type pocStore struct {
	mu    sync.Mutex
	cache map[string][]*lib.Poc // key: pocPath(空字符串表示内嵌 POC)
}

var globalPocStore = &pocStore{cache: make(map[string][]*lib.Poc)}

// WebScan 执行Web漏洞扫描
func WebScan(ctx context.Context, info *common.HostInfo, cfg *common.Config, session *common.ScanSession) {
	// 初始化POC配置(用于CEL回调函数)
	lib.InitPOCConfig(cfg.DNSLog)

View on GitHub (pinned to 95cc12e753)

Solutions

  1. Check the POC name spelling and available POC list (-pocname help or equivalent)
  2. Load additional POC files via the POC path option
  3. Treat as a skip, not a failure: log and continue other targets
Defensive patterns

Strategy: validation

When it happens

Trigger: Thrown at webscan/web_scan.go:38 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/544c5cf1b7eaaf65. Report an issue: GitHub.