cproudlock 70a43fda8b Add defensive .gitignore patterns for secrets/keys
Blocks .env, *.key, *.pem, id_rsa*, secrets.*, credentials.json, etc.
Preventive — no exposure found; future commits can't accidentally
leak these.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-17 12:50:13 -04:00
2025-12-18 12:17:16 -05:00

CVE Resolution Tool for NinjaOne

Queries NinjaOne's REST API to aggregate CVE/vulnerability data across all organizations and prioritize remediation efforts.

Setup

  1. Copy config example and add your NinjaOne API credentials:

    cp config.example.py config.py
    
  2. Get API credentials from NinjaOne:

    • Go to Administration > Apps > API
    • Create a new API application (Client Credentials grant type)
    • Copy the Client ID and Client Secret
  3. Install dependencies:

    pip install -r requirements.txt
    

Usage

python ninjaone.py

NinjaOne API Endpoints Used

Endpoint Description
GET /api/v2/organizations List all organizations
GET /api/v2/devices-detailed List all devices with details
GET /api/v2/device/{id}/software Device software inventory
GET /api/v2/queries/os-patches OS patches report
GET /api/v2/queries/software-patches Third-party software patches
GET /api/v2/vulnerability/scan-groups Vulnerability scan data

Output

Generates a prioritized CVE remediation report showing:

  • Summary across all organizations
  • Patches grouped by CVSS severity (Critical/High/Medium/Low)
  • Critical items requiring immediate attention
  • Affected device counts

Resources

Description
CVE tracking project
Readme 87 KiB
Languages
Python 100%