Manas-5461X/SecScan.io
GitHub: Manas-5461X/SecScan.io
一个基于 OSV 数据库的 GitHub 仓库安全扫描平台,用于检测密钥泄露、依赖漏洞和配置错误。
Stars: 1 | Forks: 0
```
____ ____
/ ___| ___ ___/ ___| ___ __ _ _ __
\___ \ / _ \/ __\___ \ / __/ _` | '_ \
___) | __/ (__ ___) | (_| (_| | | | |
|____/ \___|\___|____/ \___\__,_|_| |_|
```
**[ SEC-SCAN v1.0.4-STABLE ]**
     
**SecScan** 是一个高性能的企业级安全编排平台。它旨在“左移安全”,提供多层静态分析引擎(启发式)+ 高级检测逻辑,实时识别、修复和追踪关键代码漏洞。
     
**SecScan** 是一个高性能的企业级安全编排平台。它旨在“左移安全”,提供多层静态分析引擎(启发式)+ 高级检测逻辑,实时识别、修复和追踪关键代码漏洞。
## 🌟 目录 1. [核心功能](#-core-features) 2. [安全模块深度解析](#-deep-dive-into-security-modules) 3. [架构概览](#-architecture-overview) 4. [企业级技术栈](#-enterprise-grade-tech-stack) 5. [本地开发与环境搭建](#-local-development--setup) 6. [Docker 部署](#-docker-deployment) 7. [API 集成](#-api-integration) 8. [威胁建模](#-threat-modeling) 9. [开发路线图](#-development-roadmap) 10. [贡献指南](#-contributing-guidelines) 11. [安全免责声明](#-security-disclaimer) 12. [许可证](#-license)
## 🛡️ 核心功能 - **启发式密钥检测**:利用先进的正则引擎和模式匹配算法,即时识别暴露的加密密钥,包括 AWS IAM 令牌、Stripe API 密钥、Google Cloud JSON 文件、Firebase 配置、硬编码的 JWT 和 RSA 私钥(在公开仓库中)。 - **依赖项漏洞审计**:解析标准包清单(如 `package.json`),查询开放的 **OSV.dev(开源漏洞)** 数据库,并交叉引用依赖树,实时检测恶意包、零日 CVE 和过时的库。 - **攻击性配置分析**:进行结构性分析,检测意外暴露的内部配置,包括 `.git` 目录、硬编码的 IPv4/IPv6 地址、危险的 `Dockerfile` root 执行(`USER root`)、以及过度宽松的 CORS 策略(`Access-Control-Allow-Origin: *`)。 - **可量化的风险评分引擎**:一种先进、精细的数学算法,根据影响和可利用性对每个发现进行加权,产生一个聚合风险评分(例如 0-100)和一个总体严重性等级(清洁、低、中、高、严重)。 - **网络安全编排仪表盘**:一款超高级、暗色主题、毛玻璃效果的 React 仪表盘。它利用实时状态管理和可视化统计(严重性颜色编码、动态指标),为安全工程师提供无与伦比的用户体验(UX)。 ## 🔍 安全模块深度解析 ### 1. 静态应用安全测试 (SAST) SecScan 分析原始代码文本(源代码文件),无需执行它们。通过静态解析从 GitHub API 获取的文件,它绕过了复杂的构建过程,确保扫描时间保持在几秒以内,无论项目规模大小。 ### 2. 软件组成分析 (SCA) 第三方依赖是现代软件供应链中最大的攻击面。SecScan 的 SCA 引擎获取依赖锁定文件,并将其精确版本与公共情报源交叉引用。该系统旨在对包含远程代码执行(RCE)或跨站脚本(XSS)漏洞的传递依赖发出警报。 ### 3. 威胁建模与优先级排序 并非所有漏洞都具有相同的权重。SecScan 应用加权威胁模型: - **暴露的 AWS 密钥:** 即时 `+50` 严重风险。 - **暴露的 Git 文件夹:** `+30` 高风险。 - **易受攻击的包:** 每次出现 `+15`。 累计分数决定了整体安全态势,使 DevSecOps 团队能够有效确定补救措施的优先级。 ## 🏗️ 架构概览 该系统采用解耦的客户端-服务器架构,确保繁重的模式匹配和外部 API 请求(GitHub、OSV)在后端安全编排,保护客户端免受 CORS 问题和 API 密钥暴露的影响。 ``` [ Premium React Dashboard ] <---(REST JSON)---> [ Node.js API Controller ] ( Vite + TailwindCSS + Lucide) ( Express + TypeScript ) | +-----------------------+--------------------+-----------------------+ | | | | [ Secret Scanner ] [ Dependency Scanner ] [ Config Scanner ] [ Risk Assessment ] | | | | (Regex Engine) (OSV.dev API) (Regex Engine) (Scoring Algorithm) \ | / / \----------------------+-------------------/-----------------------/ | ( GitHub REST API ) ``` ## 🚀 企业级技术栈 ### 前端架构 - **React 19.0**:利用最新的并发渲染功能和 Hooks,实现无与伦比的 UI 性能。 - **Tailwind CSS V4**:实用优先的 CSS 框架,原生提供毛玻璃效果、高级背景模糊和响应式设计,无需繁重的 CSS 文件。 - **Lucide React**:简洁、轻量、高度可定制的 SVG 图标集,用于安全徽章和 UI 元素。 - **Vite**:下一代前端工具,提供即时服务器启动和闪电般的热模块替换(HMR)。 ### 后端服务 - **Node.js (v20 LTS)**:高吞吐量、事件驱动的 JavaScript 运行时,同时处理数千个异步 API 请求。 - **Express.js**:快速、无偏见、极简的 Node.js Web 框架,管理路由和中间件集成。 - **TypeScript**:确保整个堆栈的严格类型安全,最小化运行时异常,桥接前后端之间的接口契约。 - **Zod**:模式声明和验证库,严格净化所有用户输入(例如仓库 URL),防止针对扫描器本身的注入攻击。 - **Winston**:高级日志框架,用于维护系统执行的所有扫描的审计追踪。 ## 🛠️ 本地开发与环境搭建 按照以下说明在本地开发机器上安全运行该应用程序(无需 Docker)。 ### 前置条件 - **Node.js**:严格需要 18.x 或更高版本。 - **Git**:用于克隆仓库。 - **GitHub 个人访问令牌 (PAT)**:强烈建议使用,以绕过 GitHub 激进的未认证速率限制(60 次请求/小时 vs 5000 次请求/小时)。 ### 步骤 1:环境配置 克隆仓库并在项目根目录创建本地化的 `.env` 文件。 ``` git clone https://github.com/your-org/SecScan.git cd SecScan ``` 创建 `.env` 文件:
用心构建 ❤️