A data science framework for analyzing Chrome browser extensions.
Achim D. Brucker 4fcab7427b Documented database configuration. 2 months ago
.paket Updated packet scripts (migration to latest ProjectScaffold). 4 months ago
docsrc Replaced plain text LICENSE file by a Markdown version. 3 months ago
src/LogicalHacking.ExtensionDsLab Fixed load order of included scripts. 3 months ago
tests/LogicalHacking.ExtensionDsLab.Tests Renamed ExtensionCore to ExtensionQueries (a module that should only contain queries related to extensions). 3 months ago
.gitattributes Updated git configuration (starting migration to latest ProjectScaffold). 4 months ago
.gitignore Basic setup of a test that runs against the actual data base. 4 months ago
LICENSE.md Improved Markdown. 3 months ago
LogicalHacking.ExtensionDsLab.sln Updated project files (compiles, based on latest ProjectScaffold). 4 months ago
README.md Documented database configuration. 2 months ago
RELEASE_NOTES.md Basic import of FSharp.ProjectScaffold setup. 1 year ago
build.cmd Updated build scripts (migration to latest ProjectScaffold). 4 months ago
build.fsx Replaced plain text LICENSE file by a Markdown version. 3 months ago
build.proj Updated build scripts (migration to latest ProjectScaffold). 4 months ago
build.sh Updated build scripts (migration to latest ProjectScaffold). 4 months ago
configure.sh Switched to MariaDB/MySql setup (from SQLite). 1 year ago
fsc.props Added fix for type providers. 4 months ago
paket.dependencies Updated dependencies (in particular, ensure latest FSlab). 4 months ago

README.md

ExtensionDsLab

ExtensionDsLab is a data science and machine learning framework for analyzing security and privacy related properties of the browser extensions (and Chrome Apps) offered in the Chrome Web Store.

Installation

First Time

Ensure that both

  • mono (tested with version 5.14) and
  • dotnet SDK (tested with version 2.1)

are installed. Moreover, [FAKE] needs to be installed

    dotnet tool install fake-cli -g

and added to the PATH so that you can call fake on the command line. This might require

    export PATH=$HOME/.dotnet/tools/fake:$PATH

After cloning the repository, call

    ./configure.sh  

to initialize the paket configuration.

Database Configuration

Both the application itself and the tests require that the database connection is configured properly. For this,

  • copy src/LogicalHacking.ExtensionDsLab/app.config.in to `src/LogicalHacking.ExtensionDsLab/app.config
  • edit src/LogicalHacking.ExtensionDsLab/app.config and replace in the connection string the correct values for <SERVER>, <LOGIN>, and <PWD>.
  • repeat the previous steps for src/LogicalHacking.ExtensionDsLab.Tests/app.config.in .

(Re-) Compiling

After that, the project can be build using

    ./build.sh

Note for Windows Users

On Windows (untested), configure.sh can be replaced by configuring paket manually

    .paket/paket.bootstrapper.exe
    .paket/paket.exe install

After that, the project can be build using

    build.cmd

Team

License

This project is licensed under the GPL 3.0 (or any later version).

SPDX-License-Identifier: GPL-3.0-or-later

Master Repository

The master git repository for this project is hosted by the Software Assurance & Security Research Team at https://git.logicalhacking.com/BrowserSecurity/ExtensionDsLab.