shadow1ng/fscan · error

config_build_failed

config_build_failed

Error message

%s: %w

What it means

Wrapper at the top of Initialize: BuildConfig failed (credential/target parsing or Config construction), and the localized 'config_build_failed' prefix is joined with the underlying error before returning to the caller in run().

Solutions

  1. Read the wrapped error to identify which build step failed
  2. Correct the offending command-line flags or files
  3. Run with -log debug for fuller initialization diagnostics
Defensive patterns

Strategy: validation

When it happens

Trigger: Thrown at common/initialize.go:33 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/11fef1b7d4fc7210. Report an issue: GitHub.

Appendix: source

Thrown at common/initialize.go:33

// InitResult 初始化结果
type InitResult struct {
	Config  *Config
	State   *State
	Info    *HostInfo
	Session *ScanSession
}

// Initialize 统一初始化函数
// 封装 BuildConfig → InitOutput 流程
func Initialize(info *HostInfo) (*InitResult, error) {
	// 1. 初始化日志系统
	InitLogger()

	// 2. 从 FlagVars 构建 Config 和 State
	cfg, state, err := BuildConfig(GetFlagVars(), info)
	if err != nil {
		return nil, fmt.Errorf("%s: %w", i18n.GetText("config_build_failed"), err)
	}

	// 3. 设置全局实例
	SetGlobalConfig(cfg)
	SetGlobalState(state)

	// 4. 初始化输出系统
	if err := InitOutput(); err != nil {
		return nil, fmt.Errorf("%s: %w", i18n.GetText("output_init_failed"), err)
	}

	session := NewScanSession(cfg, state, GetFlagVars())

	return &InitResult{
		Config:  cfg,
		State:   state,
		Info:    info,
		Session: session,

View on GitHub (pinned to 95cc12e753)