  get rules() {
    if (!cache) {
      cache = {};
      const files = fs.readdirSync(RULES_DIR)
        .filter(filename => filename.endsWith('.js'));
      for (const file of files) {
        const name = file.slice(0, -3);
        cache[name] = require(path.resolve(RULES_DIR, file));
      }
    }
    return cache;
  },
The software constructs all or part of an OS command using externally-influenced input from an upstream component, but it does not neutralize or incorrectly neutralizes special elements that could modify the intended OS command when it is sent to a downstream component.