peass-ng/PEASS-ng · error · System.Exception

No configuration was read

Error message

No configuration was read

What it means

A sentinel error in YamlConfigHelper.GetRegexesSearchConfig: the embedded YAML resource was deserialized into a YamlRegexConfig object but the result was null or an empty array, so no regex search configuration was actually loaded from the resource stream. It fires when the embedded resource is missing, empty, or fails to deserialize into the expected shape.

Source

Thrown at winPEAS/winPEASexe/winPEAS/Helpers/YamlConfig/YamlConfigHelper.cs:41

            {
                using (Stream stream = assembly.GetManifestResourceStream(resourceName))
                using (StreamReader reader = new StreamReader(stream))
                {
                    string configFileContent = reader.ReadToEnd();

                    YamlSerializer yamlSerializer = new YamlSerializer();
                    var yamlConfigObject = yamlSerializer.Deserialize(configFileContent, typeof(YamlRegexConfig));

                    if (yamlConfigObject == null || yamlConfigObject.Length == 0)
                    {
                        throw new Exception($"Config '{resourceName}' is empty, check the config for more information");
                    }

                    YamlRegexConfig yamlConfig = (YamlRegexConfig)yamlConfigObject[0];
                    // check
                    if (yamlConfig.regular_expresions == null || yamlConfig.regular_expresions.Length == 0)
                    {
                        throw new System.Exception("No configuration was read");
                    }

                    return yamlConfig;

                }
            }
            catch (System.Exception e)
            {
                Beaprint.PrintException($"An exception occurred while parsing regexes.yaml configuration file: {e.Message}");

                throw;
            }
        }

        public static YamlConfig GetWindowsSearchConfig()
        {
            var assembly = Assembly.GetExecutingAssembly();
            var resourceName = assembly.GetManifestResourceNames().Where(i => i.EndsWith(SENSITIVE_FILES)).FirstOrDefault();

View on GitHub (pinned to 53fb989abc)

Solutions

  1. Verify the embedded resource name matches the actual manifest resource and is included in the build
  2. Fix the YAML content so it deserializes into YamlRegexConfig (correct keys/types)
  3. After deserialization, validate and report which regex entries loaded instead of failing later
Defensive patterns

Strategy: fallback

When it happens

Trigger: Thrown at winPEAS/winPEASexe/winPEAS/Helpers/YamlConfig/YamlConfigHelper.cs:41 when the library encounters an invalid state.

Common situations: See trigger scenarios.


AI-assisted analysis of peass-ng/PEASS-ng@53fb989abc (2026-09-02). Data as JSON: /api/errors/fe212d936859c18b. Report an issue: GitHub.