Feat: Add OpenEoX Hardware Lifecycle Scanner#907
Open
PrudhviChanda wants to merge 1 commit intocisagov:mainfrom
Open
Feat: Add OpenEoX Hardware Lifecycle Scanner#907PrudhviChanda wants to merge 1 commit intocisagov:mainfrom
PrudhviChanda wants to merge 1 commit intocisagov:mainfrom
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Add OpenEoX Hardware Lifecycle Scanner for NetBox 4.4+
🗣 Description
This PR introduces a new NetBox script (
hardware_lifecycle_auditor.py) designed to ingest standard OpenEoX JSON feeds to automate the identification of End-of-Support (EOS) hardware.Additionally, this PR updates
netbox/scripts/netbox_init.pyto programmatically stage and register custom scripts via the Django ORM. This bypasses the NetBox 4.4+syncdatasourcesymlink restrictions and Docker ConfigMap read-only file system errors (rsync: mkstemp failed: Read-only file system (30)) that previously prevented custom Malcolm scripts from loading.Features of the Auditor:
Lifecycle: End of SupportandLifecycle: SupportedNetBox tags to active inventory.💭 Motivation and context
This change is driven by CISA BOD 26-02(https://www.cisa.gov/news-events/news/end-just-beginning-better-security-enhanced-vulnerability-management-openeox), which mandates agencies to identify and remove End-of-Support edge devices.
By natively tagging devices in NetBox based on the OpenEoX standard, Malcolm's backend Logstash workers can automatically pull these tags and enrich Zeek/Suricata network traffic logs in OpenSearch. This bridges the gap between physical asset vulnerabilities and live network traffic monitoring.
🧪 Testing
Environment: Malcolm Docker deployment with NetBox 4.x.
Steps Performed:
netbox_init.pyshim correctly copied the script from/usr/local/bin/to the writable/opt/netbox/netbox/scripts/directory and successfully registered theScriptModulewithout triggering Docker permission crashes.C1111Cisco device in NetBox and marked it as Active.Commit changesbox was checked.Lifecycle: End of Supporttag to the device profile and the generation of the CSV output block.📷 Screenshots (if appropriate)
✅ Pre-approval checklist
bump_versionscript if this repository is versioned and the changes in this PR warrant a version bump.✅ Pre-merge checklist
✅ Post-merge checklist