10 Commits

Author SHA1 Message Date
cproudlock
942baacef9 Add git-crypt encryption for config.py
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-17 12:47:10 -05:00
cproudlock
d14432ce59 Add patches needing approval section to reports
- Add Section 4 showing MANUAL status patches grouped by org/device
- Fix OS patch field mapping (name/severity instead of title/impact)
- Add pending approval count to HTML summary cards
- Update .gitignore to exclude HTML and CSV report files

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-18 16:34:22 -05:00
cproudlock
3615e318b9 Add --scan option to trigger patch scans 2025-12-18 14:20:24 -05:00
cproudlock
b8fe088d4b Fix patch remediation to use correct API endpoint
- Use POST /v2/device/{id}/patch/software/apply
- Triggers patch installation per device (not per patch)
- Shows offline device failures clearly

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-18 13:08:49 -05:00
cproudlock
adbd419622 Add patch remediation feature
- --remediate: Dry run showing critical patches to approve
- --approve: Actually approve all critical patches via API
- Patches deploy during device maintenance windows

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-18 13:03:00 -05:00
cproudlock
f5191ffc97 Remove emojis from HTML report 2025-12-18 12:57:51 -05:00
cproudlock
4a19532b9e Add HTML report generation with visual charts
- Professional styled HTML output with summary cards
- Bar charts for patch categories
- Tables for org breakdown and critical items
- Device attention list with critical badges
- Generates TXT, CSV, and HTML simultaneously

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-18 12:57:10 -05:00
cproudlock
d28dd504f2 Fix NinjaOne API integration and patch parsing
- Use us2.ninjarmm.com instance (not app.ninjarmm.com)
- Handle results wrapper in API responses
- Parse impact field for severity (critical/high/medium/low)
- Fetch all patches, not just pending

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-18 12:52:10 -05:00
cproudlock
1e75818310 Add NinjaOne CVE resolution tool
- ninjaone.py: API client and CVE analyzer
- Queries organizations, devices, OS/software patches
- Prioritizes CVEs by CVSS severity
- Generates remediation reports

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-18 12:17:16 -05:00
cproudlock
5b0f56a3b0 Initial commit 2025-12-18 12:11:47 -05:00