Skill flagged — suspicious patterns detected
ClawHub Security flagged this skill as suspicious. Review the scan results before using.
Odoo Reporting
v2.0.7Query Odoo data including salesperson performance, customer analytics, orders, invoices, CRM, accounting, VAT, inventory, and AR/AP. Generates WhatsApp cards...
⭐ 0· 670·1 current·1 all-time
MIT-0
Download zip
LicenseMIT-0 · Free to use, modify, and redistribute. No attribution required.
Security Scan
OpenClaw
Suspicious
medium confidencePurpose & Capability
The implementation (connectors, reporters, visualizers) matches the described Odoo reporting purpose and legitimately requires Odoo credentials. However the registry metadata claims 'no required env vars' while SKILL.md and the code require ODOO_URL/ODOO_DB/ODOO_USER/ODOO_PASSWORD — a clear mismatch that must be resolved.
Instruction Scope
SKILL.md instructs local, read-only queries and storing credentials in a local .env; the code follows this (client-side read-only enforcement, local PDF/PNG/Excel outputs). Important limitation: the read-only enforcement is client-side (the author admits this) and can be bypassed if the client or files are modified. The install script also runs a 'doctor' test that will attempt to connect to the Odoo instance if a .env exists (expected, but be aware it will use provided credentials).
Install Mechanism
There is no registry install spec but the repository includes an install.sh, setup.py and a pinned requirements.txt; install.sh creates a venv and pip-installs dependencies (requests, matplotlib, pillow, fpdf2, openpyxl). No third-party binary downloads or obscure URLs are used — moderate risk typical for Python packages. The absence of an explicit install spec in the registry is an administrative inconsistency.
Credentials
The skill requires sensitive credentials (ODOO_PASSWORD/API key) to function, which is appropriate for an Odoo integrator — but the registry metadata declares no required env vars. That mismatch is problematic: if users rely on registry metadata they won't realize the skill needs secrets. The skill requests only Odoo credentials (no unrelated cloud credentials), which is proportionate, but the missing declaration is high-risk from a transparency standpoint.
Persistence & Privilege
SKILL.md and embedded skill.json block autonomous model invocation (disabled: true, requiresUserInvocation: true) but the registry-level flags show disable-model-invocation=false (default). This contradiction matters: if the platform honors the registry flag (allowing autonomous invocation) the skill could be invoked by models with access to Odoo credentials. always:false is good, but the invocation-flag mismatch increases blast radius and should be reconciled before trusting the skill.
What to consider before installing
Key things to check before installing or using this skill:
1) Do not provide admin credentials. Create a dedicated read-only Odoo user and an API key with minimal scope, and store that key in the skill's .env as recommended. Rotate the key after testing.
2) Confirm the platform/registry skill.json flags: SKILL.md claims model invocation is disabled (user-invocation only) but the registry metadata indicates autonomous invocation may be allowed — ask the publisher or registry maintainer which is authoritative. If autonomous invocation is enabled, do not supply credentials until you can enforce read-only access on the Odoo side.
3) Verify the registry metadata is updated to declare required env vars (ODOO_URL, ODOO_DB, ODOO_USER, ODOO_PASSWORD). Mismatched metadata reduces transparency and is a red flag.
4) Inspect src/connectors/odoo_client.py yourself (it enforces read-only by method name) and validate the blocking logic in your environment. Client-side checks can be bypassed if the files are modified, so rely on Odoo-side read-only permissions for safety.
5) Run the code in an isolated environment (VM/container) and test with a non-production Odoo instance or a dedicated read-only test user before connecting to production data. Monitor Odoo logs for unexpected calls.
6) If you need absolute assurance, request the publisher to provide a signed/verified package or a clear registry entry with explicit required env vars and a statement that the registry/platform will enforce modelInvocation disabled=true.
Overall: the skill appears to implement the stated functionality, but the metadata/instruction contradictions and client-side enforcement caveats make it suspicious until you reconcile those inconsistencies and follow the safety steps above.Like a lobster shell, security has layers — review code before you run it.
latestvk972gnv1dbjpt6dmxbap1857ws81a0ma
License
MIT-0
Free to use, modify, and redistribute. No attribution required.
