核心功能概述
security-health-check 是一款面向个人用户的本地安全检测工具,集成三大核心能力:
1. HIBP 密码泄露检测(k-匿名协议)
采用 Have I Been Pwned 的 k-匿名机制,密码全程本地哈希处理,仅上传 SHA-1 前5位前缀至 HIBP API,实现「数据不出门」的泄露查询。该协议被密码学界广泛认可,在隐私保护与查询效率间取得平衡。
2. 熵值驱动的密码强度分析
基于信息熵理论计算密码池大小与熵值,估算理论破解时间(假设攻击速度 10¹⁰ 次/秒)。评分体系将 0-100 分划分为五级强度,直观反馈密码安全水平。
3. 综合安全评分机制
采用加权算法:密码强度占 40%,泄露状态占 60%(若泄露则直接归零)。评分逻辑清晰,但阈值设定(80 bits 熵对应满分)偏向保守,可能高估常规密码的绝对安全性。
4. SSL 证书检查(可选)
基于 pyOpenSSL 实现证书有效期、颁发机构验证,支持内网/异常站点的优雅降级。
显著优点
- 隐私优先设计:密码哈希不上传完整值,符合零信任原则
- 离线可用:除 HIBP 查询外,强度分析完全离线
- 依赖精简:仅需
requests与pyopenssl,无重型框架 - 命令行友好:支持交互式与脚本化调用
潜在局限与风险
- 熵值估算偏差:未考虑人类密码行为模式(如
P@ssw0rd熵值虚高),实际破解难度可能远低于理论值 - HIBP 覆盖局限:仅收录公开泄露数据,企业内泄、暗网未公开数据无法检测
- 破解速度假设过时:10¹⁰ 次/秒 针对 GPU/ASIC 集群已偏保守,高端攻击者可达 10¹²+ 量级
- SSL 检查非核心:依赖
pyOpenSSL可能引发兼容性问题,且证书有效≠连接安全(中间人攻击未覆盖)
适合人群
- 个人用户定期密码自检
- 安全意识培训场景
- 作为密码管理器的补充验证工具
常规风险提示
- 工具本身不存储密码,但终端历史记录可能留存输入痕迹
- HIBP API 调用会暴露查询时间窗口与 IP 前缀,极端场景下存在流量分析风险
- 熵值评分仅供参考,不应作为企业级安全决策依据