wsrakr/LoginGuard

GitHub: wsrakr/LoginGuard

LoginGuard 是一款 Chrome 扩展,用于被动检查登录页面的安全就绪状态并生成可操作的本地报告,帮助开发者和安全学习者理解并改善身份验证页面配置。

Stars: 1 | Forks: 0

# LoginGuard - 登录页面就绪状态检查 **LoginGuard 是一款用于登录页面就绪状态检查和授权实验室测试工作流的 Chrome 扩展。** Chrome 可以告诉你连接是否安全。LoginGuard 专注于浏览器锁形图标无法解释的部分:登录页面是否存在常见的就绪状态问题、哪些问题需要修复,以及如何报告授权的实验室检查结果。 LoginGuard 是防御性的、本地优先的,旨在将登录页面检查转化为清晰、可执行的报告。它不能证明网站是完全安全的,也不能替代 Chrome 的安全警告或专业的渗透测试。 `PROJECT.md` 是项目方向、安全边界、架构决策和未来开发的唯一事实来源。 ## LoginGuard 的目标受众? - 希望进行简单登录页面就绪状态检查的网站所有者。 - 在投入生产环境前审查身份验证页面的开发者。 - 在安全环境中学习身份验证安全概念的学生。 - 在授权的本地、实验室或培训环境中工作的渗透测试人员。 ## 产品模式 ### 网站检查 网站检查是面向网站所有者和开发者的默认产品模式。 它: - 检查登录和身份验证页面是否存在常见的就绪状态问题。 - 用通俗易懂的语言解释发现的问题。 - 展示应优先修复的内容。 - 帮助将缺失的控制措施界定为生产就绪工作。 - 不提交表单或读取密码。 网站检查并不试图取代 Chrome 的安全/不安全指示器。它专注于面向开发者的就绪状态信号,例如身份验证检测、HTTPS/本地上下文处理、安全标头、通俗语言解释和修复指导。 ### 实验室模式 实验室模式适用于 `localhost`、本地 fixture 和明确授权的实验室环境。 它: - 帮助渗透测试人员和学生更快地完成受控的登录面检查。 - 支持将 Lab Session 作为持久的工作区。 - 支持经批准的仅限元数据的 Baseline Observation。 - 支持 Lab JSON 和 Markdown 报告。 - 在执行前使用确认和控制门控。 - 不运行未经授权的测试。 实验室模式与网站检查是分开的。活跃的实验室模式检查必须保持在本地或授权的实验室上下文中。 ## LoginGuard 目前检查的内容 当前原型的功能包括: - 登录和身份验证页面检测。 - 身份验证类型分类。 - HTTPS 和本地上下文处理。 - 基本的安全标头审查。 - 通俗易懂的网站检查摘要。 - 实验室模式预览。 - 持久化的 Lab Session 页面。 - 仅限元数据的 Baseline Observation。 - Lab JSON 和 Markdown 报告。 - 复制 JSON 报告。 - 复制 Markdown 报告。 - AI Analyst Prompt 导出。 - 用于手动测试的本地 fixture。 ## LoginGuard 不会做的事 LoginGuard 不会: - 证明网站是完全安全的。 - 取代专业的渗透测试。 - 取代 Chrome 的浏览器安全警告。 - 收集凭据。 - 读取密码或输入值。 - 在网站检查中提交表单。 - 在授权或本地实验室上下文之外运行主动检查。 - 执行暴力破解或密码喷洒。 - 提供 exploit payload 或绕过说明。 - 发送隐藏的网络请求。 ## 安全模型 LoginGuard 默认是被动的。 网站检查在本地分析当前页面,并报告浏览器可见的登录页面就绪状态信号。它不提交表单、读取密码、更改值、收集凭据或运行 payload。 实验室模式仅限于本地或明确授权的环境。受控的实验室模式执行需要明确的确认和控制门控才能运行。当前的 Baseline Observation 仅记录经批准的元数据。 报告会避免包含凭据、token、cookie、存储内容、页面 HTML、密码和表单值。 ## 当前状态 LoginGuard 目前是一个早期阶段的原型。当前的重点是在添加更广泛的测试包之前,确立安全的架构、清晰的报告以及受控的实验室模式工作流。 该扩展适用于本地演示和早期的工作流测试,但该项目仍在不断发展中。 ## 报告 LoginGuard 可以从弹出窗口中复制本地报告: - **JSON 报告:** 用于开发者笔记、问题追踪或未来工具的结构化数据。 - **Markdown 报告:** 用于与开发者、学生或内部团队共享的可读报告。 - **AI Analyst Prompt:** 用于在 AI 助手中进行可选防御性分析的本地 prompt 文本。 - **演示报告:** 请参阅 [docs/demo-report.md](docs/demo-report.md),了解根据本地 fixture 生成的产品演示风格报告。 实验室模式还可以复制: - **Lab JSON 报告** - **Lab Markdown 报告** 报告是根据当前的分析结果或实验室模式计划在本地生成的,并复制到剪贴板。LoginGuard 不会将报告数据发送到任何地方,也不会自动存储报告。 ## 产品愿景 LoginGuard 从 Chrome 扩展起步,但长期的发展方向是建立一个防御性的身份验证面报告生态系统。 | 层级 | 方向 | | --- | --- | | 公开扩展 | 快速的单页登录页面就绪状态检查和本地报告。 | | 业务监控 | 未来的授权域名资产盘点、一次性扫描、定时扫描、变更检测、历史记录以及适合团队的报告。 | | AI Analyst | 未来的报告解释、优先级指导、开发者任务生成、执行摘要和修复指导。 | | 修复助手 | 未来针对防御性配置和代码加固的经过审查的建议。 | | 实验室模式 | 与公开/业务的网站检查工作流相分离的本地/CTF/实验室学习层。 | LoginGuard 旨在帮助用户和组织理解、监控、解释和改善身份验证安全性,而不是成为一个通用的攻击平台。 ## 快速开始 1. 克隆此代码仓库。 2. 打开 Chrome 并访问 `chrome://extensions`。 3. 启用 **开发者模式**。 4. 点击 **加载已解压的扩展程序**。 5. 选择 LoginGuard 项目文件夹。 6. 从代码仓库根目录开始在本地提供 fixture 服务: ``` py -m http.server 8080 ``` 7. 打开本地演示 fixture: ``` http://localhost:8080/fixtures/login-basic/ ``` 8. 点击 LoginGuard 扩展图标。 重新加载扩展后,如果希望获得浏览器观察到的响应标头,请在打开弹出窗口之前刷新受检查的页面。 ## 项目文档 - [PROJECT.md](PROJECT.md) - 项目准则、架构方向、安全边界和 AI 开发指南。 - [ROADMAP.md](ROADMAP.md) - 实际的开发阶段和未来的产品方向。 - [SECURITY.md](SECURITY.md) - 安全策略、负责任的披露和授权使用边界。 - [CHANGELOG.md](CHANGELOG.md) - 原型里程碑历史。 - [docs/lab-mode.md](docs/lab-mode.md) - 实验室模式范围和限制。 - [docs/json-report.md](docs/json-report.md) - 本地 JSON 报告格式。 - [docs/ai-analyst-prompt.md](docs/ai-analyst-prompt.md) - 本地 AI Analyst Prompt 行为和安全边界。 - [docs/manual-test-matrix.md](docs/manual-test-matrix.md) - 手动 fixture 测试记录。 - [docs/demo-report.md](docs/demo-report.md) - 产品演示风格的本地 fixture 报告。 ## 仓库结构 ``` . |-- manifest.json |-- README.md |-- PROJECT.md |-- ROADMAP.md |-- SECURITY.md |-- assets/ | `-- icons/ |-- docs/ |-- fixtures/ |-- src/ | |-- background/ | |-- content/ | |-- core/ | |-- lab/ | |-- modules/ | |-- popup/ | `-- utils/ `-- .github/ ``` ## 贡献 只要贡献支持 LoginGuard 的防御使命,我们都表示欢迎。 优秀的贡献包括更清晰的就绪状态检查、更安全的检测逻辑、更好的解释、文档、本地 fixture、可访问性改进、UI 优化、测试以及模块化架构改进。 请勿贡献攻击性 payload、凭据收集、暴力破解工作流、钓鱼支持、隐藏的遥测、绕过指导或未经授权的扫描行为。
标签:Web安全, 代码审查, 关系图谱, 基线检查, 多模态安全, 安全报告, 开发辅助工具, 数据可视化, 浏览器扩展, 自定义脚本, 蓝队分析