Mikrotik RouterOS

ReviewAudited by ClawScan on May 10, 2026.

Overview

This looks like a real MikroTik management tool, but it can run unrestricted router commands and its security documentation appears to overstate protected credential handling.

Install only if you are comfortable giving the agent access to MikroTik router administration. Use a least-privilege account, avoid plaintext passwords in TOOLS.md or command-line arguments, do not trust the advertised SSL support without verifying the code, and require explicit confirmation for any custom or state-changing RouterOS command.

Findings (5)

Artifact-based informational review of SKILL.md, metadata, install specs, static scan signals, and capability signals. ClawScan does not execute the skill or run runtime probes.

What this means

A mistaken prompt or overly broad agent action could change router configuration, disrupt connectivity, or run other high-impact RouterOS operations if used with an admin account.

Why it was flagged

The client accepts and sends arbitrary RouterOS command paths and arguments. This matches the custom-command feature, but the artifacts do not document an allowlist, confirmation step, or containment for state-changing router commands.

Skill content
def run_command(self, command, args=None): ... self._send_word(command) ... for arg in args: self._send_word(arg)
Recommendation

Use a least-privilege or read-only RouterOS account where possible, and require explicit user approval before any add/set/remove/reboot/shutdown or other state-changing command.

What this means

A user may believe their router login is protected when the provided client code does not actually establish TLS, increasing the risk of credential exposure on the network.

Why it was flagged

The file tells users to use port 8729 for SSL, but the connection code uses a plain TCP socket and sends the password as a RouterOS API word; no TLS wrapping or challenge-response handling is shown.

Skill content
port: API port (default: 8728, use 8729 for SSL) ... self.sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM) ... self._send_word(f'=password={self.password}')
Recommendation

Do not rely on the advertised SSL behavior until the code is fixed and verified. Use a trusted VPN, SSH tunnel, or a corrected TLS-enabled client for router administration.

What this means

Anyone or any agent with access to that workspace file could potentially reuse the router credentials.

Why it was flagged

Router credentials are expected for this integration, but the suggested configuration includes admin access and direct plaintext password entry in a workspace file.

Skill content
Option 1: TOOLS.md (Recommended) ... **office**: 192.168.88.1, admin, empty password ... With password: write the password string directly
Recommendation

Avoid storing router admin passwords in plaintext. Prefer temporary least-privilege accounts, secret storage, and remove credentials when finished.

What this means

Running scans can execute local networking utilities and generate subnet discovery traffic, which may be inappropriate on networks you do not administer.

Why it was flagged

The network scanner invokes local system commands through the shell. This is disclosed in SKILL.md and is aligned with local subnet discovery, but it is still local command execution.

Skill content
subprocess.check_output("ipconfig", shell=True) ... subprocess.check_output("ip addr", shell=True) ... subprocess.check_output(f"arp -a {ip}", shell=True)
Recommendation

Run scanning only on networks where you have permission, and use the skill in a trusted local environment.

What this means

You may have less assurance about who maintains the code or where to audit upstream changes.

Why it was flagged

No remote installer is shown, but the skill has limited provenance information, so users have less external context for validating the code origin.

Skill content
Source: unknown; Homepage: none; No install spec — this is an instruction-only skill.
Recommendation

Review the included source before use and prefer installing from a verifiable repository or trusted maintainer when available.