Openclaw Odoo Skill

Security checks across static analysis, malware telemetry, and agentic risk

Overview

This appears to be a legitimate Odoo connector, but it needs review because it can give an agent broad Odoo ERP change/delete authority and auto-create business records from fuzzy requests.

Install this only if you intentionally want OpenClaw to operate your Odoo ERP. Use a test database first, create a dedicated least-privilege Odoo API user, require confirmation before financial/HR/inventory/delete/publish actions, and verify the source/install files before setup.

Static analysis

No static analysis findings were reported for this release.

VirusTotal

VirusTotal findings are pending for this skill version.

View on VirusTotal

Risk analysis

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.

#
ASI02: Tool Misuse and Exploitation
High
What this means

A mistaken prompt, poor match, or over-capable agent action could create, modify, confirm, post, or delete important business records in Odoo.

Why it was flagged

The connector exposes a generic Odoo XML-RPC execution path plus create, update, and delete helpers. For an ERP system this can affect customers, orders, invoices, employees, inventory, and other high-impact records, and the artifacts do not show a model/method allow-list or mandatory confirmation for dangerous operations.

Skill content
def execute(self, model: str, method: str, *args: Any, **kwargs: Any) -> Any: ... self.models.execute_kw(... model, method, ...); ... def create(...); def write(...); def unlink(...): return self.execute(model, "unlink", ids)
Recommendation

Use a least-privilege Odoo account, add explicit allow-lists for supported models and methods, and require human confirmation before create/write/delete/post/confirm/publish actions.

#
ASI08: Cascading Failures
Medium
What this means

A vague or misinterpreted request could create duplicate or incorrect customers, products, quotations, purchase orders, or other downstream business records.

Why it was flagged

Smart find-or-create behavior can turn one fuzzy or incomplete request into multiple new ERP records across modules. The behavior is disclosed and purpose-aligned, but the artifacts do not show a preview/approval step before creating related records.

Skill content
The connector automatically handles missing dependencies with fuzzy matching: ... If not found → creates new customer ... If not found → creates product ... Creates quotation linking both
Recommendation

Before auto-creating related records, show proposed matches and new records to the user and require confirmation, especially for financial, inventory, HR, and public eCommerce changes.

#
ASI03: Identity and Privilege Abuse
Low
What this means

The agent will act with the permissions of the configured Odoo user; if that user is an administrator, the agent can affect much of the ERP instance.

Why it was flagged

The connector requires an Odoo API key and account identity. That is expected for an Odoo integration, but the registry metadata says no required env vars and no primary credential, so users may not see the permission requirement before installation.

Skill content
api_key=os.environ.get("ODOO_API_KEY", file_values.get("api_key", "")) ... errors.append("ODOO_API_KEY is required ...")
Recommendation

Declare the Odoo credential requirement in metadata and configure a dedicated, least-privilege Odoo user limited to the modules and actions the agent should perform.

#
ASI04: Agentic Supply Chain Vulnerabilities
Low
What this means

Users may be unsure which install path or source version is authoritative.

Why it was flagged

The README references manual install paths and a setup.ps1 installer, while the registry reports no install spec and the provided manifest does not list setup.ps1. This is an install/provenance completeness issue, not evidence of malicious code.

Skill content
# Windows: Run installer
.\setup.ps1

# OR copy manually to OpenClaw skills directory
Recommendation

Provide a complete, pinned install spec or include all referenced setup files, and verify the GitHub source before manual installation.

#
ASI10: Rogue Agents
Low
What this means

If enabled, the skill may keep polling Odoo or listening for webhooks after the original chat task is complete.

Why it was flagged

The skill discloses optional long-running/inbound components. They are not shown to auto-start, but they are persistence-like capabilities if a user enables them.

Skill content
- ✅ Webhook server for real-time updates (optional feature)
- ✅ Background polling for change detection (optional feature)
Recommendation

Only enable polling or webhooks when needed, configure webhook secrets, log activity, and make stopping/cleanup instructions clear.