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安全, 代码审查, 关系图谱, 基线检查, 多模态安全, 安全报告, 开发辅助工具, 数据可视化, 浏览器扩展, 自定义脚本, 蓝队分析