shadow1ng/fscan · error

config_credentials_parse_failed

config_credentials_parse_failed

Error message

%s: %w

What it means

Wrapper in BuildConfig: parseCredentials (parsing -user/-usersfile/-pass/-pwdf/-hash etc.) failed; the localized 'config_credentials_parse_failed' prefix is joined with the underlying error to show which credential input was bad.

Source

Thrown at common/config_builder.go:33

/*
config_builder.go - 统一配置构建入口

从 FlagVars 直接构建 Config 和 State,消除中间层。
*/

// BuildConfig 从 FlagVars 构建完整的 Config 和 State
// 这是新的统一入口,替代原来的 Parse() + BuildConfigFromFlags() + updateGlobalVariables()
func BuildConfig(fv *FlagVars, info *HostInfo) (*Config, *State, error) {
	// 1. 构建基础 Config(从 flag_config.go 的 BuildConfigFromFlags)
	cfg := BuildConfigFromFlags(fv)

	// 2. 创建 State
	state := NewState()

	// 3. 解析凭据
	if err := parseCredentials(fv, cfg); err != nil {
		return nil, nil, fmt.Errorf("%s: %w", i18n.GetText("config_credentials_parse_failed"), err)
	}

	// 4. 解析目标(主机、端口、URL)
	if err := parseTargets(fv, info, cfg, state); err != nil {
		return nil, nil, fmt.Errorf("%s: %w", i18n.GetText("config_targets_parse_failed"), err)
	}

	// 5. 应用日志级别
	applyLogLevelFromConfig(fv)

	return cfg, state, nil
}

// =============================================================================
// 凭据解析
// =============================================================================

func parseCredentials(fv *FlagVars, cfg *Config) error {

View on GitHub (pinned to 95cc12e753)

Solutions

  1. Inspect the wrapped error to find the offending flag or file
  2. Verify user/password/hash files exist and are readable
  3. Fix the malformed hash or credential format and rerun
Defensive patterns

Strategy: validation

When it happens

Trigger: Thrown at common/config_builder.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/05051b9a743efd8e. Report an issue: GitHub.