Skill flagged — suspicious patterns detected

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

Word Reader

读取 Word 文档(.docx 和 .doc 格式)并提取文本内容。支持文档解析、表格提取、图片处理等功能。使用当用户需要分析 Word 文档内容、提取文本信息或批量处理文档时。

MIT-0 · Free to use, modify, and redistribute. No attribution required.
2 · 1.4k · 11 current installs · 12 all-time installs
MIT-0
Security Scan
VirusTotalVirusTotal
Suspicious
View report →
OpenClawOpenClaw
Suspicious
medium confidence
Purpose & Capability
技能名称/描述、所需二进制(python3)、以及所安装的依赖(python-docx、可选 antiword)与“读取 Word 文档并提取内容”的目的匹配。例外:skill 元数据与 requires.env 将 PYTHONPATH 列为必需项,但代码和安装脚本中没有使用或设置该环境变量,这看起来不必要或误报。
Instruction Scope
SKILL.md 的运行说明仅指示安装 python-docx/antiword 并运行 scripts/read_word.py,范围与文档处理目的相符. 需要注意的细节:demo.sh 硬编码检查路径 /root/.openclaw/workspace/skills/word-reader/scripts/read_word.py(在非 root 或不同工作目录下可能失效),install.sh 会尝试自动安装 pip 和在系统范围内安装依赖并执行脚本的 --help 以验证安装。代码使用 subprocess 调用 antiword(仅用于 .doc 支持),这是合理且与目的相关。
Install Mechanism
安装通过 pip(python-docx)和可选的系统包管理器(apt-get / brew 用于 antiword)完成,这来自常见来源(PyPI / OS 包管理器)且没有从不受信任的 URL 下载或提取任意归档。值得注意:install.sh 使用 pip install python-docx --break-system-packages(该标志不常见且在某些系统上具有系统级副作用/特殊含义),并且 install.sh 会尝试使用系统包管理器(sudo apt-get),这会要求提权。
!
Credentials
requires.env 列出 PYTHONPATH 为必要环境变量,但没有其它必需的 API 密钥或凭证。代码、install.sh、demo.sh 未读取或依赖 PYTHONPATH,且脚本也不访问任何其他外部凭证,故声明 PYTHONPATH 为必需不成比例且可能是多余或误配置。
Persistence & Privilege
技能没有设置 always:true,默认的自主调用也未结合广泛权限或敏感凭证访问。install.sh 仅设置脚本可执行位并在本地验证,未修改其他技能或系统配置文件。总体持久性/权限要求处于正常范围,但会请求 sudo/apt 以安装系统包(可选 antiword),须注意提权操作。
What to consider before installing
概述和建议操作: - 不要立即在生产主机上运行 install.sh;先在隔离环境(临时 VM 或容器、或 Python virtualenv)中测试。install.sh 可能会调用 sudo/apt。 - review: 在安装前打开并阅读 scripts/read_word.py、install.sh、demo.sh。关注两点: (1) install.sh 使用了 --break-system-packages(非常规),这可能影响系统包策略;(2) demo.sh 中硬编码的 /root/.openclaw/... 路径在你的环境中可能不正确或表明假设的运行上下文。 - PYTHONPATH: skill 元数据要求 PYTHONPATH,但代码没有使用该环境变量。建议向作者确认是否真的需要,并在安装说明或元数据中移除多余的 env 要求。 - 权限: install.sh 可能会使用 sudo 来安装系统包(antiword),如果你不需要 .doc 支持可跳过这一步。优先在虚拟环境或容器内运行 pip 安装以避免污染系统 Python。 - 安全检查: scripts/read_word.py 使用 subprocess 调用 antiword(仅在处理 .doc 时),并在 docx 情况下访问文档内的图片 blob 来计算大小(未写回磁盘)。这些行为看起来与功能相关,但如果你担心敏感文件泄露,请在本地环境中运行或对代码做审计以确认没有意外的网络/外部通信。 - 若需更高信心:要求作者解释为何声明 PYTHONPATH 为必需、移除或解释 --break-system-packages 的使用,并确认 demo 脚本中路径的意图;或将技能打包为不需要系统级 pip 更改的版本。

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

Current versionv1.0.0
Download zip
documentvk97ds25pt42fn5chfdgwc81df580xfdmlatestvk97ds25pt42fn5chfdgwc81df580xfdmofficevk97ds25pt42fn5chfdgwc81df580xfdmparsingvk97ds25pt42fn5chfdgwc81df580xfdmreadervk97ds25pt42fn5chfdgwc81df580xfdmtext-extractionvk97ds25pt42fn5chfdgwc81df580xfdmwordvk97ds25pt42fn5chfdgwc81df580xfdm

License

MIT-0
Free to use, modify, and redistribute. No attribution required.

Runtime requirements

📄 Clawdis
Binspython3
EnvPYTHONPATH

SKILL.md

Word 文档读取器

使用 Python 解析 Word 文档,提取文本内容和结构化信息。

支持的功能

  • 文档文本提取 - 提取段落、标题、页眉页脚内容
  • 表格解析 - 读取表格数据并转换为结构化格式
  • 图片处理 - 提取文档中的图片信息
  • 元数据获取 - 读取文档属性(作者、标题、创建时间等)
  • 批量处理 - 支持处理多个文档

用法

基本文本提取

python3 {baseDir}/scripts/read_word.py <文件路径>

指定输出格式

# JSON 输出
python3 {baseDir}/scripts/read_word.py <文件路径> --format json

# 纯文本输出
python3 {baseDir}/scripts/read_word.py <文件路径> --format text

# Markdown 格式
python3 {baseDir}/scripts/read_word.py <文件路径> --format markdown

提取特定内容

# 只提取文本
python3 {baseDir}/scripts/read_word.py <文件路径> --extract text

# 提取表格数据
python3 {baseDir}/scripts/read_word.py <文件路径> --extract tables

# 获取文档元数据
python3 {baseDir}/scripts/read_word.py <文件路径> --extract metadata

批量处理

# 处理目录下所有 .docx 文件
python3 {baseDir}/scripts/read_word.py <目录路径> --batch

参数说明

参数说明默认值
--format输出格式(json/text/markdown)text
--extract提取内容类型(text/tables/images/metadata/all)all
--batch批量处理模式false
--output输出文件路径stdout
--encoding文本编码(utf-8/gb2312)utf-8

输出格式

JSON 格式

{
  "metadata": {
    "title": "文档标题",
    "author": "作者姓名",
    "created": "2024-01-01T10:00:00",
    "modified": "2024-01-01T12:00:00"
  },
  "text": "文档全文内容...",
  "tables": [
    [
      ["表头1", "表头2"],
      ["行1列1", "行1列2"],
      ["行2列1", "行2列2"]
    ]
  ],
  "images": [
    {
      "filename": "image1.png",
      "description": "图片描述",
      "size": "1024x768"
    }
  ]
}

Markdown 格式

# 文档标题

**作者**:作者姓名  
**创建时间**:2024-01-01 10:00:00

## 正文内容

这是文档的正文内容...

### 表格示例

| 表头1 | 表头2 |
|-------|-------|
| 行1列1 | 行1列2 |
| 行2列1 | 行2列2 |

![图片描述](image1.png)

## 图片列表

1. **image1.png** (1024x768) - 图片描述

错误处理

  • 文件不存在:显示错误信息并退出
  • 格式不支持:提示支持的文件类型
  • 权限问题:提示文件访问权限
  • 编码问题:尝试自动检测编码

示例场景

1. 查看项目文档

python3 {baseDir}/scripts/read_word.py 项目需求.docx --format markdown

2. 提取会议记录

python3 {baseDir}/scripts/read_word.py 会议记录.docx --extract text

3. 批量处理文档

python3 {baseDir}/scripts/read_word.py ./文档目录 --batch --format json --output results.json

注意事项

  • 支持 .docx 格式(Office 2007+)
  • .doc 格式需要额外依赖(如 antiword)
  • 大文档处理可能需要较长时间
  • 图片提取仅获取元数据,不包含实际图片数据
  • 表格格式可能需要手动调整

故障排除

常见问题

  1. ModuleNotFoundError: 确保已安装 python-docx
  2. PermissionError: 检查文件读取权限
  3. UnicodeDecodeError: 尝试不同的编码格式

安装依赖

pip3 install python-docx

对于 .doc 格式支持:

# Ubuntu/Debian
sudo apt-get install antiword

# macOS
brew install antiword

高级功能

自定义样式处理

脚本会自动处理以下文档元素:

  • 标题级别(H1-H6)
  • 段落样式
  • 列表项目
  • 页眉页脚
  • 文档属性

性能优化

  • 大文件流式处理
  • 内存使用优化
  • 进度显示(批量模式)

Files

9 total
Select a file
Select a file to preview.

Comments

Loading comments…