doyensec / electronegativity

Electronegativity is a tool to identify misconfigurations and security anti-patterns in Electron applications.
Apache License 2.0
972 stars 66 forks source link

LoaderASAR tests fail #14

Closed JarLob closed 6 years ago

JarLob commented 6 years ago
  Loader classes
    LoaderASAR
      √ fails if archive does not exist
debug: Files in ASAR archive: \browser,\browser\api,\browser\api\app.js,\browser\api\auto-updater,\browser\api\auto-updater\auto-updater-native.js,\browser\api\auto-updater\auto-updater-win.js,\browser\api\auto-updater\squirrel-update-win.js,\browser\api\auto-updater.js,\browser\api\browser-window.js,\browser\api\content-tracing.js,\browser\api\dialog.js,\browser\api\exports,\browser\api\exports\electron.js,\browser\api\global-shortcut.js,\browser\api\ipc-main.js,\browser\api\menu-item-roles.js,\browser\api\menu-item.js,\browser\api\menu.js,\browser\api\navigation-controller.js,\browser\api\power-monitor.js,\browser\api\power-save-blocker.js,\browser\api\protocol.js,\browser\api\screen.js,\browser\api\session.js,\browser\api\system-preferences.js,\browser\api\tray.js,\browser\api\web-contents.js,\browser\chrome-extension.js,\browser\desktop-capturer.js,\browser\guest-view-manager.js,\browser\guest-window-manager.js,\browser\init.js,\browser\objects-registry.js,\browser\rpc-server.js,\common,\common\api,\common\api\callbacks-registry.js,\common\api\clipboard.js,\common\api\crash-reporter.js,\common\api\deprecate.js,\common\api\deprecations.js,\common\api\exports,\common\api\exports\electron.js,\common\api\is-promise.js,\common\api\native-image.js,\common\api\shell.js,\common\init.js,\common\reset-search-paths.js,\renderer,\renderer\api,\renderer\api\desktop-capturer.js,\renderer\api\exports,\renderer\api\exports\electron.js,\renderer\api\ipc-renderer.js,\renderer\api\remote.js,\renderer\api\screen.js,\renderer\api\web-frame.js,\renderer\chrome-api.js,\renderer\content-scripts-injector.js,\renderer\extensions,\renderer\extensions\event.js,\renderer\extensions\i18n.js,\renderer\extensions\storage.js,\renderer\extensions\web-navigation.js,\renderer\init.js,\renderer\inspector.js,\renderer\override.js,\renderer\web-view,\renderer\web-view\guest-view-internal.js,\renderer\web-view\web-view-attributes.js,\renderer\web-view\web-view-constants.js,\renderer\web-view\web-view.js
debug: Extracting file: \browser\api\app.js
      1) returns a Map
debug: Files in ASAR archive: \browser,\browser\api,\browser\api\app.js,\browser\api\auto-updater,\browser\api\auto-updater\auto-updater-native.js,\browser\api\auto-updater\auto-updater-win.js,\browser\api\auto-updater\squirrel-update-win.js,\browser\api\auto-updater.js,\browser\api\browser-window.js,\browser\api\content-tracing.js,\browser\api\dialog.js,\browser\api\exports,\browser\api\exports\electron.js,\browser\api\global-shortcut.js,\browser\api\ipc-main.js,\browser\api\menu-item-roles.js,\browser\api\menu-item.js,\browser\api\menu.js,\browser\api\navigation-controller.js,\browser\api\power-monitor.js,\browser\api\power-save-blocker.js,\browser\api\protocol.js,\browser\api\screen.js,\browser\api\session.js,\browser\api\system-preferences.js,\browser\api\tray.js,\browser\api\web-contents.js,\browser\chrome-extension.js,\browser\desktop-capturer.js,\browser\guest-view-manager.js,\browser\guest-window-manager.js,\browser\init.js,\browser\objects-registry.js,\browser\rpc-server.js,\common,\common\api,\common\api\callbacks-registry.js,\common\api\clipboard.js,\common\api\crash-reporter.js,\common\api\deprecate.js,\common\api\deprecations.js,\common\api\exports,\common\api\exports\electron.js,\common\api\is-promise.js,\common\api\native-image.js,\common\api\shell.js,\common\init.js,\common\reset-search-paths.js,\renderer,\renderer\api,\renderer\api\desktop-capturer.js,\renderer\api\exports,\renderer\api\exports\electron.js,\renderer\api\ipc-renderer.js,\renderer\api\remote.js,\renderer\api\screen.js,\renderer\api\web-frame.js,\renderer\chrome-api.js,\renderer\content-scripts-injector.js,\renderer\extensions,\renderer\extensions\event.js,\renderer\extensions\i18n.js,\renderer\extensions\storage.js,\renderer\extensions\web-navigation.js,\renderer\init.js,\renderer\inspector.js,\renderer\override.js,\renderer\web-view,\renderer\web-view\guest-view-internal.js,\renderer\web-view\web-view-attributes.js,\renderer\web-view\web-view-constants.js,\renderer\web-view\web-view.js
debug: Extracting file: \browser\api\app.js
      2) extracts file from ASAR
    LoaderFile
      √ fails if archive does not exist
      √ returns a Map
      √ extracts file from ASAR

  73 passing (88ms)
  2 failing

  1) Loader classes
       LoaderASAR
         returns a Map:
     TypeError: Cannot read property 'files' of undefined
      at Filesystem.searchNodeFromDirectory (node_modules\asar\lib\filesystem.js:19:21)
      at Filesystem.getNode (node_modules\asar\lib\filesystem.js:129:23)
      at Filesystem.getFile (node_modules\asar\lib\filesystem.js:140:23)
      at Object.module.exports.extractFile (node_modules\asar\lib\asar.js:179:61)
      at LoaderAsar.load (C:/Projects/electronegativity/src/loader/loader_asar.js:26:31)
      at Context.<anonymous> (C:/Projects/electronegativity/test/test_loader.js:39:14)

  2) Loader classes
       LoaderASAR
         extracts file from ASAR:
     TypeError: Cannot read property 'files' of undefined
      at Filesystem.searchNodeFromDirectory (node_modules\asar\lib\filesystem.js:19:21)
      at Filesystem.getNode (node_modules\asar\lib\filesystem.js:129:23)
      at Filesystem.getFile (node_modules\asar\lib\filesystem.js:140:23)
      at Object.module.exports.extractFile (node_modules\asar\lib\asar.js:179:61)
      at LoaderAsar.load (C:/Projects/electronegativity/src/loader/loader_asar.js:26:31)
      at Context.<anonymous> (C:/Projects/electronegativity/test/test_loader.js:43:14)