odoo-web-security SKILL.md skillA

odoo-web-security from mart337i/odoo-skills is an agent skill: a SKILL.md folder an AI agent loads when a task calls for it.

Install it, pinned
mdr add mart337i/odoo-skills/odoo-web-security@git:20260925.1a7f303

Pins git:20260925.1a7f303 in mdr.lock. Pin the fingerprint instead.

Audit grade
A, 17 of 17 checks passed
Kind
SKILL.md skill
Repository
mart337i/odoo-skills
Path
skills/odoo-web-security/SKILL.md
Versions recorded
1
Latest version
git:20260925.1a7f303, committed Sep 25, 2026
Size
1,767 bytes
Repository stars
58
License
none declared

Security review and implementation guidance for Odoo website, portal, public controllers, JSON routes, QWeb output, and browser-facing assets. Use when exposing Odoo data over HTTP, adding portal/public pages or forms, using sudo, handling tokens, rendering HTML, or reviewing web attack surfaces.

Collected from public GitHub. Every version is saved exactly as it was and never changes. Install it at an exact version with the mdr tool, and every file is checked before it reaches your agent. The main file is checked against the SHA-256 fingerprint recorded here, and the others against the fingerprints GitHub keeps for its source commit. The automatic checks below grade the latest version, and the same checks always give the same file the same grade.

What the file says

# Odoo Web Security

Use this skill at every Odoo web trust boundary. Compose it with `odoo-website`, `odoo-code-review`, and the version-specific Odoo skill.

## Threat Model First

Identify the caller, authentication mode, record being accessed, mutation being performed, and data that crosses the browser boundary. Treat route parameters, query strings, form fields, JSON payloads, headers, cookies, and browser state as attacker-controlled.

Read [SECURITY-CHECKLIST.md](references/SECURITY-CHECKLIST.md) before editing or approving a web-facing change.

## Non-Negotiable Checks

- `auth='public'` is not a substitute for a publication policy.
- Portal identity and record ownership must be checked server-side.
- `sudo()` must be narrow, justified, and followed by an explicit visibility check.
- Never authorize a record from its numeric ID, token shape, or hidden form field alone.
- Use ORM security and record rules where possible; do not bypass them with raw SQL or broad elevation.
- Escape output by default and review HTML sanitization separately from escaping.
- Validate redirects, URLs, uploaded files, and external API destinations.
…

Read the whole file at its exact version.

How to install

The exact contents, by fingerprint
mdr add mart337i/odoo-skills/odoo-web-security@sha256:ad7da8e5d14bf879

The line at the top of this page pins the label git:20260925.1a7f303, which is what most people want. This one pins the sha256 fingerprint of the contents instead, so it survives a label being moved. Either way the exact version is written to mdr.lock, and mdr install downloads and checks those contents again, so it installs them exactly or stops with an error.

Badge

mdr badge

[![mdr](https://markdownregistry.com/badge/art_acwj2t5zwgmyfp3e.svg)](https://markdownregistry.com/a/art_acwj2t5zwgmyfp3e)

3 badge image fetches in 30 days. What the badge shows.

Versions

The registry has recorded 1 version of this file, committed on Sep 25, 2026.

versioncommittedcommitsizeaudit
git:20260925.1a7f303 latest2026-09-25 1a7f303 1,767 BA view

Audit of the latest version

A  17 of 17 checks passed. Fixed automatic checks with no AI involved, so the same checks give the same answer every run.
  • pass: Frontmatter block present
  • pass: Frontmatter declares a name
  • pass: Frontmatter declares a description
  • pass: Size between 200 bytes and 200 KB (1767 bytes)
  • pass: No zero-width or bidi control characters
  • pass: No instruction hidden inside an HTML comment
  • pass: No link to an exfiltration or paste host
  • pass: No credential-shaped string
  • pass: No instruction to send local credentials anywhere
  • pass: No text hidden with inline styles
  • pass: No prompt-injection phrasing
  • pass: No curl or wget piped into a shell
  • pass: No recursive delete of root, home or parent
  • pass: No instruction to read or print local credentials
  • pass: No base64 blob over 200 characters
  • pass: No link to a raw IP address
  • pass: No script tag

Source

GitHub

mart337i/odoo-skills · 58 stars · license none declared · pushed 2026-10-01 · branch main

API

GET https://markdownregistry.com/api/v1/artifacts/art_acwj2t5zwgmyfp3e
GET https://markdownregistry.com/api/v1/resolve?ref=mart337i/odoo-skills/odoo-web-security
GET https://markdownregistry.com/api/v1/blob/ad7da8e5d14bf879c03bbc085879d568a7692b86a58ecc3846e4ef3517e33895

Your AI assistant does the legwork. You hear about the deals worth your word. Hand yours the standing instructions at modelranch.com and it joins the network that reads files like this one.

Guides: the SKILL.md format and its required fields · what to check before you install a skill · how to pin a skill to an exact version · where to find agent skills · keeping a team on the same skills · which agent file does what.

More from mart337i/odoo-skills

AGENTS.md AGENTS.md file
mart337i/odoo-skills · AGENTS.md
git:20260925.1a7f303 · audit A · 58 stars
CLAUDE.md CLAUDE.md file
mart337i/odoo-skills · CLAUDE.md
git:20260503.a2b7250 · audit A · 58 stars
grill-me SKILL.md skill
mart337i/odoo-skills · skills/grill-me/SKILL.md · Interview the user relentlessly about a plan or design until reaching shared understanding, resolving each branch of…
git:20260509.57ec9e4 · audit A · 58 stars
grill-with-docs SKILL.md skill
mart337i/odoo-skills · skills/grill-with-docs/SKILL.md · Grilling session that challenges your plan against the existing domain model, sharpens terminology, and updates…
git:20260509.57ec9e4 · audit A · 58 stars
improve-codebase-architecture SKILL.md skill
mart337i/odoo-skills · skills/improve-codebase-architecture/SKILL.md · Find deepening opportunities in a codebase, informed by the domain language in CONTEXT.md and the decisions in…
git:20260509.57ec9e4 · audit A · 58 stars
odoo-17.0 SKILL.md skill
mart337i/odoo-skills · skills/odoo-17.0/SKILL.md · Odoo 17 development reference for Python models and ORM (search, domain, read_group, compute fields), XML/CSV data and…
git:20260925.1a7f303 · audit A · 58 stars
odoo-18.0 SKILL.md skill
mart337i/odoo-skills · skills/odoo-18.0/SKILL.md · Odoo 18 development reference for Python models and ORM (search, domain, read_group, compute fields), XML/CSV data and…
git:20260925.1a7f303 · audit A · 58 stars
odoo-19.0 SKILL.md skill
mart337i/odoo-skills · skills/odoo-19.0/SKILL.md · Odoo 19 development knowledge base covering actions, controllers, data files, API decorators, SQL constraints, indexes…
git:20260925.1a7f303 · audit A · 58 stars
odoo-20.0 SKILL.md skill
mart337i/odoo-skills · skills/odoo-20.0/SKILL.md · Odoo 20 development knowledge base covering actions, controllers, data files, API decorators, SQL constraints, indexes…
git:20261001.634b2db · audit A · 58 stars
odoo-code-review SKILL.md skill
mart337i/odoo-skills · skills/odoo-code-review/SKILL.md · Review Odoo addon code for correctness, security, performance, migrations, tests, and official Odoo coding guidelines…
git:20260925.1a7f303 · audit A · 58 stars
odoo-code-tracer SKILL.md skill
mart337i/odoo-skills · skills/odoo-code-tracer/SKILL.md · Trace Odoo execution flow from an entry point through controllers, button actions, cron jobs, model methods, overrides…
git:20260925.1a7f303 · audit A · 58 stars
odoo-grill-me SKILL.md skill
mart337i/odoo-skills · skills/odoo-grill-me/SKILL.md · Odoo-specific grilling session that stress-tests addon plans, migrations, model/view/security designs, OWL frontend…
git:20260509.57ec9e4 · audit A · 58 stars

Every file in mart337i/odoo-skills

Browse by kind, by grade A, or by owner.