You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
- SandboxHmac must handle SandboxKeyObject as key (check key._pem) — jwa passes KeyObject directly to crypto.createHmac()
2285
2286
- createSecretKey creates a KeyObject with type='secret' — needed for HS256/HS384/HS512 algorithm validation in jsonwebtoken
2286
2287
---
2288
+
2289
+
## 2026-03-18 - US-182
2290
+
- What was implemented: Added bcryptjs project-matrix fixture; fixed Date.now timing mitigation to use getter/setter instead of writable:false
2291
+
- Files changed:
2292
+
- packages/secure-exec/tests/projects/bcryptjs-pass/ — new fixture (fixture.json, package.json, src/index.js, pnpm-lock.yaml)
2293
+
- packages/secure-exec-core/isolate-runtime/src/inject/apply-timing-mitigation-freeze.ts — changed Date.now freeze from writable:false to getter/setter (no-op setter) for Node.js compat
2294
+
- packages/secure-exec-core/src/generated/isolate-runtime.ts — regenerated from build
2295
+
- packages/secure-exec/tests/runtime-driver/node/index.test.ts — updated "Date.now cannot be overridden" test to expect assignThrew:false (setter is silently ignored)
2296
+
- docs/nodejs-compatibility.mdx — added bcryptjs to Tested Packages table
2297
+
- **Learnings for future iterations:**
2298
+
- bcryptjs does `Date.now = Date.now || function()...` which assigns to Date.now even when it already exists; writable:false causes TypeError in strict mode
2299
+
- Fix: use getter/setter pattern (get returns frozen fn, set is no-op) instead of writable:false — silently ignores writes while keeping Date.now frozen
2300
+
- Object.defineProperty with configurable:false still blocks re-definition, so security is maintained
2301
+
- Must rebuild core (`pnpm turbo run build --filter=@secure-exec/core`) after changing isolate-runtime source files
2302
+
- Generated isolate-runtime.ts must be committed alongside source changes
0 commit comments