Skill flagged — suspicious patterns detected

ClawHub Security flagged this skill as suspicious. Review the scan results before using.

3D模型审计技能

v1.0.0

3D模型审计技能,用于检查STL、OBJ、3MF等3D模型文件的合规性。使用时需要:(1)验证文件完整性和格式有效性,(2)检测潜在的版权侵权内容(知名IP角色、品牌等),(3)识别政治敏感或不当内容,(4)检查模型尺寸是否超出目标3D打印机的打印范围。适用于任何3D模型文件审计场景。

0· 64·0 current·0 all-time
byJianfen@kuihuar

Install

OpenClaw Prompt Flow

Install with OpenClaw

Best for remote or guided setup. Copy the exact prompt, then paste it into OpenClaw for kuihuar/3d-guard.

Previewing Install & Setup.
Prompt PreviewInstall & Setup
Install the skill "3D模型审计技能" (kuihuar/3d-guard) from ClawHub.
Skill page: https://clawhub.ai/kuihuar/3d-guard
Keep the work scoped to this skill only.
After install, inspect the skill metadata and help me finish setup.
Use only the metadata you can verify from ClawHub; do not invent missing requirements.
Ask before making any broader environment changes.

Command Line

CLI Commands

Use the direct CLI path if you want to install manually and keep every step visible.

OpenClaw CLI

Bare skill slug

openclaw skills install 3d-guard

ClawHub CLI

Package manager switcher

npx clawhub@latest install 3d-guard
Security Scan
VirusTotalVirusTotal
Benign
View report →
OpenClawOpenClaw
Suspicious
medium confidence
Purpose & Capability
名称和描述与包含的脚本(validate_3d_model.py、validate_metadata.py)基本一致:脚本实现了STL/OBJ基本完整性、边界框计算和3MF元数据提取,适合尺寸/元数据检查和文件完整性验证。但SKILL.md多次提到“多模态视觉分析/渲染图像进行视觉识别”以检测版权或敏感内容,而仓内并未包含实现该视觉分析的代码、渲染工具或声明的外部API依赖,这在能力说明与实现上存在不匹配。
!
Instruction Scope
SKILL.md 明确把元数据(Title、Description、License)作为必须三项,若三项均为空则“直接判定为不合规并停止进一步分析”。这一策略将导致大量常见且合规的STL/OBJ文件(其本身通常不包含内嵌元数据)被直接拒绝——功能边界过窄且可能产生高误报。文档还指示在模糊情况下使用视觉多模态分析,但没有给出如何生成渲染图、如何调用视觉API或需要哪些凭据,赋予了代理在运行时过多自由去调用未知外部服务。除此之外,指令并未要求读取系统范围以外的敏感路径或凭据,常规文件读取和路径/文件名检查是合理的。
Install Mechanism
这是指令为主的技能并且没有 install spec;代码文件随包提供,publish.sh 仅为发布脚本并不从外部下载可疑资源。没有通过下载可执行档或远程提取未知归档的安装步骤,因此安装风险低。
Credentials
技能不请求任何环境变量或凭据(requires.env 为空),这与包含的本地脚本一致。但SKILL.md 提到需要“多模态视觉模型/API”时,若运行环境的代理会调用外部视觉API(例如云端视觉服务),那可能需要未声明的API密钥;当前包未声明这些凭据,用户应确认代理将如何执行视觉分析以及是否会把渲染图或模型截图发送到第三方服务。
Persistence & Privilege
flags 中没有 always:true,也没有修改其他技能或系统配置的脚本。脚本为一次性本地验证工具(无持久驻留或自启行为),代理自主调用依然是默认行为(disable-model-invocation false),但这与其他风险并不直接叠加。
What to consider before installing
要点与建议: 1) 功能审查:脚本实现了文件完整性、尺寸提取(STL/OBJ)和3MF元数据检查,这部分与技能描述一致,可以在本地离线运行。 2) 注意元数据策略:SKILL.md 将 Title/Description/License 设为必须三项并在缺失时直接拒绝,这会排除大量常见且合法的 STL/OBJ 文件(这些格式通常不包含内嵌元数据)。在安装或启用前,确认你是否接受这种严格策略,或建议修改策略为“元数据缺失 → 进入更深层次检查”而不是直接拒绝。 3) 视觉分析的不明细化:文档提到“多模态视觉分析/渲染图”,但仓库未包含渲染代码或视觉模型调用说明,也未列出需要的API密钥或外部端点。请在启用前问清作者:视觉分析会如何实现(本地渲染+本地模型,还是上传到第三方API),是否会将图像/模型上传到外部服务,以及需要哪些凭据。 4) 本地安全性:脚本本身没有外网调用或不明主机下载逻辑,读取/解析模型文件的行为是合理的;但始终以受信任输入运行解析脚本以避免解析复杂/恶意构造的文件触发异常。 5) 建议的改动/检查:要求作者或发布者在 SKILL.md 中补充(a)视觉分析的实现细节和数据流向,(b)是否会需要/使用任何第三方 API 及对应环境变量名称,(c)是否可以调整“元数据缺失即拒绝”的决策逻辑以减少误判。 如果你依赖该技能做合规决策,先在隔离环境里用代表性模型集做测试,验证误报/漏报率及视觉分析的数据流向,再决定是否信任并投入生产。

Like a lobster shell, security has layers — review code before you run it.

latestvk97ct346b4na8gpkz5f2pa8gtn851cst
64downloads
0stars
1versions
Updated 1w ago
v1.0.0
MIT-0

3D Guard - 3D模型审计技能

概述

本技能用于系统化地审计3D模型文件,确保其在使用前符合版权、内容安全、技术规格等要求。支持常见3D模型格式(STL、OBJ、3MF等),并可通过多模态视觉模型和文本分析进行综合检查。

快速开始

基本审计流程:

1. 文件完整性检查 → 2. 元数据快速分析 → 3. 尺寸验证 → 4. 深度检查(如需要) → 5. 生成审计报告

优化策略:优先元数据分析

  • 元数据(Title、Description、Author等)通常能快速判断合规性
  • 如果元数据明确显示不合规 → 直接得出结论,无需进一步分析
  • 如果元数据模糊不清或可疑 → 才进行图像分析等深度检查
  • 这样可以大幅提高审计效率,减少不必要的API调用

核心审计任务

1. 文件完整性检查

目标: 验证3D模型文件的完整性和格式有效性

检查项:

  • 文件是否能正常解析(不损坏、不截断)
  • 文件格式符合标准(STL二进制/ASCII、OBJ、3MF等)
  • 几何数据完整性(顶点、面片、法线等)
  • 纹理和材质文件是否存在(如OBJ文件引用的纹理)

工具:

  • 使用 scripts/validate_3d_model.py 进行自动验证
  • 手动检查文件头部和结构

常见问题:

  • 文件损坏或截断 → 需要重新下载或修复
  • 缺少关联文件(纹理、材质) → 需要获取完整文件包
  • 格式不规范 → 可能需要转换或修复

2. 尺寸验证

目标: 确保模型尺寸适合目标3D打印机

检查流程:

  1. 解析模型边界框(bounding box)
  2. 计算X、Y、Z三个维度的最大尺寸
  3. 与目标打印机规格对比

常见打印机规格参考:

打印机类型构建体积 (mm)备注
桌面级FDM200×200×200标准入门级
桌面级SLA120×68×160小体积高精度
中级FDM300×300×400中等尺寸
工业级500×500×500+大尺寸打印

超出范围处理:

  • 稍微超出(<10%)→ 可考虑缩放或分割
  • 严重超出(>50%)→ 需要大尺寸打印机或完全重新设计
  • 可旋转打印 → 检查长边是否能放入构建平台

3. 版权侵权检测

目标: 识别模型是否包含可能侵犯版权的内容

检测范围:

  • 知名IP角色: 迪士尼、漫威、星球大战、任天堂、宝可梦等
  • 潮玩品牌IP: POP MART(泡泡玛特)- Molly、Dimoo、Skullpanda、Labubu等
  • 品牌标志: Nike、Adidas、Apple、Tesla等知名品牌
  • 受保护的设计: 商业产品、艺术作品、游戏道具等

检测方法(优先级从高到低):

第一优先级:元数据快速分析 ⚡️

# 检查模型元数据中的文本信息
# Title、Description、Author、License等字段

检查内容:

  • Title字段: 是否直接包含IP名称(如"米老鼠"、"马里奥")
  • Description字段: 是否明确描述版权内容
  • License字段: 是否有明确的授权声明
  • Author信息: 是否为原创作者

判断规则:

  • 元数据明确显示IP侵权 → 直接判定高风险,无需进一步分析
  • 元数据模糊或可疑 → 进行第二级检查
  • 元数据显示原创 → 进入风险等级评估
  • 🔴 元数据不完整 → 如果Title、Description、License三项全部为空,直接判定为不合规

合规性验证(重要):

必须满足的条件:
✅ Title字段不为空
✅ Description字段不为空  
✅ License字段不为空

如果不满足以上条件:
🔴 直接判定为“元数据不完整-不合规”
停止进一步分析,拒绝使用

第二优先级:文件名和路径分析 🔍

  • 文件名是否包含版权名称(如 "mario", "mickey", "marvel", "molly", "dimoo", "popmart")
  • 文件路径是否暗示版权内容(如包含IP名称的文件夹)
  • 是否包含潮玩品牌关键词("molly", "labubu", "skullpanda", "pucky", "popmart")

第三优先级:文档和描述检查 📄

  • 模型是否附带说明文档
  • 是否有授权声明或CC许可证信息
  • 描述中是否引用版权内容

第四优先级:视觉分析(多模态模型) 🖼️ (仅在需要时)

# 对模型渲染图或截图进行视觉分析
# 仅在元数据模糊不清时使用

使用场景:

  • 元数据过于通用(如"卡通角色"、"有趣的设计")
  • 元数据与文件名不一致
  • 需要验证元数据的真实性
  • 可疑的原创声明

重点关注的视觉特征:

  • 特定的角色造型和标志性特征
  • 品牌logo、标志、字体
  • 商业产品的独特设计元素

潮玩品牌识别特征(以POP MART为例):

  • Q版比例: 头大身小,3:1到4:1的比例
  • 眼睛设计: 特别大的眼睛(通常占面部1/2-1/3)
  • 色彩风格: 梦幻、马卡龙、糖果色系
  • 细节特征: 特定的发型、服装花纹、配饰
  • 盲盒造型: 标志性的站立姿势,可爱表情

风险等级评估:

  • 高风险: 明确是知名IP的复制品(如完整的任天堂角色)
  • 中风险: 灵感来源于版权作品但有一定原创性
  • 低风险: 通用设计、原创作品或明显在合理使用范围内

4. 政治敏感性分析

目标: 识别模型是否包含政治敏感、暴力或不当内容

检查类别:

  • 政治人物、符号、标志
  • 政治标语、口号
  • 极端主义或仇恨相关符号
  • 武器、军事装备(特别是现实主义武器)
  • 不当、暴力或恐怖主题

检测方法(优先级从高到低):

第一优先级:元数据快速分析 ⚡️

# 检查模型元数据中的文本信息
# Title、Description、Author、DesignRegion等字段

检查内容:

  • Title字段: 是否直接包含政治人物名称
  • Description字段: 是否明确描述政治相关内容
  • DesignRegion/Author: 判断来源和背景

判断规则:

  • 元数据明确显示政治敏感内容 → 直接判定高风险,无需进一步分析
  • 元数据模糊不清 → 进行第二级检查
  • 元数据显示非政治内容 → 进入风险评估

第二优先级:文件名和路径分析 🔍

  • 文件名是否包含政治人物名称或敏感词
  • 文件路径是否暗示敏感内容

第三优先级:视觉分析 🖼️ (仅在需要时)

# 对模型渲染图或截图进行视觉分析
# 仅在元数据模糊不清时使用

使用场景:

  • 元数据过于通用(如"人物头像"、"雕像")
  • 元数据与文件名不一致
  • 需要验证元数据的真实性

第四优先级:上下文评估 📊

  • 结合模型用途判断合理性
  • 考虑设计时间和背景
  • 评估作者和来源可信度

合理例外:

  • 教育用途的通用历史模型
  • 艺术表达(需谨慎评估)
  • 个人非政治用途

5. 审计报告生成

报告结构(优化版):

# 3D模型审计报告

## 基本信息
- 模型文件:[文件名]
- 文件格式:[STL/OBJ/3MF]
- 文件大小:[大小]
- 审计时间:[时间戳]

## 审计结果

### 1. 文件完整性 ✅/❌
[结果详情]

### 2. 元数据分析 ⚡️ 快速检查

**首先验证元数据合规性:**
- **Title状态:** [存在/缺失]
- **Description状态:** [存在/缺失]
- **License状态:** [存在/缺失]
- **合规性:** [合规/不合规-元数据缺失]

**如果不合规(元数据缺失):**
- **风险等级:** 🔴 高风险
- **结论:** 直接拒绝使用,无需进一步分析
- **理由:** 缺少必须的元数据字段
- **建议:** 要求模型提供者补充完整的元数据,或拒绝使用

**如果合规:继续分析**
- **Title:** [元数据内容]
- **Description:** [元数据内容]
- **License:** [许可证信息]
- **判断:** [明确/模糊/原创]

### 3. 尺寸验证 ✅/❌
- 模型尺寸:[X×Y×Z mm]
- 目标打印机:[打印机型号]
- 构建体积:[体积]
- 结论:[是否符合]

### 4. 元数据合规性检查 🔴
- **Title状态:** [存在/缺失]
- **Description状态:** [存在/缺失]
- **License状态:** [存在/缺失]
- **合规性:** [合规/不合规-元数据缺失]

**如果不合规(元数据缺失):**
- **风险等级:** 🔴 高风险
- **理由:** 缺少必须的元数据(Title、Description、License)
- **建议:** 要求模型提供者补充完整的元数据,或拒绝使用

### 5. 版权检测 ⚠️
- 风险等级:[高/中/低]
- 检测到的内容:[具体描述]
- 检测依据:[元数据/视觉分析/两者结合]
- 建议:[使用建议]

### 6. 政治敏感性 ✅/⚠️
- 检测结果:[内容描述]
- 风险评估:[低/中/高]
- 检测依据:[元数据/视觉分析/两者结合]

## 总体建议
[综合建议和使用限制]

工作流程

完整审计流程

graph TD
    A[接收3D模型] --> B[文件完整性检查]
    B -->|文件有效| C[尺寸验证]
    B -->|文件损坏| D[报告问题并停止]
    C -->|尺寸合规| E[版权检测]
    C -->|尺寸超限| F[标记需缩放/分割]
    E --> G[政治敏感性分析]
    F --> G
    G --> H[生成审计报告]

条件决策树

何时需要进行完整审计?

  • 准备公开发布3D模型
  • 计划商业化使用模型
  • 模型来源不明或不可信
  • 组织内部有合规要求

何时可以简化审计?

  • 自己创建的原创模型
  • 已知可信来源的模型
  • 个人非商业使用

使用场景示例

场景1:元数据不合规(新增)

用户:"检查这个3D模型的合规性"
→ 运行元数据验证:validate_metadata.py
→ 发现:缺少Title、Description、License
→ 结论:元数据不合规,直接拒绝
→ 建议:要求补充元数据或拒绝使用
→ 无需进行后续的版权/政治敏感性分析

场景2:社区分享前的审计

用户:"我刚设计了一个3D模型,想在社区分享,帮我检查一下"
→ 运行完整审计流程
→ 首先验证元数据合规性
→ 通过后检查版权和政治敏感性
→ 生成详细报告供用户参考

场景3:生产前的尺寸验证

用户:"这个STL文件能用我的Ender 3打印吗?"
→ 简化审计:重点检查尺寸
→ 与220×220×250mm构建体积对比
→ 直接给出是否可打印的结论

场景4:版权风险评估

用户:"这个模型看起来有点像任天堂的角色,能用吗?"
→ 优先检查元数据(Title、Description)
→ 如果元数据模糊 → 使用多模态模型分析视觉相似度
→ 提供风险等级和法律建议

场景5:元数据明确的情况

用户:"检查这个模型的合规性"
→ 发现元数据 Title: "米老鼠米奇"
→ 结论:明确版权侵权,无需进一步分析
→ 直接给出风险评级和建议

场景6:元数据模糊的情况

用户:"这个卡通模型有问题吗?"
→ 元数据 Title: "有趣的卡通角色"
→ 元数据不够明确,需要视觉分析
→ 使用多模态模型判断是否是知名IP
→ 综合评估风险

参考资源

scripts/

validate_metadata.py - 元数据合规性验证脚本 ⭐ 新增

  • 验证3MF文件的元数据完整性
  • 检查必须字段:Title、Description、License
  • 提取所有可用的元数据字段

使用方法:

python3 scripts/validate_metadata.py /path/to/model.3mf

输出:

{
  "format": "3MF",
  "metadata": {
    "title": "模型名称",
    "description": "模型描述",
    "license": "许可证类型",
    "author": "作者"
  },
  "compliance": {
    "is_compliant": true/false,
    "required_fields": {
      "title": {"exists": true/false, "value": "..."},
      "description": {"exists": true/false, "value": "..."},
      "license": {"exists": true/false, "value": "..."}
    },
    "missing_fields": ["Title", "Description", "License"],
    "reason": "缺少必须的元数据字段"
  }
}

合规性规则:

  • 合规: Title、Description、License三个字段全部存在且非空
  • 🔴 不合规: 任意一个或多个字段缺失或为空

validate_3d_model.py - 3D模型验证脚本

  • 自动验证文件完整性
  • 解析模型尺寸
  • 提取基本元数据(STL/OBJ)

使用方法:

python3 scripts/validate_3d_model.py /path/to/model.stl

输出:

{
  "valid": true,
  "format": "STL",
  "size": {"x": 150.5, "y": 120.3, "z": 80.2},
  "vertices": 12580,
  "faces": 25160
}

references/

printer-specs.md - 常见3D打印机规格参考

  • 主流打印机构建体积
  • 技术参数对比
  • 适用场景说明

copyright-guidelines.md - 版权检查指南

  • 主要IP列表和特征
  • 检查要点和方法
  • 合理使用原则

sensitive-content.md - 敏感内容识别参考

  • 政治敏感内容分类
  • 常见符号和标志
  • 评估标准

注意事项

  1. 法律免责声明: 本技能提供的审计仅供参考,不能替代专业法律意见
  2. 元数据优先原则: 优先使用元数据进行快速判断,节省资源和时间
  3. 误判可能性: AI检测可能存在误判,需要人工复核高风险项目
  4. 模型隐私: 审计过程中不要泄露用户模型文件或敏感信息
  5. 持续更新: 版权和敏感性标准会变化,需要定期更新参考数据

优化说明(重要)

为什么优先元数据分析?

  • 速度快:文本分析比图像分析快得多
  • 准确性高:作者在元数据中通常会诚实地标注内容
  • 成本低:减少不必要的API调用和计算资源
  • 效率高:对于明确违规的模型,可以立即得出结论

元数据合规性验证(新增):

  • 🔴 强制要求:3MF文件必须包含Title、Description、License三个字段
  • 🚫 不合规即拒绝:缺少任意一个字段,直接判定为不合规
  • 快速筛选:可以在第一时间淘汰不合格的模型
  • 提升效率:避免对不合格模型进行不必要的深度分析

什么时候跳过元数据检查?

  • STL/OBJ格式(不支持内嵌元数据)
  • 元数据字段缺失或损坏(已判定为不合规)
  • 需要验证元数据的真实性(怀疑被修改)

元数据不可靠的情况:

  • 恶意修改元数据来隐藏真实内容
  • 下载的模型元数据被篡改
  • 不完整的元数据(已判定为不合规)

最佳实践

  1. 先元数据后深度检查: 优先使用元数据分析快速判断,只在必要时进行深度检查
  2. 明确说明检测依据: 在报告中清楚说明是基于元数据还是视觉分析
  3. 保留审计记录: 对重要模型保留审计报告和时间戳
  4. 上下文很重要: 结合模型用途和场景评估风险
  5. 透明沟通: 向用户清楚说明审计结果的不确定性
  6. 效率优先: 当元数据已明确时,不要进行不必要的图像分析

Comments

Loading comments...