letpub-skills

Security checks across malware telemetry and agentic risk

Overview

The skill appears purpose-aligned, but it asks users to store live LetPub login cookies in a plaintext local file without adequate safety guidance.

Install only if you are comfortable giving the skill access to a LetPub authenticated session. Use a dedicated or low-risk account if possible, keep cookies.json out of source control and backups, restrict file permissions, remove the cookie after use, and revoke or refresh the LetPub session if the file may have been exposed.

Publisher note

# ClawScan Note — letpub-skills ## 技能用途与工作流 本技能为 **LetPub 期刊数据查询与分析** 工具,提供三项核心功能: 1. **期刊详情查询**:根据期刊名称,通过 LetPub 自动补全接口获取 `journal_id`,再请求详情页解析影响因子、分区、审稿速度等结构化信息。 2. **期刊评论分析**:使用 `journal_id` 分页获取用户投稿评论(需登录 Cookie),解析评分、投稿经验、回复等字段,供 AI 综合分析。 3. **期刊推荐**:根据用户提供的论文摘要,AI 选择学科分类参数调用高级搜索接口,返回候选期刊列表。 整个流程为 **只读查询**,不涉及任何数据写入、投稿操作或账户变更。 ## 权限说明 | 权限类型 | 是否使用 | 说明 | |----------|----------|------| | **网络请求** | ✅ 是 | 仅向 `letpub.com.cn` / `www.letpub.com.cn` 发起 HTTP GET/POST 请求 | | **本地文件读取** | ✅ 是 | 仅读取 `assets/cookies.json`(用户自行填写的登录 Cookie) | | **本地文件写入** | ❌ 否 | 不创建、修改或删除任何本地文件 | | **命令执行** | ❌ 否 | 不调用 `os.system`、`subprocess` 等系统命令 | | **环境变量访问** | ❌ 否 | 不读取系统环境变量或敏感配置 | ### 为什么需要网络请求 - `scripts/search_journal.py`:向 `https://letpub.com.cn/journalappAjax.php` 发送自动补全搜索请求;向 `https://www.letpub.com.cn/index.php?page=journalapp&view=search` 发送高级搜索 POST 请求。 - `scripts/get_details.py`:由调用方(AI)使用 `requests.get()` 请求 `https://letpub.com.cn/index.php?journalid={id}&page=journalapp&view=detail`,本模块仅解析返回的 HTML,自身不发起网络请求。 - `scripts/get_comments.py`:向 `https://letpub.com.cn/journalappAjax_comments_center.php` 发送评论获取请求,请求头中携带用户提供的 Cookie。 **所有网络请求目标域名仅限 `letpub.com.cn`,无任何其他外部连接。** ### 为什么需要读取本地文件 `assets/cookies.json` 存储用户手动从浏览器复制的 LetPub 登录 Cookie,用于评论获取接口的身份验证。该文件: - 由用户自行填写,技能代码不会自动获取或生成 Cookie - 仅在 `get_journal_comments()` 函数中读取并附加到请求头 - 不会被上传、转发或持久化到其他位置 ## 依赖包来源与版本 | 依赖包 | 用途 | 来源 | |--------|------|------| | `requests` | HTTP 请求 | PyPI 官方源 | | `beautifulsoup4` | HTML 解析 | PyPI 官方源 | 无 C 扩展、无编译依赖、无非标准包。 ## 数据流向 ``` 用户输入(期刊名/摘要) ↓ AI 调用 scripts/ 中的函数 ↓ HTTP 请求 → letpub.com.cn(查询) ↓ 返回 HTML/JSON → 本地解析 ↓ 结构化数据 → AI 分析 → 文字输出给用户 ``` **数据流单向、只读,不存在向外部服务器上传用户数据的行为。** ## 安全限制与加固措施 - **域名白名单**:所有网络请求硬编码指向 `letpub.com.cn`,无动态 URL 拼接风险 - **无代码执行**:不使用 `eval()`、`exec()`、`subprocess`、`os.system()` 等危险函数 - **无文件系统变更**:不创建、修改、删除用户文件系统中的任何文件 - **Cookie 最小化使用**:Cookie 仅在评论请求的 HTTP Header 中传递,不做日志记录或持久化 - **无敏感信息硬编码**:代码中不包含 API Key、密码或其他凭据 ## 合规与隐私说明 - **不收集个人信息**:技能不采集、存储或传输用户个人数据 - **Cookie 由用户主动提供**:技能不会自动登录、不保存会话、不追踪用户行为 - **查询数据不缓存**:所有 LetPub 返回的数据仅在当前会话内存中存在,不写入磁盘 - **公开数据查询**:期刊详情和搜索结果为 LetPub 公开页面数据;评论数据为登录用户可见内容,符合网站正常使用方式

SkillSpector

By NVIDIA
Vulnerability Patterns
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
  • Supply ChainUnpinned Dependencies, External Script Fetching, Obfuscated Code
  • Excessive AgencyUnrestricted Tool Access, Autonomous Decision Making, Scope Creep
Findings (3)

Missing User Warnings

Medium
Confidence
97% confidence
Finding
The skill instructs users to store authenticated session cookies in a local file without any guidance on secure storage, least privilege, expiration, or the risk of account takeover if the file is exposed. Session cookies are bearer credentials; anyone who obtains them may be able to impersonate the user on LetPub until the session expires or is revoked.

Missing User Warnings

Medium
Confidence
95% confidence
Finding
The documentation explicitly instructs users to copy live authenticated LetPub session cookies from their browser into a local JSON file, but it provides no warning that these cookies are equivalent to account credentials and may enable account takeover if leaked. In the context of a scraping/login-dependent skill, this materially increases risk because users are encouraged to persist sensitive session secrets in plaintext within the project directory, where they may be exposed through source control, logs, backups, or other local compromise.

Missing User Warnings

Medium
Confidence
84% confidence
Finding
The script automatically loads cookie-based authentication material from a local file and sends it in outbound requests to a remote site. This can expose a user's authenticated session without clear consent, increase the chance of unintended account use, and create risk if the cookie file is shared, committed, or reused across contexts.

VirusTotal

64/64 vendors flagged this skill as clean.

View on VirusTotal