enochecker-async

Library to build async checker scripts for the EnoEngine A/D CTF Framework in Python


Keywords
hacktoberfest
License
MIT
Install
pip install enochecker-async==0.4.3

Documentation

EnoChecker Async Build Status

This is the asynchronous python variant of the ENOWARS checkerlib.

Implementing an asynchronous checker

Consumers must extend the BaseChecker class:

class DemoChecker(BaseChecker):
    port = 8000

    def __init__(self):
        super(DemoChecker, self).__init__("Demo", 8080, 2, 0, 0) # 2 flags, 0 noises, 0 havocs

    async def putflag(self, logger: LoggerAdapter, task: CheckerTaskMessage, collection: MotorCollection) -> None:
        pass

    async def getflag(self, logger: LoggerAdapter, task: CheckerTaskMessage, collection: MotorCollection) -> None:
        pass

    async def putnoise(self, logger: LoggerAdapter, task: CheckerTaskMessage, collection: MotorCollection) -> None:
        pass

    async def getnoise(self, logger: LoggerAdapter, task: CheckerTaskMessage, collection: MotorCollection) -> None:
        pass

    async def havoc(self, logger: LoggerAdapter, task: CheckerTaskMessage, collection: MotorCollection) -> None:
        pass

For a full example, check out the WASP checker.

Testing your checker

enochecker_cli is a nice cli tool that you can use to send tasks to your checker.