Hey Elixir friends!
I stumbled across an interesting library in the Python community called spidertrap. It traps scanners, spambots, and crawlers in an infinite loop. This type of tool comes out of the field of cyber deception. Cyber deception is a proactive way to protect against bad actors. A trap like this will likely waste a bad actors time and resources.
I thought this was a cool tool and figured it would be fun to build it specifically for Elixir. So, here is DeceptionRouter.
How it works
DeceptionRouter is a plug router that can be integrated within an existing Phoenix project or any other plug based system. It will generate a list of random strings to make into links for the automated scanner to follow, however, each link leads back to another page of randomly generated links, and so on.
Since many of the scanning tools are automated, the bad actor will probably run it and wait, and wait they will! Even better if they run it on a type of cron job and they aren’t monitoring progress as closely - we can waste their time and resources even more!
Go forth and deceive
It’s always a good time to troll bad actors! I had fun exploring the topic of cyber deception and I hope this library can be the first of many Elixir specific security tooling (yes, please read this as forshadowing ). Please feel free to open pull requests and give feedback.
Thank you!
Many thanks to spidertrap as the core inspiration!