    const tryNextAgentKey = () => {
      if (curAuth === 'agent') {
        if (agentKeyPos >= agentKeys.length)
          return;
        if (++agentKeyPos >= agentKeys.length) {
          debug && debug('Agent: No more keys left to try');
          debug && debug('Client: agent auth failed');
          agentKeys = undefined;
          tryNextAuth();
        } else {
          debug && debug(`Agent: Trying key #${agentKeyPos + 1}`);
          proto.authPK(this.config.username, agentKeys[agentKeyPos]);
        }
      }
    };
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.