Botxona

Security (technical)

Sandbox

Each bot runs in its own Docker container with these restrictions: a --read-only file system (only DATA_DIR is writable), --cap-drop ALL, no-new-privileges, --pids-limit, and a separate non-root user. Optionally, the server can also run with gVisor (runsc) for an additional layer of syscall-level isolation.

Network modes

A server-level setting defines the network mode between bots and the outside internet:

  • isolated (strictest) — each bot runs in its own network with no internet access and can reach the Telegram API only through the platform proxy. The bot cannot see other bots or the outside internet at all.
  • shared — bots share a common network (with ICC disabled so they cannot see each other), but outbound internet access is open — suitable for bots that need to call external AI APIs or other services.

Which mode your bot runs in depends on the server's network setting. If your bot needs to reach the outside internet (e.g. the OpenAI API or an exchange-rate service) and that does not work, the server is most likely in isolated mode — contact support and we will sort out the right network setting together.

Self-check

On startup, the server automatically verifies that its isolation really works (by confirming that two test containers cannot reach each other). If the check fails, administrators are alerted — this is an operational matter, not something users need to fix.

Blocked ports

Port 25 (SMTP) is blocked to prevent spam. If your bot needs to send email, use an external email API service (e.g. SendGrid, Mailgun) instead of SMTP.

Security scanner hard prohibitions

Uploaded code is scanned automatically. If any of the following is found, the bot will never be launched (red, non-negotiable):

  • Signs of crypto mining (e.g. xmrig, stratum+tcp, coinhive).
  • Reverse-shell patterns (/dev/tcp/..., nc -e, bash -i >&).
  • Execution of obfuscated code (exec/eval + code hidden via base64/zlib).
  • Downloading a script from the internet and executing it directly (curl ... | sh).
  • Signs of DDoS tools (hping3, slowloris, SYN/UDP flood).
  • Access to the Docker socket or attempts to escape the container (docker.sock, /proc/1/).

In addition, SMTP usage or gambling-related keywords are flagged yellow (warn) — these are reviewed manually and not blocked automatically.

Next step

All numeric limits (RAM, size, file count): Limits.