GreyNoise Intelligence CVE API

Endpoints that are used for retrieving information about Common Vulnerabilities and Exposures (CVEs).

OpenAPI Specification

greynoise-cve-api-openapi.yml Raw ↑
openapi: 3.0.0
info:
  title: GreyNoise Callback CVE API
  version: 3.0.0
  description: GreyNoise is a cybersecurity company that collects and analyzes Internet-wide scan and attack traffic. Use GreyNoise to contextualize existing alerts, filter false-positives, identify compromised devices, and track emerging threats.
  contact:
    email: hello@greynoise.io
  license:
    name: Proprietary
    url: https://www.greynoise.io/terms
servers:
- url: https://api.greynoise.io
  description: Production
security:
- APIKeyHeaderAuth: []
tags:
- name: CVE
  description: 'Endpoints that are used for retrieving information about Common Vulnerabilities and Exposures (CVEs).

    '
paths:
  /v1/cve/{cve_id}:
    get:
      operationId: getCVE
      tags:
      - CVE
      summary: Retrieve CVE Information
      description: Retrieve details about a specific Common Vulnerabilities and Exposures (CVE).
      parameters:
      - name: cve_id
        in: path
        description: The CVE ID to query (e.g., CVE-2024-12345)
        required: true
        schema:
          type: string
          pattern: ^CVE-\d{4}-\d+$
      responses:
        '200':
          description: Successful response with CVE details based on entitlements.
          content:
            application/json:
              schema:
                oneOf:
                - $ref: '#/components/schemas/CVEAdvancedResponse'
                - $ref: '#/components/schemas/CVEBasicResponse'
                - $ref: '#/components/schemas/CVEMinimalResponse'
              examples:
                GetCVE200Example:
                  summary: Default getCVE 200 response
                  x-microcks-default: true
                  value:
                    id: CVE-2024-12345
                    details:
                      vulnerability_name: Sample Vulnerability
                      vulnerability_description: This vulnerability allows remote attackers to execute arbitrary code.
                      cve_cvss_score: 7.5
                      product: Sample Product
                      vendor: Sample Vendor
                      published_to_nist_nvd: true
                    timeline:
                      cve_published_date: '2024-01-01'
                      cve_last_updated_date: '2024-01-02'
                      first_known_published_date: '2024-01-01'
                      cisa_kev_date_added: '2024-01-03'
                    exploitation_details:
                      attack_vector: Network
                      exploit_found: true
                      exploitation_registered_in_kev: true
                      epss_score: 0.8
                    exploitation_stats:
                      number_of_available_exploits: 5
                      number_of_threat_actors_exploiting_vulnerability: 3
                      number_of_botnets_exploiting_vulnerability: 2
                    exploitation_activity:
                      activity_seen: true
                      benign_ip_count_1d: 100
                      benign_ip_count_10d: 500
                      benign_ip_count_30d: 1000
                      threat_ip_count_1d: 10
                      threat_ip_count_10d: 50
                      threat_ip_count_30d: 100
        '400':
          description: Invalid CVE ID format or missing CVE ID.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
              example:
                message: 'bad query: invalid CVE format'
        '404':
          description: CVE not found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
              example:
                message: CVE not found
        '500':
          description: Internal server error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
              example:
                message: internal server error
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /v3/cves:
    post:
      operationId: bulkCVELookup
      tags:
      - CVE
      summary: Bulk CVE Lookup
      description: 'Retrieve information about multiple CVEs in a single request. Supports up to 10,000 CVEs per request.


        This endpoint requires a business email address and appropriate entitlements.

        Response type depends on user entitlements (minimal, basic, or advanced).

        '
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
              - cves
              properties:
                cves:
                  type: array
                  items:
                    type: string
                    pattern: ^CVE-\d{4}-\d+$
                  description: Array of CVE IDs to lookup
                  example: &id001
                  - CVE-2024-12345
                  - CVE-2023-45678
                  maxItems: 10000
            examples:
              BulkCVELookupRequestExample:
                summary: Default bulkCVELookup request
                x-microcks-default: true
                value:
                  cves: *id001
      responses:
        '200':
          description: OK - request successful.
          content:
            application/json:
              schema:
                type: array
                items:
                  oneOf:
                  - $ref: '#/components/schemas/CVEAdvancedResponse'
                  - $ref: '#/components/schemas/CVEBasicResponse'
                  - $ref: '#/components/schemas/CVEMinimalResponse'
              examples:
                BulkCVELookup200Example:
                  summary: Default bulkCVELookup 200 response
                  x-microcks-default: true
                  value:
                  - id: CVE-2024-12345
                    details:
                      vulnerability_name: Sample Vulnerability
                      vulnerability_description: This vulnerability allows remote attackers to execute arbitrary code.
                      cve_cvss_score: 7.5
                      product: Sample Product
                      vendor: Sample Vendor
                      published_to_nist_nvd: true
                    timeline:
                      cve_published_date: '2024-01-01'
                      cve_last_updated_date: '2024-01-02'
                      first_known_published_date: '2024-01-01'
                      cisa_kev_date_added: '2024-01-03'
                    exploitation_details:
                      attack_vector: Network
                      exploit_found: true
                      exploitation_registered_in_kev: true
                      epss_score: 0.8
                    exploitation_stats:
                      number_of_available_exploits: 5
                      number_of_threat_actors_exploiting_vulnerability: 3
                      number_of_botnets_exploiting_vulnerability: 2
                    exploitation_activity:
                      activity_seen: true
                      benign_ip_count_1d: 100
                      benign_ip_count_10d: 500
                      benign_ip_count_30d: 1000
                      threat_ip_count_1d: 10
                      threat_ip_count_10d: 50
                      threat_ip_count_30d: 100
        '400':
          description: 'Bad request - invalid CVE format or too many CVEs requested.

            '
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
              example:
                message: Maximum number of CVEs per request is 10000
        '403':
          description: 'Forbidden - bulk CVE search requires a business email address.

            '
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
              example:
                message: Bulk CVE search is only available to users with a business email address. Sign up with your work email (e.g., you@company.com) to continue.
        '429':
          description: Too many requests. You've hit the rate-limit.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
              examples:
                BulkCVELookup429Example:
                  summary: Default bulkCVELookup 429 response
                  x-microcks-default: true
                  value:
                    message: Success
        '500':
          $ref: '#/components/responses/UnexpectedError'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
components:
  responses:
    UnexpectedError:
      description: Unexpected error
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
          example:
            message: Encountered error while performing request
  schemas:
    CVEExploitationDetails:
      type: object
      properties:
        attack_vector:
          type: string
          description: The attack vector for the CVE.
          example: Network
        exploit_found:
          type: boolean
          description: Whether an exploit has been found for this CVE.
          example: true
        exploitation_registered_in_kev:
          type: boolean
          description: Whether the exploitation is registered in KEV.
          example: true
        epss_score:
          type: number
          description: The EPSS score for the CVE.
          example: 0.8
    CVEExploitationStats:
      type: object
      properties:
        number_of_available_exploits:
          type: integer
          description: The number of available exploits for the CVE.
          example: 5
        number_of_threat_actors_exploiting_vulnerability:
          type: integer
          description: The number of threat actors exploiting the vulnerability.
          example: 3
        number_of_botnets_exploiting_vulnerability:
          type: integer
          description: The number of botnets exploiting the vulnerability.
          example: 2
    CVETimeline:
      type: object
      properties:
        cve_published_date:
          type: string
          format: date
          description: The date the CVE was published.
          example: '2024-01-01'
        cve_last_updated_date:
          type: string
          format: date
          description: The date the CVE was last updated.
          example: '2024-01-02'
        first_known_published_date:
          type: string
          format: date
          description: The first known published date of the CVE.
          example: '2024-01-01'
        cisa_kev_date_added:
          type: string
          format: date
          description: The date the CVE was added to the CISA KEV list.
          example: '2024-01-03'
    CVEBasicResponse:
      type: object
      properties:
        id:
          type: string
          description: The CVE identifier.
          example: CVE-2024-12345
        details:
          $ref: '#/components/schemas/CVEDetails'
        timeline:
          $ref: '#/components/schemas/CVETimeline'
        exploitation_details:
          $ref: '#/components/schemas/CVEExploitationDetails'
    CVEMinimalResponse:
      type: object
      properties:
        id:
          type: string
          description: The CVE identifier.
          example: CVE-2024-12345
        details:
          $ref: '#/components/schemas/CVEDetails'
    CVEExploitationActivity:
      type: object
      properties:
        activity_seen:
          type: boolean
          description: Whether exploitation activity has been observed.
          example: true
        benign_ip_count_1d:
          type: integer
          description: The count of benign IPs in the last day.
          example: 100
        benign_ip_count_10d:
          type: integer
          description: The count of benign IPs in the last 10 days.
          example: 500
        benign_ip_count_30d:
          type: integer
          description: The count of benign IPs in the last 30 days.
          example: 1000
        threat_ip_count_1d:
          type: integer
          description: The count of threat IPs in the last day.
          example: 10
        threat_ip_count_10d:
          type: integer
          description: The count of threat IPs in the last 10 days.
          example: 50
        threat_ip_count_30d:
          type: integer
          description: The count of threat IPs in the last 30 days.
          example: 100
    CVEAdvancedResponse:
      type: object
      properties:
        id:
          type: string
          description: The CVE identifier.
          example: CVE-2024-12345
        details:
          $ref: '#/components/schemas/CVEDetails'
        timeline:
          $ref: '#/components/schemas/CVETimeline'
        exploitation_details:
          $ref: '#/components/schemas/CVEExploitationDetails'
        exploitation_stats:
          $ref: '#/components/schemas/CVEExploitationStats'
        exploitation_activity:
          $ref: '#/components/schemas/CVEExploitationActivity'
    CVEDetails:
      type: object
      properties:
        vulnerability_name:
          type: string
          description: The name of the vulnerability.
          example: Sample Vulnerability
        vulnerability_description:
          type: string
          description: Description of the vulnerability.
          example: This vulnerability allows remote attackers to execute arbitrary code.
        cve_cvss_score:
          type: number
          description: The CVSS score of the CVE.
          example: 7.5
        product:
          type: string
          description: The product affected by the vulnerability.
          example: Sample Product
        vendor:
          type: string
          description: The vendor of the affected product.
          example: Sample Vendor
        published_to_nist_nvd:
          type: boolean
          description: Whether the CVE is published to the NIST National Vulnerability Database.
          example: true
    Error:
      type: object
      properties:
        message:
          type: string
          example: Success
      required:
      - message
  securitySchemes:
    APIKeyHeaderAuth:
      type: apiKey
      in: header
      name: key
      description: GreyNoise API key passed via the 'key' HTTP header.