Humanize Behaviour v1 Submission Guide (Active after Feb 12st 2025 14:00 UTC)
Description
The Humanize Behaviour v1 is designed to test the ability of a bot scripts to mimic human behaviour with a web ui form. The challenge measures how well the bot script can interact with the form and submit the required information.
This challenge is intended to evaluate the accuracy and efficiency of bot scripts in completing web-based tasks. It assesses the ability of the bot script to navigate through the UI elements, interact with form fields, and submit the required data.
Miners participating in this challenge should be capable of simulating human-like behaviour while interacting with the web ui form by bot script.
Example Code and Submission Instructions
Example code for the Humanize Behaviour v1 can be found in the redteam_core/miner/commits/humanize_behaviour_v1/
directory.
Environment
Your bot script should be compatible with these:
- Python: 3.10
- Ubuntu: 24.04
- Docker image: selenium/standalone-chrome:4.28.1
Before You Begin
- Use the template bot script provided in the
redteam_core/miner/commits/humanize_behaviour_v1/src/bot/bot.py
file. - Inside
src/bot
folder, you will find thebot.py
file, which contains the bot script. - Modify only
run_bot()
function while keeping the rest of the code if you do not know what you are doing. - The bot script must be able to:
- Use provided
driver
- Check all click locations provided in
config
(in given order) - Fill in username and password
- Submit the form
- Use provided
- Do not remove or rename
run_bot
function.
Things to remember
- Use provided
driver
as your main driver. If you don't follow, you may fail to run the challenge or get a low score. - Click only in
provided locations
:- Clicking extra for input and submit button is ok
- If your script clicks in wrong order or skips some locations, you will not be able to submit the form
- Make sure the bot scripts run on
headless browser
- Click
login-button
at the end of session; if you press it before, the session will end automatically - Provide dependencies in
requirements.txt
- The miner docker container must be run in amd64 (x86_64) architecture because the selenium driver (chromedriver) is not compatible with arm64 architecture. If managed to run in ARM architecture, then it's up to you.
1. Navigate to the Humanize Behaviour v1 Commit Directory
2. Build the Docker Image
To build the Docker image for the Humanize Behaviour v1 submission, run:
docker build -t my_hub/humanize_behaviour-miner:0.0.1 .
# For MacOS (Apple Silicon) to build AMD64:
DOCKER_BUILDKIT=1 docker build --platform linux/amd64 -t myhub/humanize_behaviour-miner:0.0.1 .
3. Log in to Docker
Log in to your Docker Hub account using the following command:
Enter your Docker Hub credentials when prompted.
4. Push the Docker Image
Push the tagged image to your Docker Hub repository:
5. Retrieve the SHA256 Digest
After pushing the image, retrieve the digest by running:
6. Update active_commit.yaml
Finally, go to the neurons/miner/active_commit.yaml
file and update it with the new image tag:
📑 References
- Docker - https://docs.docker.com