@pawmaskrelease/psecure 1.0.0 → 1.1.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.
- package/CHANGELOG.md +49 -0
- package/README.md +310 -41
- package/bin/psecure.mjs +13 -0
- package/dist/adapters/desktop.js +1 -1
- package/dist/adapters/index.js +1 -1
- package/dist/adapters/mobile-bridge.js +1 -1
- package/dist/adapters/react-native.js +1 -1
- package/dist/adapters/web-shield.js +1 -1
- package/dist/adapters/web-vault.js +1 -1
- package/dist/cli/doctor.d.ts +31 -0
- package/dist/cli/doctor.js +108 -0
- package/dist/client/index.js +1 -1
- package/dist/client/psecure-client.js +83 -82
- package/dist/crypto/block-ciphers.js +1 -1
- package/dist/crypto/chacha-cfb.js +1 -1
- package/dist/crypto/index.js +1 -1
- package/dist/crypto/mba.js +1 -1
- package/dist/crypto/primitives.js +1 -1
- package/dist/crypto/threefish.js +1 -1
- package/dist/crypto/wasm-coprocessor.js +1 -1
- package/dist/crypto/whitebox-aes.js +1 -1
- package/dist/dist-manifest.json +100 -55
- package/dist/errors.d.ts +14 -0
- package/dist/errors.js +53 -0
- package/dist/fetch/index.d.ts +40 -0
- package/dist/fetch/index.js +93 -0
- package/dist/fetch/load-client.d.ts +1 -0
- package/dist/fetch/load-client.js +3 -0
- package/dist/index.d.ts +3 -0
- package/dist/index.js +4 -1
- package/dist/protocol/canonical.js +1 -1
- package/dist/protocol/codecs.js +1 -1
- package/dist/protocol/constants.js +1 -1
- package/dist/protocol/dvp-probes.js +1 -1
- package/dist/protocol/ed25519.js +1 -1
- package/dist/protocol/index.js +1 -1
- package/dist/protocol/types.d.ts +3 -1
- package/dist/protocol/types.js +1 -1
- package/dist/protocol/wire.js +1 -1
- package/dist/rasp/auto-collector.js +1 -1
- package/dist/rasp/behavior-stream.js +1 -1
- package/dist/rasp/dvp-consistency.js +1 -1
- package/dist/rasp/hardware-binding.js +1 -1
- package/dist/rasp/index.js +1 -1
- package/dist/rasp/klepto-seal.js +1 -1
- package/dist/rasp/mobile-native-probes.js +1 -1
- package/dist/rasp/probes.js +1 -1
- package/dist/rasp/web-integrity-probes.js +1 -1
- package/dist/server/authority-types.d.ts +2 -0
- package/dist/server/authority-types.js +1 -1
- package/dist/server/edge.d.ts +20 -0
- package/dist/server/edge.js +54 -0
- package/dist/server/express.d.ts +40 -0
- package/dist/server/express.js +65 -0
- package/dist/server/fastify.d.ts +35 -0
- package/dist/server/fastify.js +45 -0
- package/dist/server/guard.d.ts +129 -0
- package/dist/server/guard.js +121 -0
- package/dist/server/index.d.ts +4 -0
- package/dist/server/index.js +5 -1
- package/dist/server/middleware.js +1 -1
- package/dist/server/remote-authority-client.js +27 -27
- package/dist/server/verdicts.js +6 -6
- package/dist/version.d.ts +1 -0
- package/dist/version.js +3 -0
- package/dist/vm/dynamic-ob.js +1 -1
- package/dist/vm/env-key.js +1 -1
- package/dist/vm/iabc-isa.js +1 -1
- package/dist/vm/index.js +1 -1
- package/dist/vm/psecure-vm.js +1 -1
- package/dist/web/psecure-polymorphic-loader.obf.js +1 -1
- package/dist/web/psecure-vm-kernel.js +1 -1
- package/dist/web/psecure-web-shield.bundle.js +1 -1
- package/package.json +27 -2
package/dist/vm/dynamic-ob.js
CHANGED
|
@@ -120,4 +120,4 @@ const _0xcfa1d8=xorAsciiStringWithByte(_0xe17ea6,_0xa55920);return _0xcfa1d8
|
|
|
120
120
|
.split(_0x517f12_S((0x1422b468^0x1422b45a)))
|
|
121
121
|
.filter((_0x38484e)=>_0x38484e.length>0)
|
|
122
122
|
.map((_0x38484e)=>{const _0xa462ab=_0x38484e.split('|');const _0xa7f616=_0xa462ab[0]??'';const _0xe5266b=_0xa462ab.slice(1);return{[_0x517f12_S(64)]:_0xa7f616,[_0x517f12_S(65)]:_0xe5266b,[_0x517f12_S(66)]:classifyPsObCommandUniversal(_0xa7f616,_0xe5266b),[_0x517f12_S(67)]:_0x38484e,};});}
|
|
123
|
-
/* @psec-self-seal sha256=
|
|
123
|
+
/* @psec-self-seal sha256=2be6e4757f956e7f303efee902417efe66d04e83590372a3ced520831c7255cb fnv1a=117da010 */
|
package/dist/vm/env-key.js
CHANGED
|
@@ -50,4 +50,4 @@ catch{}}
|
|
|
50
50
|
if(typeof g.window!==_0xe00e40_S(7)&&typeof g.console===_0xe00e40_S(5)&&g.console!==null&&(_0xe00e40_S((0x126bfb57^0x126bfb5a))in g.console||_0xe00e40_S((0xc9cd554^0xc9cd55a))in g.console)){trapDelta=(trapDelta^(0x1442506d^0x1442435a))>>>0;}
|
|
51
51
|
const _0xa8bbb1=((_0x48bf73^_0x7db316^_0x5d1a02)^trapDelta)>>>0;return psecMba32.affineMix(_0xa8bbb1,(0x2d8f9619^0x7ddcd35a));}
|
|
52
52
|
export const ENV_CLEAN_CANARY_KEY=psecMba32.affineMix((((0xa94d7591^0x294d7591)>>>0)^(0x388d9d5a^0x77d9d5a)^(0x8241962^0x4948855a))>>>0,(0x2b488319^0x7b1bc65a));
|
|
53
|
-
/* @psec-self-seal sha256=
|
|
53
|
+
/* @psec-self-seal sha256=a378c2c93cfb0c49e562231f6652e395fdb13a5dd35d7aabcb9733ede2ec6759 fnv1a=117da010 */
|
package/dist/vm/iabc-isa.js
CHANGED
|
@@ -45,4 +45,4 @@ export function packIabcWord(_0xed0cbf,_0x25b7dc,_0xc2e061,_0xb9bc9a,_0xecea9b){
|
|
|
45
45
|
export function unpackIabcWord(_0xed0cbf,_0xf156aa){const w=_0xf156aa>>>0;switch(_0xed0cbf&3){case 0:return{[_0x725a7e_S(17)]:w&(0x7488c765^0x7488c75a),[_0x725a7e_S(18)]:(w>>>6)&(0x3b4ebea5^0x3b4ebe5a),[_0x725a7e_S(19)]:(w>>>(0x4bdbc354^0x4bdbc35a))&(0x74b9e0a5^0x74b9e15a),[_0x725a7e_S(20)]:(w>>>(0x17237c4d^0x17237c5a))&(0x29e09ca5^0x29e09d5a),};case 1:return{[_0x725a7e_S(18)]:w&(0x401b8da5^0x401b8d5a),[_0x725a7e_S(17)]:(w>>>8)&(0x3175bb65^0x3175bb5a),[_0x725a7e_S(20)]:(w>>>(0x26839e54^0x26839e5a))&(0x11039da5^0x11039c5a),[_0x725a7e_S(19)]:(w>>>(0x4125034d^0x4125035a))&(0x652ec6a5^0x652ec75a),};case 2:return{[_0x725a7e_S(19)]:w&(0x5ebd57a5^0x5ebd565a),[_0x725a7e_S(20)]:(w>>>9)&(0x636350a5^0x6363515a),[_0x725a7e_S(17)]:(w>>>(0x43afd248^0x43afd25a))&(0x49749465^0x4974945a),[_0x725a7e_S(18)]:(w>>>(0x4dbd142^0x4dbd15a))&(0x3a9591a5^0x3a95915a),};case 3:default:return{[_0x725a7e_S(20)]:w&(0x186a6da5^0x186a6c5a),[_0x725a7e_S(18)]:(w>>>9)&(0x63b4b2a5^0x63b4b25a),[_0x725a7e_S(19)]:(w>>>(0x1cc1634b^0x1cc1635a))&(0x7b74c8a5^0x7b74c95a),[_0x725a7e_S(17)]:(w>>>(0x2ae7fd40^0x2ae7fd5a))&(0x55270065^0x5527005a),};}}
|
|
46
46
|
export function stepQuadraticRollingKey32(_0xd8ce87,_0x4bffd3,_0xcc1e91,_0xcb0424){const _0x5a96a2=(_0xcb0424[0]|1)>>>0;const _0x016285=(_0xcb0424[1]|1)>>>0;const _0x518d5e=_0xcb0424[2]>>>0;const s=psecMba32.add(_0xd8ce87,_0x4bffd3);const _0x75a367=Math.imul(s,s)>>>0;const _0x57ceb5=Math.imul(_0x5a96a2,_0x75a367)>>>0;const _0x971151=Math.imul(_0x016285,s)>>>0;const _0x61682f=psecMba32.xor(_0x518d5e,Math.imul(_0xcc1e91+1,((0xeb241016^0x751369a7)>>>0))>>>0);return psecMba32.affineMix(psecMba32.add(_0x57ceb5,psecMba32.add(_0x971151,_0x61682f)),_0xd8ce87);}
|
|
47
47
|
export function transformIabcBlockWordsInPlace(slice,_0xe1e41f,_0xcb0424,_0xd550dc){const _0x53963d=new DataView(slice.buffer,slice.byteOffset,slice.byteLength);let k=_0xe1e41f>>>0;const _0x97ceb2=slice.byteLength>>>2;for(let i=0;i<_0x97ceb2;i++){const _0x55e541=_0x53963d.getUint32(i*4,true);const _0x7c321a=_0xd550dc===_0x725a7e_S(2)?psecMba32.xor(_0x55e541,k):_0x55e541;const _0x471ae1=_0xd550dc===_0x725a7e_S(3)?psecMba32.xor(_0x7c321a,k):_0x7c321a;_0x53963d.setUint32(i*4,_0x471ae1>>>0,true);k=stepQuadraticRollingKey32(k,_0x7c321a,i,_0xcb0424);}}
|
|
48
|
-
/* @psec-self-seal sha256=
|
|
48
|
+
/* @psec-self-seal sha256=4e36b0670114de13a8e9163f836ce52cdc5b510458a7aa127397d7be7b08141b fnv1a=117da010 */
|
package/dist/vm/index.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
export * from "./psecure-vm.js";
|
|
2
2
|
export * from "./dynamic-ob.js";
|
|
3
3
|
|
|
4
|
-
/* @psec-self-seal sha256=
|
|
4
|
+
/* @psec-self-seal sha256=5cc2a32756b66e9251ae857aa550ac746f79b815f5104e31d07a8918a9c44642 fnv1a=117da010 */
|
package/dist/vm/psecure-vm.js
CHANGED
|
@@ -86,4 +86,4 @@ transformIabcBlockWordsInPlace(slice,_0xd5b05e,_0xece9fc.quadPoly,_0xc2e73f_S(2)
|
|
|
86
86
|
_0x1b558d++;}
|
|
87
87
|
const _0x011f13=new Uint8Array((0x61681c4a^0x61681c5a));const _0x7eb19f=new DataView(_0x011f13.buffer);for(let i=0;i<4;i++){_0x7eb19f.setUint32(i*4,(_0x6cac79[i]??0)>>>0,true);}
|
|
88
88
|
return{[_0xc2e73f_S(41)]:_0x011f13,[_0xc2e73f_S(42)]:bytesToHex(_0x011f13),[_0xc2e73f_S(43)]:_0x1b558d,[_0xc2e73f_S(44)]:_0x749f19,[_0xc2e73f_S(45)]:atRestEncryptedVerified,};}}
|
|
89
|
-
/* @psec-self-seal sha256=
|
|
89
|
+
/* @psec-self-seal sha256=a28994881eda998a155e6812866296b4d9e24e078369b3bf84f61254472cf9ff fnv1a=117da010 */
|
|
@@ -71,4 +71,4 @@ case(0x6d21f66b^0x6d21f65a):{res=(acc^_0x146ded)>>>0;state=(0x70906da5^0x70906d5
|
|
|
71
71
|
default:{state=(0x3272c9a5^0x3272c95a);break;}}}
|
|
72
72
|
return res>>>0;}
|
|
73
73
|
export{_4e0fec_TAG as TAG,_4e0fec_FT as FT,_4e0fec_BI as BI,_4e0fec_M as M,_4e0fec_A as A,_4e0fec_N as N,_4e0fec_B as B,_4e0fec_B91 as B91,_4e0fec_FIELDS as FIELDS,_4e0fec_mba as mba,_4e0fec_evalMath as evalMath};
|
|
74
|
-
/* @psec-self-seal sha256=
|
|
74
|
+
/* @psec-self-seal sha256=5572fa012783f711324fc606d9da6336d28ee415987fe813f4821374dc9a628f fnv1a=117da010 */
|
|
@@ -139,4 +139,4 @@ _0x7202fc(slice,_0x729fd3,_0xf2ae25.quadPoly,_0x0f397f_S((0x518c6b4f^0x518c6b5a)
|
|
|
139
139
|
_0x993190++;}
|
|
140
140
|
const _0x6fbef5=new Uint8Array((0x7686f14a^0x7686f15a));const _0x98134a=new DataView(_0x6fbef5.buffer);for(let i=0;i<4;i++){_0x98134a.setUint32(i*4,(_0x1ce380[i]||0)>>>0,true);}
|
|
141
141
|
return{[_0x0f397f_S(69)]:_0x6fbef5,[_0x0f397f_S(70)]:_0xe131de(_0x6fbef5),[_0x0f397f_S(71)]:_0x993190,[_0x0f397f_S(72)]:_0xc0d0eb,[_0x0f397f_S(73)]:atRestEncryptedVerified};}}
|
|
142
|
-
/* @psec-self-seal sha256=
|
|
142
|
+
/* @psec-self-seal sha256=44d4fbde881317b14c5ff061d3bd49ca179aee8de346f635794ddbf9a7cf51d4 fnv1a=117da010 */
|
|
@@ -202,4 +202,4 @@ function collectFullTelemetryAndSeal(_0x0350ff=(0x65bf7122^0x778b275a),_0xacb6de
|
|
|
202
202
|
const _0x9d1ad6=typeof globalThis!==_0x466489_S(1)?globalThis:(typeof window!==_0x466489_S(1)?window:this);_0x9d1ad6.PSecureWebShield=PSecureWebShield;_0x9d1ad6.PSecureWebBundle={[_0x466489_S(108)]:_0x466489_S((0x51b79e1c^0x51b79e5a)),[_0x466489_S(187)]:_0x466489_S((0x65021213^0x6502125a)),[_0x466489_S(188)]:PSecureWebShield,[_0x466489_S(189)]:runEmbeddedWasmPulse,[_0x466489_S(190)]:decryptAndRunEmbeddedWasmPulse,[_0x466489_S(191)]:BehaviorStreamCollector,[_0x466489_S(192)]:_0x432acf,[_0x466489_S(193)]:collectFullTelemetryAndSeal};if(typeof window!==_0x466489_S(1)){window.PSecureWebShield=PSecureWebShield;window.PSecureWebBundle=_0x9d1ad6.PSecureWebBundle;}
|
|
203
203
|
if(typeof globalThis!==_0x466489_S(1)){globalThis.PSecureWebShield=PSecureWebShield;}
|
|
204
204
|
export{PSecureWebShield,BehaviorStreamCollector,decryptAndRunEmbeddedWasmPulse,runEmbeddedWasmPulse,collectFullTelemetryAndSeal};export default PSecureWebShield;
|
|
205
|
-
/* @psec-self-seal sha256=
|
|
205
|
+
/* @psec-self-seal sha256=d4e99e99f6c3ea4b09a3d3a0f7de777bf65304923ddfec1e14c23a47a95259d3 fnv1a=117da010 */
|
package/package.json
CHANGED
|
@@ -1,10 +1,13 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@pawmaskrelease/psecure",
|
|
3
|
-
"version": "1.
|
|
4
|
-
"description": "Paw Security (PSecure)
|
|
3
|
+
"version": "1.1.0",
|
|
4
|
+
"description": "Paw Security (PSecure) SDK — request sealing client, framework adapters (Fastify, Express, Next.js/Edge) and the doctor CLI for the Paw Mask hosted Verify API. Multi-platform RASP, bytecode VM and crypto shield (Web, Node 20+, React Native, Desktop, Mobile).",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/index.js",
|
|
7
7
|
"types": "./dist/index.d.ts",
|
|
8
|
+
"bin": {
|
|
9
|
+
"psecure": "./bin/psecure.mjs"
|
|
10
|
+
},
|
|
8
11
|
"exports": {
|
|
9
12
|
".": {
|
|
10
13
|
"types": "./dist/index.d.ts",
|
|
@@ -55,6 +58,26 @@
|
|
|
55
58
|
"import": "./dist/server/index.js",
|
|
56
59
|
"default": "./dist/server/index.js"
|
|
57
60
|
},
|
|
61
|
+
"./fastify": {
|
|
62
|
+
"types": "./dist/server/fastify.d.ts",
|
|
63
|
+
"import": "./dist/server/fastify.js",
|
|
64
|
+
"default": "./dist/server/fastify.js"
|
|
65
|
+
},
|
|
66
|
+
"./express": {
|
|
67
|
+
"types": "./dist/server/express.d.ts",
|
|
68
|
+
"import": "./dist/server/express.js",
|
|
69
|
+
"default": "./dist/server/express.js"
|
|
70
|
+
},
|
|
71
|
+
"./edge": {
|
|
72
|
+
"types": "./dist/server/edge.d.ts",
|
|
73
|
+
"import": "./dist/server/edge.js",
|
|
74
|
+
"default": "./dist/server/edge.js"
|
|
75
|
+
},
|
|
76
|
+
"./fetch": {
|
|
77
|
+
"types": "./dist/fetch/index.d.ts",
|
|
78
|
+
"import": "./dist/fetch/index.js",
|
|
79
|
+
"default": "./dist/fetch/index.js"
|
|
80
|
+
},
|
|
58
81
|
"./web-kernel": {
|
|
59
82
|
"types": "./dist/web/psecure-vm-kernel.d.ts",
|
|
60
83
|
"import": "./dist/web/psecure-vm-kernel.js"
|
|
@@ -78,6 +101,8 @@
|
|
|
78
101
|
"!dist/server/store.*",
|
|
79
102
|
"!dist/web/*test*",
|
|
80
103
|
"!dist/**/*.zip",
|
|
104
|
+
"bin",
|
|
105
|
+
"CHANGELOG.md",
|
|
81
106
|
"README.md",
|
|
82
107
|
"LICENSE"
|
|
83
108
|
],
|