Bitrix24 REST API

ReviewAudited by ClawScan on May 10, 2026.

Overview

This is a coherent Bitrix24 integration, but some helper paths can mutate Bitrix24 data without the confirmation the skill claims to require.

Use this skill only with a dedicated, least-privilege Bitrix24 webhook. Reads are designed to run immediately, so it can surface sensitive Bitrix24 data on request. Be especially careful with requests that edit, delete, upload, publish, or mark items read until the confirmation gaps in the helper scripts are fixed.

Findings (6)

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

Some edits, uploads, publishing actions, read-state changes, or deletions in Bitrix24 could run without the explicit confirmation users expect.

Why it was flagged

The confirmation gate depends on exact method-name suffixes. Several documented Bitrix24 operations in the provided references are mutating but do not end in these exact suffixes, so they can be classified as reads and bypass the confirmation promised by the skill.

Skill content
WRITE_SUFFIXES = re.compile(r"(?:^|\.)(add|update|set|register|bind|import|complete|start|stop|move|clear|confirm|attach|send|mute|pin)$"...)
DESTRUCTIVE_SUFFIXES = re.compile(r"(?:^|\.)(delete|remove|recyclebin|unregister|unbind)$"...)
...
if op_type == "write" and not args.confirm_write:
Recommendation

Replace suffix-based classification with an explicit allowlist of safe read methods or require confirmation for every method not known to be read-only.

What this means

A batch request could include write or destructive Bitrix24 operations without the skill enforcing a confirmation step.

Why it was flagged

The batch helper accepts arbitrary Bitrix24 REST method strings and sends them to the batch API. It has no operation classification or confirmation flags, so it can bypass the safer checks in the single-call helper.

Skill content
parser.add_argument("--cmd", action="append", required=True, help="Command in name=method?params form...")
...
url = normalize_url(normalized_url) + "batch.json"
...
params.append((f"cmd[{name}]", method_call))
Recommendation

Add the same safety checks to batch calls, reject non-read methods unless explicitly confirmed, and avoid using batch for mutations unless each command is reviewed.

What this means

If the webhook has broad permissions, the agent can access or change many Bitrix24 records as that webhook user.

Why it was flagged

The webhook is the primary Bitrix24 credential and can carry broad delegated authority. This is expected for the integration, but users need to scope it carefully.

Skill content
The webhook URL is read from `BITRIX24_WEBHOOK_URL` environment variable... Users should create a dedicated webhook with only the scopes they need, and can revoke it at any time
Recommendation

Use a dedicated least-privilege webhook, grant only needed scopes, and revoke or rotate it if the skill is no longer used.

What this means

CRM, task, calendar, chat, or file information may be retrieved and shown as soon as the user asks a matching question.

Why it was flagged

The skill intentionally performs read-only Bitrix24 lookups without additional confirmation. This is disclosed and purpose-aligned, but it can surface sensitive business data.

Skill content
Rule 1: Read requests — EXECUTE IMMEDIATELY... Do not ask for confirmation. Call the Bitrix24 methods using the configured webhook
Recommendation

Install only if automatic Bitrix24 read access is acceptable, and avoid broad prompts if you do not want broad account data retrieved.

What this means

A small amount of account context remains on disk for later Bitrix24 requests.

Why it was flagged

The skill persists a small local cache containing user ID and timezone, with user-only file permissions. This matches the disclosed security model and does not store the webhook.

Skill content
DEFAULT_CACHE_PATH = Path.home() / ".config" / "bitrix24-skill" / "cache_user_timezone.json"
...
data["user_id"] = user_id
...
path.chmod(stat.S_IRUSR | stat.S_IWUSR)
Recommendation

Treat the cache as low sensitivity, but delete `~/.config/bitrix24-skill/cache_user_timezone.json` if you want to clear it.

What this means

The agent may consult an external Bitrix24 documentation server while deciding which API method to use.

Why it was flagged

The skill uses an external MCP documentation server. This is disclosed and aligned with the stated purpose, but it means documentation queries and returned guidance come from an external service.

Skill content
tools:
  - type: "mcp"
    value: "bitrix24-docs"
    description: "Official Bitrix24 MCP documentation server"
    transport: "streamable_http"
    url: "https://mcp-dev.bitrix24.tech/mcp"
Recommendation

Use the MCP server only for documentation lookup, and do not send secrets or unnecessary business data in documentation queries.