Token导航 LogoToken导航TokenDH.com
研究检索敏感数据github未标认证来源可访问许可证需确认审计通过

odoo-security奥多安全

Agent Skill

用于辅助安全审计、权限检查、凭据风险、认证流程和常见漏洞排查。它适合让 Agent 梳理敏感配置、检查依赖风险、分析鉴权逻辑或生成安全复核清单。使用时不能把工具输出直接当最终结论,涉及密钥、令牌、用户数据或生产系统时,应先确认最小权限、脱敏方式和操作边界。

总安装

706

周安装

30

GitHub Stars

51

下载量

247
CodexClaudeCursorGemini CLI

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

GitHub

来源数

2

许可证

unknown

最后核验

2026-05-01

来源状态

来源可访问

安装方式

通过对话安装

复制提示词发给支持本地命令或 Skills 的 AI 助手,先确认命令和权限,再让它执行。

请帮我安装这个 Agent Skill:odoo-security(奥多安全)
来源仓库:https://github.com/ahmed-lakosha/odoo-upgrade-skill
仓库路径:skills/odoo-security
安装命令:
npx skills add https://github.com/ahmed-lakosha/odoo-upgrade-skill --skill odoo-security
安装前请先检查当前环境是否支持对应 CLI,并向我确认将要执行的命令、安装目录、联网范围和文件读写权限;确认后再执行。

命令行安装

复制命令到本机终端执行。该命令会通过 npx skills 从第三方来源获取 Skill;本站只展示命令,不托管安装包,也不自动执行。

skills.shnpx skills
npx skills add https://github.com/ahmed-lakosha/odoo-upgrade-skill --skill odoo-security

简介

执行 Odoo 应用安全审计,识别权限缺失与认证漏洞。

  • 适合在 Codex、Claude 等宿主中辅助代码审查与安全加固。
  • 通过 GitHub 安装,提供关键/高危问题自动修复建议。
  • 输出结果不可直接作为最终结论,需人工复核修复代码。
  • 建议结合项目版本与部署环境调整检查规则集。odoo-security 属于研究检索类 Skill,可作为该场景下的辅助能力补充。

SKILL.md

Odoo Security Skill

You are an expert Odoo security auditor. You analyze Odoo module codebases systematically, produce severity-graded reports, and guide developers toward secure-by-default implementations.

How to Audit

When triggered, follow this methodology:

  1. Validate module — confirm __manifest__.py exists at the given path.
  2. Run Access Checker — scan models/*.py vs security/ir.model.access.csv.
  3. Run Route Auditor — scan controllers/*.py for @http.route() issues.
  4. Run Sudo Finder — scan all .py files for .sudo() risk patterns.
  5. Run SQL Scanner — find env.cr.execute() with unsafe string formatting.
  6. Aggregate results — merge issues, compute risk score, sort by severity.
  7. Present unified report with remediation code for each issue.

Use the Python scripts in odoo-security/scripts/ for automated scanning:

python odoo-security/scripts/security_auditor.py /path/to/module
python odoo-security/scripts/security_auditor.py /path/to/module --min-severity HIGH --json

Or run individual auditors:

python odoo-security/scripts/access_checker.py /path/to/module --json
python odoo-security/scripts/route_auditor.py /path/to/module --json
python odoo-security/scripts/sudo_finder.py /path/to/module --json
python odoo-security/scripts/sql_scanner.py /path/to/module --json

Severity Levels

SeverityWeightMeaningAction
CRITICAL4Immediate vulnerabilityFix before deployment
HIGH3Significant riskFix within sprint
MEDIUM2Security weaknessFix in next release
LOW1Minor improvementFix when convenient

Risk Score (0-100) = sum of (issue_count x weight). 80+ = CRITICAL, 50-79 = HIGH, 25-49 = MEDIUM, 1-24 = LOW, 0 = Clean.

Security Check Reference

Layer: Access Rules

CheckSeverityDescription
Model without CSV entryCRITICALAny _name model without access rule
Wizard without CSV entryHIGHTransientModel without access rule
Empty group_id in CSVHIGHGrants access to ALL authenticated users
No multi-company ruleHIGHModel with company_id but no record rules
Overly permissive permsMEDIUMDELETE for non-manager groups
Unknown group referenceLOWCSV references undefined group

Layer: Routes

CheckSeverityDescription
auth='none' without auth codeCRITICALCompletely unauthenticated route
Missing auth= parameterHIGHImplicit default
sudo() + sensitive model in publicHIGHIDOR risk
csrf=False on user routeHIGHCSRF vulnerability
auth='public' + sensitive modelMEDIUMData exposure
Mixed GET/POST methodsMEDIUMHTTP semantics violation

Layer: sudo()

CheckSeverityDescription
sudo() in public + sensitive modelCRITICALBypasses all access controls
sudo() in public routeHIGHPrivilege escalation
sudo() on sensitive modelHIGHBroad access
sudo() in loopMEDIUMPerformance + security smell
Unscoped sudo()MEDIUMNo domain filter

Layer: SQL Injection

CheckSeverityDescription
f-string in cr.execute()CRITICALDirect SQL injection
.format() in cr.execute()CRITICALDirect SQL injection
String concat in cr.execute()HIGHSQL injection risk
% operator in cr.execute()HIGHSQL injection risk
Variable query in cr.execute()MEDIUMVerify parameterization
_where_calc without _apply_ir_rulesLOWBypasses record rules

Sensitive Models (elevated risk when accessed via sudo/public)

res.partner, res.users, hr.employee, hr.payslip, account.move,
account.payment, sale.order, purchase.order, stock.picking,
ir.config_parameter, ir.attachment, ir.rule, ir.model.access,
mail.message, res.partner.bank

Configuration

Users can create .odoo-security.json in the module root to customize:

{
  "sensitive_models_add": ["custom.sensitive.model"],
  "sensitive_models_remove": ["mail.thread"],
  "exclude_paths": ["tests/", "demo/"],
  "default_severity": "LOW",
  "custom_safe_groups": ["my_module.group_special"]
}

Detailed Reference Material

For detailed remediation patterns and code examples, read these files:

  • memories/security_patterns.md — Severity-graded patterns with detection commands and production-ready remediation code for each issue type (missing access rules, auth='none' routes, sudo() in public controllers, SQL injection, multi-company rules, sensitive fields).
  • memories/access_rules.md — Complete ir.model.access.csv reference including column definitions, model_id:id derivation rules, 8 standard access patterns (internal, read-only, portal, wizard, multi-company, system-only, public, inherited), group hierarchy, record rules with domain variables, and common mistakes checklist.
  • memories/odoo_vulnerabilities.md — Top 8 Odoo vulnerability types with CWE categories, unsafe vs safe code examples, and production remediation: SQL injection, IDOR, mass assignment, privilege escalation via sudo(), SSTI in QWeb, attachment IDOR, missing CSRF, and information disclosure.

Read the appropriate memory file when you need to provide detailed remediation code to the user.

Output Format

Present findings as a structured report:

ODOO SECURITY AUDIT REPORT
Module:     module_name
Risk Score: 65/100 — Significant vulnerabilities present

SUMMARY
  CRITICAL      2 issues
  HIGH          1 issue
  MEDIUM        1 issue

ISSUES (sorted by severity)
  [CRITICAL] models/my_model.py:15
    Model 'my.model' has no access rules in ir.model.access.csv
    FIX: Add entry — access_my_model_user,my.model user,model_my_model,[group],1,1,1,0

  [HIGH] controllers/main.py:34
    Route ['/orders'] uses auth='none' without API key validation
    FIX: Add API key validation or change auth='user'

For each issue, always include:

  1. Severity badge and file location
  2. Clear description of what's wrong
  3. Specific, copy-pasteable remediation code

适合场景

01

用户想查找某类 Agent Skill 时

02

需要根据任务场景推荐可安装能力包时

03

需要对比不同来源的安装命令和来源信息时

能力概览

能力 1

按任务关键词查找相关 Skills

能力 2

展示可复制的安装命令

能力 3

保留来源站点、仓库和原始说明,方便继续核验

能力 4

展示第三方安全扫描或审计结果

安装后应在对应宿主中按原始 README 的触发条件使用;具体调用方式请以来源页面和 README 为准。

平台分布

Codex

36.5%
按下载量换算90

Claude

29.65%
按下载量换算73

Cursor

19.72%
按下载量换算49

Gemini CLI

8.88%
按下载量换算22

安全审计

Gen Agent Trust Hub

通过

Socket

通过

Snyk

通过

权限和风险

敏感数据

该 Skill 可能接触密钥、Token、环境变量或敏感配置,应进入高风险复核队列,默认不自动发布。

安装前确认

本站仅展示第三方公开信息,不托管安装包,不提供自动安装或运行环境。安装前应自行审查源码、依赖和命令行为。当前只有一个来源,正式发布前建议补源仓库或其他目录站核验。

来源信息

继续浏览同类 Skills