Odoo Reporting
v2.0.5Query Odoo data including salesperson performance, customer analytics, orders, invoices, CRM, accounting, VAT, inventory, and AR/AP. Generates WhatsApp cards...
⭐ 7· 3.4k·3 current·4 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 code and SKILL.md clearly implement an Odoo read-only reporting tool (connectors, report generators, visualizers) which fits the named purpose. However the registry metadata claims no required environment variables and 'instruction-only/no install spec', while the SKILL.md and code require ODOO_URL/ODOO_DB/ODOO_USER/ODOO_PASSWORD and include an install.sh and requirements.txt. This mismatch between claimed metadata and actual files is unexpected and prevents you from trusting the surface description alone.
Instruction Scope
SKILL.md instructs the agent to read credentials from assets/autonomous-cfo/.env, create a venv, and run local scripts; code enforces read-only Odoo methods. However SKILL.md also states 'Model invocation is DISABLED' while registry flags show disable-model-invocation: false (i.e., model invocation allowed). That policy contradiction matters because the skill handles sensitive financial data and the agent's runtime policy (user-invoked vs autonomous) affects risk. The instructions claim 'no exfiltration' and 'only connect to ODOO_URL', and I found no hardcoded external endpoints besides calls to the Odoo instance, but the mismatch in invocation policy and metadata is a scope/authority concern.
Install Mechanism
Installation is via a local install.sh that creates a Python venv and uses pip to install pinned PyPI packages from requirements.txt (requests, matplotlib, pillow, fpdf2, openpyxl). This is standard and lower-risk than arbitrary remote downloads, but the package installs write code to disk and will execute local Python scripts. The registry initially labeled the skill 'instruction-only' despite the presence of install.sh/setup.py — that's an inconsistency you should verify.
Credentials
The skill legitimately needs Odoo credentials (ODOO_URL, ODOO_DB, ODOO_USER, ODOO_PASSWORD) to connect and the code reads them from environment variables. That is proportionate to its purpose. However the skill metadata declared 'Required env vars: none' and 'Primary credential: none' which is false given both SKILL.md and src/connectors/odoo_client.py expect and validate those variables. The omission in metadata increases the risk a user will provide credentials without realizing they are required or how they are used. Also ODOO_PASSWORD is sensitive — the code sometimes places it in an Authorization header as a bearer token for JSON-2 calls (unusual but not necessarily malicious); you should confirm how your Odoo instance expects authentication.
Persistence & Privilege
The skill is not marked always:true (good) and is user-invocable. However SKILL.md claims model invocation is disabled to enforce explicit user invocation while the registry flags show model invocation is enabled. If the platform allows autonomous invocation while the skill has access to Odoo credentials (and features like AI anomaly analysis via an OpenClaw intelligence module), that increases blast radius. This combined with the metadata/README contradictions warrants caution.
What to consider before installing
Do not install or provide Odoo credentials until you resolve the metadata vs code contradictions. Specifically:
- Verify skill.json/registry: confirm whether model invocation is actually disabled. If the platform allows autonomous invocation, do not provide credentials.
- Confirm where credentials will be stored and who/what can read assets/autonomous-cfo/.env; prefer scoped API keys with least privilege and an account that only has read access.
- Inspect the full source (especially omitted/remaining files) to ensure there are no hidden network calls or telemetry sending data to third-party endpoints.
- Run install and any tests in an isolated environment (ephemeral VM or sandbox) before pointing it at production Odoo data.
- If you proceed, create an Odoo read-only user or API key limited to the data the skill needs, and rotate/revoke it after testing.
If you want, I can: (a) extract/check the remaining omitted files for any external endpoints or suspicious code, (b) summarize exactly where credentials are read/used, or (c) help draft minimal Odoo permissions to safely test the skill.Like a lobster shell, security has layers — review code before you run it.
latestvk97136r118ntvadj07p4g77jwh80yp71
License
MIT-0
Free to use, modify, and redistribute. No attribution required.
