5G-SAT is security analysis tool for 5G systems. It is a fork of the IoT security analysis tool ASTo. 5G-SAT is based on electron and cytoscape.js. The icons are provided by Google's Material Design.
Some screenshots..
ASTo supports a light and a dark color theme. The colors themes are based on Atom's One Dark and One Light. To switch between themes use the toggle button on the bottom left corner.
To clone and run this repository you'll need Git and Node.js installed on your computer. To download and install the app, type the following in your terminal:
# Clone this repository
git clone https://github.com/CapriTechLimited/5G-SAT.git
# Go into the repository
cd 5G-SAT
# Install dependencies
npm installDifferent mode operations of the app.
# To run the app in the default mode
npm start
# To run the app in developer mode
npm run dev
# To build the app into binary
npm run distBecause the app is still in prototype stage, it is best to keep up to date with the most recent commits. To do so, before starting the app, type:
# inside the 5G-SAT directory
# update to latest
git pullOnce the app starts, the first window (home screen) will ask you to choose which modeling phase would you like to perform analysis in. After you select a phase, you will be presented with three choices. The first is to create a new graph. The second choice is to load an existing graph. The third option is the debug app, which loads a default graph used for debugging purposes.
You will find some example graphs in the sample folder.
- Note in performance. If you render a graph with more than a thousand nodes, depending on your hardware, you might detect some performance issues. The reason is that the default label rendering of nodes and edges in ASTo is quite expensive. Rendering label on nodes and edges along with directional arrows is expensive. To improve performance you can hide the labels and the directional arrows by pressing the label button.
You can find more information about Cytoscape's performance optimizations in this link.
If you want to contribute that's great news 😃. Check the contributing guide. The application is being developed on Mac. That means that new commits might introduce breaking changes in other platforms. Especially commits that involve access to the file system. If something is not working, don't hesitate to create an issue.



