@svrnsec/pulse 0.7.0 → 0.9.0

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 (49) hide show
  1. package/LICENSE +21 -21
  2. package/README.md +883 -782
  3. package/SECURITY.md +27 -22
  4. package/bin/svrnsec-pulse.js +7 -7
  5. package/dist/{pulse.cjs.js → pulse.cjs} +6428 -6413
  6. package/dist/pulse.cjs.map +1 -0
  7. package/dist/pulse.esm.js +6429 -6415
  8. package/dist/pulse.esm.js.map +1 -1
  9. package/index.d.ts +949 -846
  10. package/package.json +189 -184
  11. package/pkg/pulse_core.js +174 -173
  12. package/src/analysis/audio.js +213 -213
  13. package/src/analysis/authenticityAudit.js +408 -393
  14. package/src/analysis/coherence.js +502 -502
  15. package/src/analysis/coordinatedBehavior.js +825 -804
  16. package/src/analysis/heuristic.js +428 -428
  17. package/src/analysis/jitter.js +446 -446
  18. package/src/analysis/llm.js +473 -472
  19. package/src/analysis/populationEntropy.js +404 -403
  20. package/src/analysis/provider.js +248 -248
  21. package/src/analysis/refraction.js +392 -391
  22. package/src/analysis/trustScore.js +356 -356
  23. package/src/cli/args.js +36 -36
  24. package/src/cli/commands/scan.js +192 -192
  25. package/src/cli/runner.js +157 -157
  26. package/src/collector/adaptive.js +200 -200
  27. package/src/collector/bio.js +297 -287
  28. package/src/collector/canvas.js +247 -239
  29. package/src/collector/dram.js +203 -203
  30. package/src/collector/enf.js +311 -311
  31. package/src/collector/entropy.js +195 -195
  32. package/src/collector/gpu.js +248 -245
  33. package/src/collector/idleAttestation.js +480 -480
  34. package/src/collector/sabTimer.js +189 -191
  35. package/src/errors.js +54 -0
  36. package/src/fingerprint.js +475 -475
  37. package/src/index.js +345 -342
  38. package/src/integrations/react-native.js +462 -459
  39. package/src/integrations/react.js +184 -185
  40. package/src/middleware/express.js +155 -155
  41. package/src/middleware/next.js +174 -175
  42. package/src/proof/challenge.js +249 -249
  43. package/src/proof/engagementToken.js +426 -394
  44. package/src/proof/fingerprint.js +268 -268
  45. package/src/proof/validator.js +82 -142
  46. package/src/registry/serializer.js +349 -349
  47. package/src/terminal.js +263 -263
  48. package/src/update-notifier.js +259 -264
  49. package/dist/pulse.cjs.js.map +0 -1
package/package.json CHANGED
@@ -1,184 +1,189 @@
1
- {
2
- "name": "@svrnsec/pulse",
3
- "version": "0.7.0",
4
- "description": "Physical Turing Test — Idle attestation, population-level Sybil detection, and engagement tokens that defeat click farms at the physics layer.",
5
- "type": "module",
6
- "license": "MIT",
7
- "author": "Aaron Miller",
8
- "repository": {
9
- "type": "git",
10
- "url": "https://github.com/ayronny14-alt/Svrn-Pulse-Security.git"
11
- },
12
- "homepage": "https://github.com/ayronny14-alt/Svrn-Pulse-Security#readme",
13
- "bugs": {
14
- "url": "https://github.com/ayronny14-alt/Svrn-Pulse-Security/issues"
15
- },
16
- "types": "index.d.ts",
17
- "bin": {
18
- "svrnsec-pulse": "./bin/svrnsec-pulse.js"
19
- },
20
- "publishConfig": {
21
- "access": "public",
22
- "registry": "https://registry.npmjs.org/"
23
- },
24
- "exports": {
25
- ".": {
26
- "browser": "./dist/pulse.esm.js",
27
- "import": "./dist/pulse.esm.js",
28
- "require": "./dist/pulse.cjs"
29
- },
30
- "./validator": {
31
- "node": "./src/proof/validator.js",
32
- "import": "./src/proof/validator.js"
33
- },
34
- "./challenge": {
35
- "node": "./src/proof/challenge.js",
36
- "import": "./src/proof/challenge.js"
37
- },
38
- "./trust": {
39
- "import": "./src/analysis/trustScore.js",
40
- "node": "./src/analysis/trustScore.js"
41
- },
42
- "./registry": {
43
- "import": "./src/registry/serializer.js",
44
- "node": "./src/registry/serializer.js"
45
- },
46
- "./middleware/express": {
47
- "import": "./src/middleware/express.js",
48
- "node": "./src/middleware/express.js"
49
- },
50
- "./middleware/next": {
51
- "import": "./src/middleware/next.js",
52
- "node": "./src/middleware/next.js"
53
- },
54
- "./react": {
55
- "import": "./src/integrations/react.js"
56
- },
57
- "./react-native": {
58
- "import": "./src/integrations/react-native.js"
59
- },
60
- "./gpu": {
61
- "import": "./src/collector/gpu.js"
62
- },
63
- "./dram": {
64
- "import": "./src/collector/dram.js"
65
- },
66
- "./llm": {
67
- "import": "./src/analysis/llm.js"
68
- },
69
- "./timer": {
70
- "import": "./src/collector/sabTimer.js"
71
- },
72
- "./enf": {
73
- "import": "./src/collector/enf.js"
74
- },
75
- "./idle": {
76
- "import": "./src/collector/idleAttestation.js",
77
- "node": "./src/collector/idleAttestation.js"
78
- },
79
- "./population": {
80
- "import": "./src/analysis/populationEntropy.js",
81
- "node": "./src/analysis/populationEntropy.js"
82
- },
83
- "./engage": {
84
- "import": "./src/proof/engagementToken.js",
85
- "node": "./src/proof/engagementToken.js"
86
- },
87
- "./audit": {
88
- "import": "./src/analysis/authenticityAudit.js",
89
- "node": "./src/analysis/authenticityAudit.js"
90
- },
91
- "./refraction": {
92
- "browser": "./src/analysis/refraction.js",
93
- "import": "./src/analysis/refraction.js",
94
- "node": "./src/analysis/refraction.js"
95
- },
96
- "./coordination": {
97
- "import": "./src/analysis/coordinatedBehavior.js",
98
- "node": "./src/analysis/coordinatedBehavior.js"
99
- }
100
- },
101
- "main": "dist/pulse.cjs.js",
102
- "module": "dist/pulse.esm.js",
103
- "files": [
104
- "dist/",
105
- "pkg/",
106
- "bin/",
107
- "src/",
108
- "index.d.ts",
109
- "SECURITY.md"
110
- ],
111
- "scripts": {
112
- "build:wasm": "bash build.sh",
113
- "build:js": "rollup -c rollup.config.js",
114
- "build": "npm run build:wasm && npm run build:js",
115
- "dev": "rollup -c rollup.config.js --watch",
116
- "test": "node --experimental-vm-modules ./node_modules/jest-cli/bin/jest.js",
117
- "demo": "node demo/node-demo.js",
118
- "scan": "node bin/svrnsec-pulse.js scan"
119
- },
120
- "dependencies": {
121
- "@noble/hashes": "^1.4.0"
122
- },
123
- "devDependencies": {
124
- "@rollup/plugin-commonjs": "^25.0.0",
125
- "@rollup/plugin-node-resolve": "^15.0.0",
126
- "@rollup/plugin-wasm": "^6.2.2",
127
- "@types/jest": "^29.0.0",
128
- "jest": "^29.0.0",
129
- "rollup": "^4.0.0"
130
- },
131
- "peerDependencies": {
132
- "react": ">=17.0.0",
133
- "react-native": ">=0.70.0",
134
- "expo-sensors": ">=13.0.0"
135
- },
136
- "peerDependenciesMeta": {
137
- "react": { "optional": true },
138
- "react-native": { "optional": true },
139
- "expo-sensors": { "optional": true }
140
- },
141
- "keywords": [
142
- "physical-turing-test",
143
- "hardware-fingerprint",
144
- "bot-detection",
145
- "wasm",
146
- "zero-knowledge",
147
- "anti-vm",
148
- "jitter-analysis",
149
- "blake3",
150
- "webgpu",
151
- "dram-detection",
152
- "llm-detection",
153
- "ai-agent-detection",
154
- "behavioral-biometrics",
155
- "trust-score",
156
- "hmac-challenge",
157
- "react-native",
158
- "mobile-security",
159
- "enf-detection",
160
- "cli",
161
- "click-farm-detection",
162
- "idle-attestation",
163
- "engagement-token",
164
- "sybil-detection",
165
- "invalid-traffic",
166
- "proof-of-idle",
167
- "authenticity-audit",
168
- "bot-percentage",
169
- "fraud-rate-estimation",
170
- "refraction",
171
- "timer-calibration",
172
- "browser-detection",
173
- "coordinated-behavior",
174
- "drift-fingerprinting",
175
- "mutual-information",
176
- "entropy-velocity",
177
- "louvain-community-detection",
178
- "clock-drift",
179
- "inauthentic-behavior"
180
- ],
181
- "engines": {
182
- "node": ">=18.0.0"
183
- }
184
- }
1
+ {
2
+ "name": "@svrnsec/pulse",
3
+ "version": "0.9.0",
4
+ "description": "Physical Turing Test — Idle attestation, population-level Sybil detection, and engagement tokens that defeat click farms at the physics layer.",
5
+ "type": "module",
6
+ "license": "MIT",
7
+ "author": "Aaron Miller",
8
+ "repository": {
9
+ "type": "git",
10
+ "url": "https://github.com/ayronny14-alt/Svrn-Pulse-Security.git"
11
+ },
12
+ "homepage": "https://github.com/ayronny14-alt/Svrn-Pulse-Security#readme",
13
+ "bugs": {
14
+ "url": "https://github.com/ayronny14-alt/Svrn-Pulse-Security/issues"
15
+ },
16
+ "types": "index.d.ts",
17
+ "bin": {
18
+ "svrnsec-pulse": "./bin/svrnsec-pulse.js"
19
+ },
20
+ "publishConfig": {
21
+ "access": "public",
22
+ "registry": "https://registry.npmjs.org/"
23
+ },
24
+ "exports": {
25
+ ".": {
26
+ "browser": "./dist/pulse.esm.js",
27
+ "import": "./dist/pulse.esm.js",
28
+ "require": "./dist/pulse.cjs"
29
+ },
30
+ "./validator": {
31
+ "node": "./src/proof/validator.js",
32
+ "import": "./src/proof/validator.js"
33
+ },
34
+ "./challenge": {
35
+ "node": "./src/proof/challenge.js",
36
+ "import": "./src/proof/challenge.js"
37
+ },
38
+ "./trust": {
39
+ "import": "./src/analysis/trustScore.js",
40
+ "node": "./src/analysis/trustScore.js"
41
+ },
42
+ "./registry": {
43
+ "import": "./src/registry/serializer.js",
44
+ "node": "./src/registry/serializer.js"
45
+ },
46
+ "./middleware/express": {
47
+ "import": "./src/middleware/express.js",
48
+ "node": "./src/middleware/express.js"
49
+ },
50
+ "./middleware/next": {
51
+ "import": "./src/middleware/next.js",
52
+ "node": "./src/middleware/next.js"
53
+ },
54
+ "./react": {
55
+ "import": "./src/integrations/react.js"
56
+ },
57
+ "./react-native": {
58
+ "import": "./src/integrations/react-native.js"
59
+ },
60
+ "./gpu": {
61
+ "import": "./src/collector/gpu.js"
62
+ },
63
+ "./dram": {
64
+ "import": "./src/collector/dram.js"
65
+ },
66
+ "./llm": {
67
+ "import": "./src/analysis/llm.js"
68
+ },
69
+ "./timer": {
70
+ "import": "./src/collector/sabTimer.js"
71
+ },
72
+ "./enf": {
73
+ "import": "./src/collector/enf.js"
74
+ },
75
+ "./idle": {
76
+ "import": "./src/collector/idleAttestation.js",
77
+ "node": "./src/collector/idleAttestation.js"
78
+ },
79
+ "./population": {
80
+ "import": "./src/analysis/populationEntropy.js",
81
+ "node": "./src/analysis/populationEntropy.js"
82
+ },
83
+ "./engage": {
84
+ "import": "./src/proof/engagementToken.js",
85
+ "node": "./src/proof/engagementToken.js"
86
+ },
87
+ "./audit": {
88
+ "import": "./src/analysis/authenticityAudit.js",
89
+ "node": "./src/analysis/authenticityAudit.js"
90
+ },
91
+ "./refraction": {
92
+ "browser": "./src/analysis/refraction.js",
93
+ "import": "./src/analysis/refraction.js",
94
+ "node": "./src/analysis/refraction.js"
95
+ },
96
+ "./coordination": {
97
+ "import": "./src/analysis/coordinatedBehavior.js",
98
+ "node": "./src/analysis/coordinatedBehavior.js"
99
+ },
100
+ "./errors": {
101
+ "import": "./src/errors.js",
102
+ "node": "./src/errors.js"
103
+ }
104
+ },
105
+ "main": "dist/pulse.cjs",
106
+ "module": "dist/pulse.esm.js",
107
+ "files": [
108
+ "dist/",
109
+ "pkg/",
110
+ "bin/",
111
+ "src/",
112
+ "index.d.ts",
113
+ "README.md",
114
+ "SECURITY.md"
115
+ ],
116
+ "scripts": {
117
+ "build:wasm": "bash build.sh",
118
+ "build:js": "rollup -c rollup.config.js",
119
+ "build": "npm run build:wasm && npm run build:js",
120
+ "dev": "rollup -c rollup.config.js --watch",
121
+ "test": "node --experimental-vm-modules ./node_modules/jest-cli/bin/jest.js",
122
+ "demo": "node demo/node-demo.js",
123
+ "scan": "node bin/svrnsec-pulse.js scan"
124
+ },
125
+ "dependencies": {
126
+ "@noble/hashes": "^1.4.0"
127
+ },
128
+ "devDependencies": {
129
+ "@rollup/plugin-commonjs": "^25.0.0",
130
+ "@rollup/plugin-node-resolve": "^15.0.0",
131
+ "@rollup/plugin-wasm": "^6.2.2",
132
+ "@types/jest": "^29.0.0",
133
+ "jest": "^29.0.0",
134
+ "rollup": "^4.0.0"
135
+ },
136
+ "peerDependencies": {
137
+ "react": ">=17.0.0",
138
+ "react-native": ">=0.70.0",
139
+ "expo-sensors": ">=13.0.0"
140
+ },
141
+ "peerDependenciesMeta": {
142
+ "react": { "optional": true },
143
+ "react-native": { "optional": true },
144
+ "expo-sensors": { "optional": true }
145
+ },
146
+ "keywords": [
147
+ "physical-turing-test",
148
+ "hardware-fingerprint",
149
+ "bot-detection",
150
+ "wasm",
151
+ "zero-knowledge",
152
+ "anti-vm",
153
+ "jitter-analysis",
154
+ "blake3",
155
+ "webgpu",
156
+ "dram-detection",
157
+ "llm-detection",
158
+ "ai-agent-detection",
159
+ "behavioral-biometrics",
160
+ "trust-score",
161
+ "hmac-challenge",
162
+ "react-native",
163
+ "mobile-security",
164
+ "enf-detection",
165
+ "cli",
166
+ "click-farm-detection",
167
+ "idle-attestation",
168
+ "engagement-token",
169
+ "sybil-detection",
170
+ "invalid-traffic",
171
+ "proof-of-idle",
172
+ "authenticity-audit",
173
+ "bot-percentage",
174
+ "fraud-rate-estimation",
175
+ "refraction",
176
+ "timer-calibration",
177
+ "browser-detection",
178
+ "coordinated-behavior",
179
+ "drift-fingerprinting",
180
+ "mutual-information",
181
+ "entropy-velocity",
182
+ "louvain-community-detection",
183
+ "clock-drift",
184
+ "inauthentic-behavior"
185
+ ],
186
+ "engines": {
187
+ "node": ">=18.0.0"
188
+ }
189
+ }