一个专业的高保真去匿名化与漏洞诊断框架。具备零耦合的模块化架构,用于基于浏览器的情报收集、硬件指纹识别和安全研究。
由 Ahmad Hassan (B-Ted) 设计开发
[!NOTE] 浏览器隐私与意识提示:现代Web应用普遍假设浏览行为本质上是安全、私密且默认隔离的。SilentSniffer 正是为了挑战这种虚假的安全感而构建。它严格作为自包含的客户端沙箱运行,不会向任何地方导出或传输任何数据。相反,它通过实时可视化演示,展示在用户未明确同意的情况下,有多少环境设备状态、硬件遥测和行为数据可能脱离用户控制——仅仅因为现代浏览器规范默认允许这样做。
大多数互联网用户认为,除非自己在浏览器权限提示中明确点击"允许",否则其会话始终保持私密和封闭。而实际上,标准Web API在底层静默地授予网站对硬件特征、时序向量、网络拓扑和传感器行为的广泛访问权限。
SilentSniffer 的诞生旨在提供一次教育性的警醒。通过在完全安全、仅限本地的沙箱环境中运行诊断与演示模块,用户能够直观地理解现代浏览器所允许的Web暴露真实范围——且不存在任何数据离开其设备的风险。
该工具包基于零耦合动态插件架构构建。核心引擎完全独立于各模块逻辑,通过集中式清单在运行时发现并加载工具。
graph TD
A[index.html / debug.html] -->|Bootstrap| B[src/core/engine.js]
B -->|Fetch Discovery| C[src/config/modules.json]
C -->|Return Payload Paths| B
B -->|Dynamic import| D[src/modules/level_X/*.js]
D -->|Self-Register| B
B -->|Render Grid| UI[Dynamic Command Center]
工具被划分为六个不同级别,反映信息暴露的严重程度。
| 级别 | 分类 | 视觉标识 | 重点领域 | 沙箱行为 |
|---|---|---|---|---|
| L1 | 标准侦察 | 🟢 绿色 | 操作系统、浏览器与性能遥测 | 本地诊断查询 |
| L2 | 高级画像 | 🟡 黄色 | 网络拓扑与硬件指纹识别 | 本地诊断查询 |
| L3 | 关键情报 | 🔴 红色 | 个人身份信息、存储元数据与 Web API | 本地诊断查询 |
| L4 | 高保真硬件利用 | 🟣 紫色 | 硬件硅片与音频指纹识别 | 本地诊断查询 |
| L5 | 武器化向量 | 🖤 黑色 | 主动向量演示(键盘记录器、中间人攻击、表单劫持) | 沙箱化本地反馈 |
| L6 | 社会工程与钓鱼 | 🔥 深红色 | 钓鱼工具包、OAuth 劫持、传感器捕获 | 沙箱化本地反馈 |
本框架严格用于教育研究、意识提升和浏览器能力审计。第 1 级至第 6 级的所有 54 个模块均严格在您的浏览器内运行。 远程数据外传服务器和恶意载荷已被排除;所有捕获的指标和视觉反馈均严格保留在您的本地机器上。
📖 详细技术规范:如需查看被排除的攻击性函数签名、向量及其安全诊断替代方案的完整列表,请参阅 排除向量规范文档。
所有 UI 组件、注册清单、核心基础设施引擎(transmitter.js、persistence.js、evasion.js)以及 54 个诊断模块均已 100% 完成,并可在沙箱环境中正常运行:
| 级别 | 组件 / 模块文件 | 诊断 / 演示重点 | 执行范围 |
|---|---|---|---|
| 核心 | src/core/transmitter.js | 本地 IndexedDB 审计调度 | 本地审计器 |
| 核心 | src/core/persistence.js | 存储持久化 API 检查 | 本地审计器 |
| 核心 | src/core/evasion.js | 自动化指标检测 | 本地审计器 |
| L1 | protocol_handler_scan.js | 协议处理程序 API 审计 | 本地审计器 |
| L1 | display_metrics.js | 色深与可访问性查询 | 本地审计器 |
| L2 | dns_prefetch_scan.js | DNS 预取与计时入口审计 | 本地审计器 |
| L2 | bluetooth_probe.js | Web Bluetooth API 可用性 | 本地审计器 |
| L2 | usb_probe.js | WebUSB 设备授权审计 | 本地审计器 |
| L2 | network_info_audit.js | NetworkInformation API 审计 | 本地审计器 |
| L2 | xr_device_probe.js | WebXR Device API 审计 | 本地审计器 |
| L3 | autofill_harvest.js | HTML5 autocomplete 属性检查 | 本地审计器 |
L3 | credential_phish.js | 安全上下文与 Credential API 检查 | 本地审计器 |
L3 | session_hijack.js | 存储状态与 cookie 启用检查 | 本地审计器 |
L3 | history_sniff.js | History API 堆栈与滚动状态 | 本地审计器 |
L3 | indexeddb_raid.js | 源 IndexedDB 数据库列表 | 本地审计器 |
L3 | cache_exfil.js | Cache Storage 存储桶清单 | 本地审计器 |
L4 | port_scanner.js | WebSockets、Fetch 与 Beacon 检查 | 本地审计器 |
L4 | service_worker_mitm.js | ServiceWorker 注册审计 | 本地审计器 |
L4 | webgl_shader_exploit.js | GLSL 着色器精度位数查询 | 本地审计器 |
L4 | timing_oracle.js | 精确计时器与隔离审计 | 本地审计器 |
L4 | spectre_probe.js | COOP/COEP 与 SharedArrayBuffer 检查 | 本地审计器 |
L4 | codecs_audit.js | WebCodecs API 支持审计 | 本地审计器 |
L4 | worker_channel_audit.js | Worker 通道消息传递审计 | 本地审计器 |
L5 | dns_rebinding.js | 源与 document.domain 边界 | 本地审计器 |
L5 | clickjack_engine.js | 窗口框架状态(top !== self) | 本地审计器 |
L5 | pastejack.js | Clipboard API 权限查询 | 本地审计器 |
L5 | cache_poison_attack.js | CacheStorage API 源检查 | 本地审计器 |
L5 | tab_napping.js | Page Visibility API 状态 | 本地审计器 |
L5 | keylogger.js | Keyboard Layout API 查询 | 本地审计器 |
L5 | formjack.js | HTMLFormElement requestSubmit 检查 | 本地审计器 |
L5 | crypto_miner.js | WebAssembly 验证与核心数 | 本地审计器 |
L6 | notification_phish.js | Notification API 权限状态 | 本地审计器 |
L6 | oauth_hijack.js | 窗口弹出接口检查 | 本地审计器 |
L6 | download_drive_by.js | 锚点 download 属性检查 | 本地审计器 |
L6 | permission_abuse.js | 多传感器 Permissions API 查询 | 本地审计器 |
L6 | screen_capture.js | Display Media API 支持检查 | 本地审计器 |
L6 | camera_capture.js | UserMedia API 约束检查 | 本地审计器 |
所有诊断查询严格在本地浏览器上下文中执行,并将执行数据存储在隔离的本地 IndexedDB(SilentSnifferAuditLogDB)中。任何数据都不会离开用户的浏览器。
当模块被执行时,它会遵循从初始化到本地渲染的严格生命周期。
sequenceDiagram
participant U as UI (Command Center)
participant E as Engine.js
participant M as Module.js
participant API as Browser Web API
U->>E: User triggers Execution
E->>E: Initializing Sequence
E->>M: run() async
M->>API: Native Web API Probe / Inspection
API-->>M: Local Diagnostic State
M-->>E: Structured Payload
E->>U: Render to Local Terminal UI
SilentSniffer/
├── src/
│ ├── core/
│ │ ├── engine.js # Framework Orchestrator
│ │ └── transmitter.js # Data Storage & Audit Logger
│ ├── config/
│ │ └── modules.json # Discovery Manifest
│ ├── modules/ # Diagnostic & Awareness Modules
│ │ ├── level1/ # Standard Recon
│ │ ├── level2/ # Fingerprinting
│ │ ├── level3/ # Intelligence
│ │ ├── level4/ # Bypass Lab
│ │ ├── level5/ # Advanced Vectors
│ │ └── level6/ # Social Engineering & Media
│ └── styles/ # Global Design System
├── debug.html # Command & Diagnostic Center
└── index.html # Dashboard Interface
每个模块都遵循统一接口,以确保在动态沙箱中干净地执行。
/**
* SilentSniffer Module Template
*/
export default {
id: 'unique_identifier',
title: 'Display_Name',
level: 4, // Level 1-6
info: "Description of the browser capability or security exposure.",
steps: [
"Phase 1 Recon...",
"Phase 2 Local Probe...",
"Phase 3 State Analysis..."
],
run: async () => {
// Local diagnostic logic
return { data: 'captured_intel' };
}
};
本仓库以 Web 安全教育与研究为核心进行维护。欢迎贡献者通过实现新的浏览器能力审计器来扩展该工具包。
src/modules/levelX/ 文件夹。src/config/modules.json。debug.html 以确认该工具已自动渲染并可正常运行。