id: prodigy-panel

info:
  name: Prodigy Annotation Tool - Unauthenticated Exposure
  author: rxerium
  severity: medium
  description: |
    Prodigy, a commercial scriptable annotation tool by Explosion AI used to label training data for machine learning and NLP models, was detected. Its local web server (default port 8080, built on uvicorn/FastAPI) ships with no built-in authentication or user accounts by default and is designed to run on localhost or a trusted network. The annotation UI was found directly reachable to unauthenticated visitors.
  reference:
    - https://prodi.gy
    - https://prodi.gy/docs
  metadata:
    verified: true
    max-request: 1
    vendor: explosion
    product: prodigy
    shodan-query: 'http.title:"Prodigy" http.favicon.hash:-953245195'
  tags: panel,prodigy,ai,data-annotation,misconfig,exposure,detect,discovery

http:
  - method: GET
    path:
      - "{{BaseURL}}/"

    host-redirects: true
    max-redirects: 2

    matchers-condition: and
    matchers:
      - type: word
        part: body
        words:
          - "<title>Prodigy</title>"
          - 'id="root"'
          - 'src="bundle.js"'
        condition: and

      - type: word
        part: header
        words:
          - "uvicorn"

      - type: status
        status:
          - 200
# digest: 4a0a00473045022100fe2569e530d905a8e6c5ac4b147fb11717971628c802c14af2cc40d2f5722be802203c4c802cb9e63cbcdd18844c75ec077b56437ada50de7dd47f7dc5d6de4126ec:922c64590222798bb761d5b6d8e72950