Mininode
Overview
Mininode is a tool, which helps to reduce the attack surface of the Node.js applications by removing the unused modules and functions within the modules. Mininode uses static analysis to detect which parts of the code is actually used to construct the detailed dependency graph. In the current implementation Mininode supports coarse-grained and fine-grained reduction modes.
- Coarse-grained reduction performs reduction on file-level
- Fine-grained reduction performs reduction on function-level
Papers
- Mininode: Reducing the Attack Surface of Node.js Applications
Igibek Koishybayev, Alexandros Kapravelos
Proceedings of the International Symposium on Research in Attacks, Intrusions and Defenses (RAID), 2020
[PDF] [website]@inproceedings{mininode-raid20, title = {{Mininode: Reducing the Attack Surface of Node.js Applications}}, author = {Koishybayev, Igibek and Kapravelos, Alexandros}, booktitle = {{Proceedings of the International Symposium on Research in Attacks, Intrusions and Defenses (RAID)}}, month = oct, howpublished = {/projects/mininode/}, tag = {mininode}, pages = {121--134}, year = {2020} }
Availability
The source code is available on Github