labyrinth-nsg
TypeScript icon, indicating that this package has built-in type declarations

0.0.9 • Public • Published

Labyrinth NSG

Node.js CI Coverage Status

Labyrinth is an experimental tool for performing packet flow analysis in computer networks. Given a description of a network configuration, Labyrinth can answer questions like:

  • Which servers can receive traffic directly from the internet?
  • Can traffic from the internet reach my database?
  • Which services can my front-end web servers interact with?
  • Can my back-end web service call out to services on the internet?
  • Is the jump-box the only server that can SSH to the front-end web servers?

The Labyrinth graph algorithms are network agnostic and capable of analyzing a wide variety of networking concepts and appliances. Labyrinth makes use of converters to transform vendor-specific network configuration descriptions into Labyrinth graphs, suitable for analysis.

Currenly, Labyrinth includes a converter for Azure Resource Graphs. This converter models OSI Layer 3 traffic. This means it can reason about IP packet headers fields, like the source and destination IP addresses and ports, and the protocol. The Labyrinth algorithm is fairly generic and capable of modeling concepts from other layers such as

Try Labyrinth

Labyrinth is currently in the earliest stages of development, so documentation is sparse, and the API is evolving. If you are interested in taking a look, we recommend starting with the Labyrinth Tutorial.

How Labyrinth Works

If you are interested in learning more about how Labyrinth works, please read the Labyrinth Architectural Concepts.

Package Sidebar

Install

npm i labyrinth-nsg

Weekly Downloads

1

Version

0.0.9

License

MIT

Unpacked Size

578 kB

Total Files

300

Last publish

Collaborators

  • hopcroft