FAQ

  • GitHub GitHub Repo stars
  • Discord Discord Server
  • ✨ New! Try the OpenAPI Doctor ✨ The OpenAPI Doctor
    Recommended

    owasp-no-credentials-in-url


    Formats: Severity:

    Keep security credentials out of paths and query parameters!

    URL parameters must not contain credentials such as API key, password, or secret.

    Bad example

    openapi: "3.1.0"
    paths:
      /nuggets/{id}/:
        get:
          description: "get"
          parameters:
            - name: client_secret
              in: query
              required: true
            - name: token
              in: query
              required: true
            - name: refresh_token
              in: query
              required: true
            - name: id_token
              in: query
              required: true
            - name: password
              in: query
              required: true
            - name: secret
              in: query
              required: true
            - name: apikey
              in: query
              required: true
            - name: apikey
              in: path
              required: true
            - name: API-KEY
              in: query
              required: true
    

    Good Example

    openapi: "3.1.0"
    paths:
      /nuggets/{id}/:
        get:
          description: "get"
          parameters:
            - name: id
              in: path
              required: true
            - name: filter
              in: query
              required: true
    

    How do I fix this violation?

    Don’t use credentials in URL parameters. Use HTTP headers instead. Remove anything that could be considered a credential from the URL parameters.