Code Monkey home page Code Monkey logo

annelid's Introduction

Annelid

biohazard level containment status

Annelid is an evasive, self-healing process that replicates and spreads throughout a cluster of Elixir nodes.

It operates by sending itself back and forth in AST form to other nodes in the cluster, like a contagious quine.

ANNELID IS NOT SUITABLE FOR ANY PURPOSE.

annelid

Infection

  • Annelid can be loaded directly into a cluster by simply infecting a local node, then connecting the node to a remote cluster.

  • When new nodes connect, it spreads itself by transmitting its mRNA AST to the new node for evaluation.

  • It survives and re-infects the cluster during rolling deployments.

  • To prevent simultaneous re-infection by multiple nodes, it sets a global lock and halts if it can't be acquired.

Self Healing

  • When an Annelid process starts, it spawns a free-floating "supervisor" process. The two mutually monitor and restart the other if either is killed.

Evasion

  • Annelid doesn't require inclusion in a project's repository or participation in the normal deploy cycle.

  • There are no modules, it can't be detected by examining the module namespace. It leaves no compiled artifacts on disk.

  • To stop the user from setting the infection lock ahead of time (and thus vaccinating the node), the lock is rotated every second to a calculated value based on a shared secret seed and the current time.

  • Internal timer messages are obfuscated to evade detection via :erlang.trace/3.

Additional sick features

  • Emoji
  • Y Combinators
  • Annoying quotes from Hackers.

ANNELID IS NOT SUITABLE FOR ANY PURPOSE.

annelid's People

Contributors

koudelka avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.