Skip to content

Commit 8fcc83d

Browse files
Deploying to gh-pages from @ 40c2b85 🚀
1 parent 5a32199 commit 8fcc83d

5 files changed

Lines changed: 88 additions & 2 deletions

File tree

src/config/modules.json

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -50,6 +50,9 @@
5050
"src/modules/level6/screen_capture.js",
5151
"src/modules/level6/camera_capture.js",
5252
"src/modules/level1/display_metrics.js",
53-
"src/modules/level2/network_info_audit.js"
53+
"src/modules/level2/network_info_audit.js",
54+
"src/modules/level2/xr_device_probe.js",
55+
"src/modules/level4/codecs_audit.js",
56+
"src/modules/level4/worker_channel_audit.js"
5457
]
5558
}

src/modules/index.js

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -53,6 +53,9 @@ import screen_capture from '../../src/modules/level6/screen_capture.js';
5353
import camera_capture from '../../src/modules/level6/camera_capture.js';
5454
import display_metrics from '../../src/modules/level1/display_metrics.js';
5555
import network_info_audit from '../../src/modules/level2/network_info_audit.js';
56+
import xr_device_probe from '../../src/modules/level2/xr_device_probe.js';
57+
import codecs_audit from '../../src/modules/level4/codecs_audit.js';
58+
import worker_channel_audit from '../../src/modules/level4/worker_channel_audit.js';
5659

5760
export const activeModules = [
5861
env_telemetry,
@@ -105,5 +108,8 @@ export const activeModules = [
105108
screen_capture,
106109
camera_capture,
107110
display_metrics,
108-
network_info_audit
111+
network_info_audit,
112+
xr_device_probe,
113+
codecs_audit,
114+
worker_channel_audit
109115
];
Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
/**
2+
* Pinpoint Module: WebXR Device API Audit
3+
* Level 2: Advanced Profiling
4+
*/
5+
export default {
6+
id: 'xr_device_probe',
7+
title: 'WebXR_Device_Audit',
8+
level: 2,
9+
info: "Audits navigator.xr support and WebXR session mode availability (inline, immersive-vr, immersive-ar).",
10+
steps: ["Check navigator.xr presence.", "Query isSessionSupported for inline and immersive VR/AR modes."],
11+
run: async () => {
12+
if (!('xr' in navigator)) {
13+
return {
14+
supported: false,
15+
message: "WebXR Device API is not supported by this browser."
16+
};
17+
}
18+
19+
let inlineSupported = false;
20+
let vrSupported = false;
21+
let arSupported = false;
22+
23+
try { inlineSupported = await navigator.xr.isSessionSupported('inline'); } catch (e) {}
24+
try { vrSupported = await navigator.xr.isSessionSupported('immersive-vr'); } catch (e) {}
25+
try { arSupported = await navigator.xr.isSessionSupported('immersive-ar'); } catch (e) {}
26+
27+
return {
28+
supported: true,
29+
modes: {
30+
inline: inlineSupported,
31+
immersiveVr: vrSupported,
32+
immersiveAr: arSupported
33+
}
34+
};
35+
}
36+
};

src/modules/level4/codecs_audit.js

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
/**
2+
* Pinpoint Module: Web Codecs API Audit
3+
* Level 4: High-Fidelity HW Exploits
4+
*/
5+
export default {
6+
id: 'codecs_audit',
7+
title: 'WebCodecs_API_Audit',
8+
level: 4,
9+
info: "Audits window.VideoEncoder and window.AudioEncoder support for hardware video/audio encoding capabilities.",
10+
steps: ["Check VideoEncoder and AudioEncoder globals.", "Inspect MediaCapabilities API decoding info."],
11+
run: async () => {
12+
const hasVideoEncoder = typeof VideoEncoder !== 'undefined';
13+
const hasAudioEncoder = typeof AudioEncoder !== 'undefined';
14+
const hasMediaCapabilities = navigator.mediaCapabilities && typeof navigator.mediaCapabilities.decodingInfo === 'function';
15+
16+
return {
17+
videoEncoderSupported: hasVideoEncoder,
18+
audioEncoderSupported: hasAudioEncoder,
19+
mediaCapabilitiesApiSupported: hasMediaCapabilities
20+
};
21+
}
22+
};
Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
/**
2+
* Pinpoint Module: Web Workers & BroadcastChannel Audit
3+
* Level 4: High-Fidelity HW Exploits
4+
*/
5+
export default {
6+
id: 'worker_channel_audit',
7+
title: 'Worker_Channel_Audit',
8+
level: 4,
9+
info: "Audits BroadcastChannel, SharedWorker, and ServiceWorker API availability for cross-context messaging.",
10+
steps: ["Check window.BroadcastChannel support.", "Check window.SharedWorker support."],
11+
run: async () => {
12+
return {
13+
broadcastChannelSupported: typeof BroadcastChannel !== 'undefined',
14+
sharedWorkerSupported: typeof SharedWorker !== 'undefined',
15+
serviceWorkerSupported: 'serviceWorker' in navigator,
16+
messageChannelSupported: typeof MessageChannel !== 'undefined'
17+
};
18+
}
19+
};

0 commit comments

Comments
 (0)