{"id":20541061,"url":"https://github.com/netways/check_hp_firmware","last_synced_at":"2025-12-15T05:15:29.282Z","repository":{"id":38361255,"uuid":"236319998","full_name":"NETWAYS/check_hp_firmware","owner":"NETWAYS","description":"Icinga / Nagios check plugin to verify HPE controllers an SSD disks are not affected by certain vulnerabilities","archived":false,"fork":false,"pushed_at":"2025-04-03T07:14:39.000Z","size":994,"stargazers_count":2,"open_issues_count":1,"forks_count":1,"subscribers_count":11,"default_branch":"main","last_synced_at":"2025-04-03T08:23:57.241Z","etag":null,"topics":["hp","icinga","monitoring"],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/NETWAYS.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2020-01-26T14:02:19.000Z","updated_at":"2025-04-03T07:14:42.000Z","dependencies_parsed_at":"2023-02-02T12:30:52.698Z","dependency_job_id":"e7ae8b6f-f293-4d85-951d-1e68a27b9f79","html_url":"https://github.com/NETWAYS/check_hp_firmware","commit_stats":null,"previous_names":["netways/check_hp_disk_firmware"],"tags_count":9,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/NETWAYS%2Fcheck_hp_firmware","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/NETWAYS%2Fcheck_hp_firmware/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/NETWAYS%2Fcheck_hp_firmware/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/NETWAYS%2Fcheck_hp_firmware/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/NETWAYS","download_url":"https://codeload.github.com/NETWAYS/check_hp_firmware/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248848197,"owners_count":21171323,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["hp","icinga","monitoring"],"created_at":"2024-11-16T01:19:08.216Z","updated_at":"2025-12-15T05:15:29.226Z","avatar_url":"https://github.com/NETWAYS.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# check_hp_firmware\n\nMonitoring check plugin to verify HPE controllers an SSD disks are not affected by certain vulnerabilities.\n\n*Note:* This plugin was initially named `check_hp_disk_firmware`.\n\nCurrent Limitations:\n\n* No SNMPv3 support is implemented\n\n## HPE Controllers\n\n\u003e HPE Smart Array SR Gen10 Controller Firmware Version 2.65 (or later) provided in the (HPE document a00097210) is\n\u003e required to prevent a potential data inconsistency on select RAID configurations with Smart Array Gen10 Firmware\n\u003e Version 1.98 through 2.62, based on the following scenarios. HPE strongly recommends performing this upgrade at the\n\u003e customer's earliest opportunity per the \"Action Required\" in the table located in the Resolution section.\n\u003e Neglecting to perform the recommended resolution could result in potential subsequent errors and potential data\n\u003e inconsistency.\n\nThe check will alert you with a CRITICAL when the firmware is in the affected range with:\n\n* `if you have RAID 1/10/ADM - update immediately!`\n* `if you have RAID 5/6/50/60 - update immediately!`\n\nAnd it will add a short note when `firmware older than affected` or `firmware has been updated`. At the moment the\nplugin does not verify configured logical drives, but we believe you should update in any case.\n\n## HPE SSD SAS disks\n\n\u003e HPE SAS Solid State Drives - Critical Firmware Upgrade Required for Certain HPE SAS Solid State Drive Models to\n\u003e Prevent Drive Failure at 32,768 or 40,000 Hours of Operation\n\nThe check will raise a CRITICAL when the drive needs to be updated with the note `affected by FW bug`, and when\nthe drive is patched with `firmware update applied`.\n\n## HPE Integrated Lights-Out\n\nThe check will raise a WARNING when the Integrated Lights-Out needs to be updated. Below you will find a list with\nthe least version of each Integrated Lights-Out version:\n\n- HPE iLO 6 v1.56 or later\n- HPE iLO 5 v3.01 or later\n- HPE iLO 4 v2.82 or later\n\n**IMPORTANT:** Always read the latest HPE Security Bulletins. https://support.hpe.com/connect/s/securitybulletinlibrary\n\nThe plugin and its documentation is a best effort to find and detect affected hardware. There is no warranty, see the license.\n\n## Usage\n\nArguments:\n\n```\n-H, --hostname string        SNMP host (default \"localhost\")\n-c, --community string       SNMP community (default \"public\")\n-P, --protocol string        SNMP protocol (default \"2c\")\n    --timeout int            SNMP timeout in seconds (default 15)\n    --snmpwalk-file string   Read output from snmpwalk\n-e, --ilo-exit-state int     Exit with specified code if iLO requires patch (default 1)\n-I, --ignore-ilo-version     Don't check the ILO version\n-D, --ignore-drives          Don't check the drive firmware\n-C, --ignore-controller      Don't check the controller firmware\n-4, --ipv4                   Use IPv4\n-6, --ipv6                   Use IPv6\n-V, --version                Show version\n    --debug                  Enable debug output\n```\n\nSimply run the command:\n\n```bash\ncheck_hp_firmware -H localhost -c public\n```\n\n# Installation\n\nThis is a Golang project, either download the binary from the releases:\n\nhttps://github.com/NETWAYS/check_hp_firmware/releases\n\nAlso see the included [CheckCommand for Icinga 2](icinga2.conf).\n\nYou can download or build the project locally with go:\n\n```bash\ngit clone https://github.com/NETWAYS/check_hp_firmware\ncd check_hp_firmware/\nmake build\n```\n\n## Example\n\n    OK - All 2 controllers and 33 drives seem fine\n    [OK] Integrated Lights-Out 5 revision 2.18 - version newer than affected\n    [OK] controller (0) model=p816i-a serial=XXX firmware=1.65 - firmware older than affected\n    [OK] controller (4) model=p408e-p serial=XXX firmware=1.65 - firmware older than affected\n    [OK] (0.9 ) model=MO003200JWFWR serial=XXX firmware=HPD2 hours=8086\n    [OK] (0.11) model=EK000400GWEPE serial=XXX firmware=HPG0 hours=8086\n    [OK] (0.14) model=MO003200JWFWR serial=XXX firmware=HPD2 hours=8086\n    [OK] (4.0 ) model=MO3200JFFCL serial=XXX firmware=HPD8 hours=7568 - firmware update applied\n    [OK] (4.31) model=MO3200JFFCL serial=XXX firmware=HPD8 hours=7568 - firmware update applied\n    [OK] (4.50) model=MO3200JFFCL serial=XXX firmware=HPD8 hours=7568 - firmware update applied\n    [OK] (4.51) model=MO003200JWFWR serial=XXX firmware=HPD2 hours=7568\n    [OK] (4.52) model=MO3200JFFCL serial=XXX firmware=HPD8 hours=7568 - firmware update applied\n    [OK] (4.78) model=MO3200JFFCL serial=XXX firmware=HPD8 hours=7568 - firmware update applied\n    [OK] (4.81) model=MO3200JFFCL serial=XXX firmware=HPD8 hours=7568 - firmware update applied\n\n\n# Contribute\n\nIf you find bugs or want to add features, please open an issue or pull-request on GitHub.\n\nYou can help with problems by supplying the output of snmpwalk for the system you experience problems with:\n\n    $ snmpwalk -c public -v2c -On HOST 1.3.6.1.4.1.232\n\nPlease make sure to either censor the output of any private information, or send an e-mail to support@netways.de,\nso we can provide you with a secure upload link, that won't be shared with public.\n\n## Technical Details\n\nSupported hardware is split into modules: [hp/cntlr](hp/cntlr) [hp/drive](hp/drive) [hp/ilo](hp/ilo)\n\nKnown models and affected firmware is documented in: [hp/cntlr/firmware_data.go](hp/cntlr/firmware_data.go) [hp/phy_drv/firmware_data.go](hp/phy_drv/firmware_data.go) [hp/ilo/firmware_data.go](hp/ilo/firmware_data.go)\n\nThis data can be easily enhanced in the future. Make sure to document source documents and versions as well, and check\nthe accompanying firmware and status functions.\n\nThe check reads the `cpqDaCntlrTable` and `cpqDaPhyDrvTable` tables from SNMP, which should be available over the\nIPMI agent or the locally installed HP tools, hooked into the SNMP daemon of the operating system.\n\n# License\n\nCopyright (C) 2020 NETWAYS \u003cinfo@netways.de\u003e\n\nCopyright (C) 2020 Markus Frosch \u003cmarkus.frosch@netways.de\u003e\n\nThis program is free software; you can redistribute it and/or modify\nit under the terms of the GNU General Public License as published by\nthe Free Software Foundation; either version 2 of the License, or\n(at your option) any later version.\n\nThis program is distributed in the hope that it will be useful,\nbut WITHOUT ANY WARRANTY; without even the implied warranty of\nMERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\nGNU General Public License for more details.\n\nYou should have received a copy of the GNU General Public License along\nwith this program; if not, write to the Free Software Foundation, Inc.,\n51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnetways%2Fcheck_hp_firmware","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnetways%2Fcheck_hp_firmware","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnetways%2Fcheck_hp_firmware/lists"}