Stanzin7/ExtensionShield

GitHub: Stanzin7/ExtensionShield

Chrome 扩展安全扫描平台,通过权限分析、SAST 和熵值检测等手段评估扩展的安全与隐私风险,生成证据报告。

Stars: 6 | Forks: 5

ExtensionShield # ExtensionShield
**Chrome 扩展安全扫描与治理平台** [![License: MIT](https://img.shields.io/badge/License-MIT-green.svg)](LICENSE) · [安全](docs/SECURITY.md) · [入门](docs/GET_STARTED.md) · [贡献](docs/CONTRIBUTING.md) ExtensionShield 扫描 Chrome 扩展(来自 Web Store 或 CRX/ZIP 上传),运行安全和隐私分析,并生成风险评分 和摘要报告。**核心**(扫描器、CLI、本地分析)采用 **MIT 许可证**,无需任何云服务即可运行。可选的 **云** 功能 (认证、历史记录、团队监控、社区队列)可通过 [ExtensionShield Cloud](https://extensionshield.com) 获取。 - **安全**: [SECURITY.md](docs/SECURITY.md) — 报告漏洞、机密策略 - **开放核心**: [OPEN_CORE_BOUNDARIES.md](docs/OPEN_CORE_BOUNDARIES.md) — 什么是 OSS 与 Cloud,以及如何实施 ## 快速开始 按顺序执行以下步骤。你需要**两个终端**来运行应用程序(一个用于 API,一个用于前端)。
步骤 1 — 克隆并安装依赖 克隆仓库并安装后端 和前端 依赖。 ``` git clone git@github.com:Stanzin7/ExtensionShield.git ``` ``` cd ExtensionShield ``` ``` make install ``` 安装 Python 依赖。 ``` cd frontend && npm install ``` 安装前端依赖。
步骤 2 — 配置环境 复制示例 env 文件,并添加你的 API 密钥用于摘要报告(默认为 OSS 模式)。 ``` cp .env.example .env ``` 编辑 `.env` 并设置 `OPENAI_API_KEY`(用于摘要报告)。 ``` cp frontend/.env.example frontend/.env ``` OSS 模式无需更改;如果使用 Cloud 功能请调整。
步骤 3 — 运行应用 在**两个独立的终端**中启动**后端**和**前端**。每个命令都会启动一个长期运行的服务器。 **终端 1 — 后端 API** ``` make api ``` API 将在 **http://localhost:8007** 可用。 **终端 2 — 前端 UI** ``` make frontend ``` UI 将在 **http://localhost:5173** 可用。 在浏览器中打开 **http://localhost:5173** 以使用 ExtensionShield。
完整设置(Docker、CLI、Cloud 模式、Make 命令):**[GET_STARTED.md](docs/GET_STARTED.md)**。 部署和开发脚本(Railway、Supabase、CSP):**[scripts/README.md](scripts/README.md)**。 ## ExtensionShield 功能 | 功能 | 描述 | |--------|-------------| | **扫描** | 来自 Chrome Web Store 的扩展或通过上传 CRX/ZIP 文件 | | **分析** | 权限、SAST、熵以及可选的 VirusTotal 集成 | | **评分** | 安全和隐私风险及生成的报告 | | **总结** | 发现结果的书面摘要(可选) | 在 **OSS 模式**(默认)下,你可以获得完整的扫描器、CLI、本地 SQLite 存储和报告 UI——无需云端。**Cloud 模式**增加了认证、扫描历史、遥测和企业功能;参见 [GET_STARTED.md#enabling-cloud-mode](docs/GET_STARTED.md#enabling-cloud-mode) 和 [OPEN_CORE_BOUNDARIES.md](docs/OPEN_CORE_BOUNDARIES.md)。 ## 文档 | 文档 | 描述 | |----------|-------------| | [GET_STARTED.md](docs/GET_STARTED.md) | 设置、配置、Docker、CLI、OSS 与 Cloud、Make 命令 | | [scripts/README.md](scripts/README.md) | 每个脚本的作用及运行时机 | | [OPEN_CORE_BOUNDARIES.md](docs/OPEN_CORE_BOUNDARIES.md) | OSS 与 Cloud;执行;配置 | | [CONTRIBUTING.md](docs/CONTRIBUTING.md) | 如何贡献 | | [SECURITY.md](docs/SECURITY.md) | 报告漏洞;机密策略 | | [COMMERCIAL.md](docs/COMMERCIAL.md) | 商业用途(非约束性) | | [TRADEMARK.md](docs/TRADEMARK.md) | 品牌使用指南 | | [CODE_OF_CONDUCT.md](docs/CODE_OF_CONDUCT.md) | 社区标准 | | [NOTICE](docs/NOTICE) | 第三方归属 | ## 许可证与归属 - **核心**(扫描器、CLI、本地分析):**MIT** — 见 [LICENSE](LICENSE)。 - **云**(认证、Supabase、遥测管理、社区队列、企业表单):**专有**,通过 [ExtensionShield Cloud](https://extensionshield.com) 提供。 归属:[NOTICE](docs/NOTICE)。品牌:[TRADEMARK.md](docs/TRADEMARK.md)。商业用途:[COMMERCIAL.md](docs/COMMERCIAL.md)(非约束性)。 ## 社区 我们在开放中构建 ExtensionShield,以便安全工具保持透明和可检查。欢迎反馈、问题报告和小改进(文档、测试、规则调整)。如果它对你的组织有帮助,请考虑贡献 PR、分享你的用例或支持该项目。我们尽可能开展开源计划和实习——社区支持有助于维持这些活动。 **致谢**:ExtensionShield 是我们自己的设计;我们借鉴了同一领域的 [ThreatXtension](https://github.com/barvhaim/ThreatXtension)(扩展扫描、VirusTotal 集成)的灵感。
标签:CRX分析, GNU通用公共许可证, MITM代理, Node.js, OpenAI, Open Core, Petitpotam, Python, React, SaaS, SolidJS, Syscalls, Web Store, 内存规避, 安全扫描, 开源核心, 指令注入, 插件安全, 无后门, 时序注入, 治理平台, 网络安全, 证据报告, 请求拦截, 逆向工具, 错误基检测, 隐私保护, 隐私分析, 静态代码分析, 风险评分