shreeya2611/Vulnerability-Scanner

GitHub: shreeya2611/Vulnerability-Scanner

一个基于 Python 的密码强度分析器,通过多维度标准评估密码安全性并提供 0-100 分的量化评分和改进建议。

Stars: 0 | Forks: 0

# 密码强度分析器 🔐 一个全面的 Python 项目,基于多种安全标准来分析和评估密码强度。 ## 功能 ✨ - **综合分析**:检查多种标准,包括长度、字符类型和模式检测 - **交互模式**:通过实时反馈交互式地测试密码 - **批量测试**:一次性分析多个密码 - **详细反馈**:获取提升密码强度的具体建议 - **安全数据库**:检测常用的弱密码 - **模式检测**:识别序列和重复字符模式 - **基于分数的评估**:0-100 评分系统及强度等级 - **颜色编码输出**:提供视觉反馈以便于理解 ## 项目结构 ``` SOC Mini/ ├── password_strength_analyzer.py # Main analyzer module ├── interactive_analyzer.py # Interactive CLI interface ├── SAMPLE_OUTPUT.txt # Example outputs and documentation └── README.md # This file ``` ## 安装说明 ### 前置条件 - Python 3.7+ - 无需外部依赖(仅使用标准库) ### 设置 ``` # 无需安装 - 直接运行脚本 cd "SOC Mini" ``` ## 使用方法 ### 1. 运行批量测试(默认) ``` python password_strength_analyzer.py ``` 这会测试 8 个预设的密码,并展示: - 每个密码的单独分析报告 - 汇总统计数据 - 强度分布 **输出示例:** ``` ============================================================ PASSWORD STRENGTH ANALYSIS REPORT ============================================================ Password: ************** Length: 14 characters Score: 95/100 Strength: Very Strong Timestamp: 2024-07-17 10:30:45 ------------------------------------------------------------ Feedback: ✓ Good length (14 characters) ✓ Contains uppercase letters ✓ Contains lowercase letters ✓ Contains numbers ✓ Contains special characters ✓ Not a common password ============================================================ ``` ### 2. 运行交互模式 ``` python interactive_analyzer.py ``` 交互模式允许你: - 输入你自己的密码进行测试 - 获取实时反馈 - 输入 `help` 获取密码强度提示 - 输入 `quit` 退出 **示例会话:** ``` Enter password to analyze (or 'quit'/'help'): MyPassword123 ============================================================ ANALYSIS RESULT - Strong ============================================================ Length: 13 characters Score: 75/100 Strength: Strong ------------------------------------------------------------ Feedback: ✓ Good length (13 characters) ✓ Contains uppercase letters ✓ Contains lowercase letters ✓ Contains numbers ❌ Add special characters (!@#$%^&*) ✓ Not a common password ============================================================ ``` ### 3. 从交互模式运行批量模式 ``` python interactive_analyzer.py --batch ``` ## 评分标准 | 标准 | 分数 | 详情 | |-----------|--------|---------| | **长度** | 20 | 8-11 (10分), 12-15 (15分), 16+ (20分) | | **大写字母** | 15 | 包含 A-Z | | **小写字母** | 15 | 包含 a-z | | **数字** | 20 | 包含 0-9 | | **特殊字符** | 20 | 包含 !@#$%^&* 等 | | **非常用密码** | 10 | 不在弱密码数据库中 | | **惩罚项** | -10/-5 | 序列 (abc, 123) 或重复字符 (aaa, 111) | ## 强度等级 | 分数 | 等级 | 状态 | |-------|-------|--------| | 0-19 | **非常弱** | ❌ | | 20-39 | **弱** | ⚠️ | | 40-59 | **中等** | ⚡ | | 60-79 | **强** | ✓ | | 80-100 | **非常强** | 🔐 | ## 强密码提示 💡 1. **使用至少 12 个字符**(最少 8 个) 2. **混合字符类型**:大写字母、小写字母、数字、特殊字符 3. **避免常用词**:不要使用字典词汇或名称 4. **避免模式**:不要使用序列 (abc, 123) 或重复字符 5. **确保其唯一性**:不要在多个网站上重复使用密码 6. **使用密码短语**:"Tr0pic@lSunset2024!" 比随机字符更容易记住 7. **定期更换**:定期更新重要的密码 ## 强密码示例 | 密码 | 分数 | 备注 | |----------|-------|-------| | `Pass123` | 15 | 太短,无特殊字符 | | `MyPassword123` | 75 | 不错!缺少特殊字符 | | `SecureP@ss2024!` | 95 | 极佳!满足所有标准 | | `Tr0pic@lSunset#24` | 90 | 很棒!好记且安全 | ## API 用法 ### 基本用法 ``` from password_strength_analyzer import PasswordStrengthAnalyzer analyzer = PasswordStrengthAnalyzer() password = "MySecurePassword123!" report = analyzer.analyze(password) print(f"Strength: {report['strength']}") # Output: Very Strong print(f"Score: {report['score']}") # Output: 95 print(f"Length: {report['length']}") # Output: 21 ``` ### 报告结构 ``` { 'password': '***...', # Masked password 'length': 21, # Character count 'score': 95, # 0-100 score 'strength': 'Very Strong', # Strength level 'feedback': [ # List of feedback items '✓ Good length (21 characters)', '✓ Contains uppercase letters', # ... more feedback ], 'timestamp': '2024-07-17 10:30:45' # When analyzed } ``` ## 安全提示 🔒 - ⚠️ **永远不要与任何人分享你的密码**,包括密码分析器 - ⚠️ **此工具在本地运行** - 不会向外部服务器发送任何密码 - ✓ **密码会被掩码处理**,在输出中显示为星号 - ✓ **仅用于教育目的**和个人密码评估 ## 弱密码数据库 该分析器包含一个包含 20 个常用弱密码的数据库: - 123456, 123456789, password, 12345678, qwerty, abc123, monkey 等。 ## 局限性 - 不会检查完整的密码泄露数据库(如 Have I Been Pwned) - 无法检测密码是否在其他地方被使用过 - 简单的评分模型(未使用高级机器学习) - 不检查上下文相关的弱点(例如,密码是否使用了宠物名) ## 未来增强功能 🚀 - [ ] 集成真实的密码泄露数据库 - [ ] 基于机器学习的评分 - [ ] 支持多种语言 - [ ] 图形用户界面 - [ ] 密码生成建议 - [ ] 将报告导出为 CSV/JSON - [ ] 用于批处理的多线程 ## 示例输出 查看 `SAMPLE_OUTPUT.txt` 获取以下完整示例: - 批量测试输出 - 交互模式会话 - 详细报告 - 统计数据汇总 ## 许可证 免费用于教育和个人目的。 ## 作者 为 SOC (Security Operations Center) 迷你项目而创建 **记住**:强密码是你的第一道防线!🛡️
标签:Python, 安全运营(SOC), 密码安全, 无后门, 逆向工具