Apparatus – An IOT Network Security Analysis And Vertualization Tool

Written by Mubassir patel

ASTo – Apparatus Software Tool

An IoT network security analysis and visualization tool

ASTo is security analysis tool for IoT networks. It is developed to support the Apparatus security framework. ASTo is based on electron and cytoscape.js. The icons are provided by Google’s Material Design.

The application is in alpha stage. The focus now is to improve the core functionality of the application along with the introduction of additional features, in order to reach beta stage.


  1. Graph based visualization of IoT systems.
  2. Model IoT system in design and implementation engineering phases.
  3. Automatic model transformation between the two engineering phases.
  4. Create IoT system state diagrams.
  5. Automate implementation phase model generation using pcap-ng files.
  6. Perform model-based vulnerability identification through CVE databases.
  7. Generate automated model-based security suggestions.
  8. Attribute-based pattern identification.
  9. Search through graphs using a variety of options (concepts, modules, attribute).
  10. Togglable Light and Dark theme.

Read This: How To Install WPSeku In Android Termux.

Some screenshots

iot security analysis tool


ASTo has a command line console available on the bottom right corner of the app. You gain focus on the console by pressing the keybinding cmd + l for macOs and ctrl + l for Windows/Linux. If you type help, it will display a list of console options.

The console can be used to search for specific objects in the graph or perform operations. Raw text is used as search input. For example, if you type device, ASTo will highlight all the nodes in the graph that have the word device as an attribute.

All console commands must be preceded with a :. For example, typing :suggestions will perform the security suggestion functions. On the other hand, typing suggestions (with the :) will perform a search operation with the keyword suggestion.

Color themes

ASTo supports a light and a dark color theme. The colors themes are based on Atom’s One Dark and One Light. You can switch between the themes by typing :toggle in ASTo’s console (bottom right corner, cmd/ctrl + l). To make the change persistent between startups you need to modify the settings.colorTheme variable in the ./app/settings/userSettings.js file. The value can either be dark or light.

Note in performance. If you render a graph of apparatus 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 1 button in the bottom right corner. The 1 button hides all the specific styles imposed by ASTo and leaves a default graph.

Button 2 restores the labels on both the nodes and the edges, along with the directional arrows. Buttons 3 (node label) 4(node id) 5(node description) replace the labels on the nodes with different information. A trick to improve performance while retaining some information is to only hide the directional arrows (which are the most expensive) and the labels on the edges. To do so, press 1 to hide everything and then either 3 4 or 5 to only show the labels on the nodes


To clone and run this repository you’ll need Git and Node.js installed on your computer. download and install the app, type the following in your terminal:

# Clone this repository
git clone
# Go into the repository
cd apparatus
# Install dependencies
npm install
# to run the app in the default mode
npm start
# to run the app in developer mode
npm run dev

Because 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 apparatus directory

# update to latest apparatus version
git pull

Once 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 graphs folder.

Read This: The Best Hacking And Penetration Testig Tools

About the author

Mubassir patel

Mubassir is a founder and developer of this site. He is a computer science engineer. He has a very deep interest in ethical hacking, penetration testing, website development and including all technology topic.

Leave a Comment