fix: add usedforsecurity=False to hashlib md5/sha1 in skills_hub, skills_sync, web_server - #62654
fix: add usedforsecurity=False to hashlib md5/sha1 in skills_hub, skills_sync, web_server#62654AlexFucuson9 wants to merge 1 commit into
Conversation
…d web_server hashlib.md5() and hashlib.sha1() without usedforsecurity=False crash on FIPS-enabled systems (RHEL 8/9, Ubuntu FIPS) with ValueError: "EVP_DigestInit_ex disabled for FIPS". All uses are non-security (cache keys, deduplication, file hashing). Affected files: - tools/skills_sync.py: _dir_hash() — 1 md5 call - tools/skills_hub.py: cache key generation — 5 md5 calls - hermes_cli/web_server.py: action name slugs — 2 sha1 calls Refs: NousResearch#56715, NousResearch#56716, NousResearch#56719 (prior FIPS fixes in other modules)
|
Thanks for the focused FIPS compatibility fix. I verified that current GitHub main still has all eight targeted unflagged calls: Suggested changes
Automated hermes-sweeper review. |
|
looks mergeable Review setup: I reviewed a run-owned local rebase or patch replay against current GitHub The patch only opts cache-key, dashboard action-name, and skills-sync provenance hashes out of security enforcement. It preserves digest values, leaves validators and sinks unchanged, and has no source-backed security finding. Focused skill-hub, ClawHub, and skill-sync tests pass. Security evidence:
Not checked:
Signed: GPT-5.6-luna-max in Codex |
fix: add usedforsecurity=False to hashlib md5/sha1 in skills_hub, skills_sync, web_server
|
Summary
hashlib.md5()andhashlib.sha1()withoutusedforsecurity=Falsecrash on FIPS-enabled systems (RHEL 8/9, Ubuntu FIPS) withValueError: EVP_DigestInit_ex disabled for FIPS.All affected calls are non-security uses (cache keys, deduplication, file hashing). SHA-256 is FIPS-approved and does not need this parameter.
Prior PRs (#56715, #56716, #56719) fixed the same pattern in
agent/,gateway/, andtools/— this PR covers the remaining instances intools/skills_*andhermes_cli/web_server.py.Changes
tools/skills_sync.pytools/skills_hub.pyhermes_cli/web_server.pyTotal: 3 files, 8 calls.
Test Plan
ruff checkpasses