Description-Behavior Mismatch
- Category
- MCP Tool Poisoning
- Confidence
- 99% confidence
- Finding
所提供代码仅执行两条文档转换命令,未体现新闻获取、市场信息分析或关注方向排序。文档转换本身可以是报告生成的辅助步骤,但该代码块未提供任何与所声明金融分析任务的关联,因此就所提供代码而言,其实际用途与声明不符。
- Content
Security audit
Security checks for vulnerabilities and agentic risk
The reporting workflow fits its purpose, but its handling of API keys and unsafe troubleshooting advice warrant review.
Configure your Cue key outside chat and restrict its directory and file permissions to 0700 and 0600. Review and pin the external runner before execution, and keep sandbox protections enabled. Cue processes your queries remotely; enable recurring credit-consuming reports only if wanted.
所提供代码仅执行两条文档转换命令,未体现新闻获取、市场信息分析或关注方向排序。文档转换本身可以是报告生成的辅助步骤,但该代码块未提供任何与所声明金融分析任务的关联,因此就所提供代码而言,其实际用途与声明不符。
Remote code is downloaded and executed. This bypasses code review and could introduce malicious code.
CUE_KEY=$(python3 -c "import json;print(json.load(open('$HOME/.cue/config.json'))['api_key'])" 2>/dev/null || echo "$CUE_API_KEY")
echo "=== 1/3 API Key ===" && [ -n "$CUE_KEY" ] && echo "已配置" || echo "未配置!"
echo "=== 2/3 Cue 服务 ===" && curl -sS --max-time 10 "https://cuecue.cn/api/health" -H "Authorization: Bearer $CUE_KEY"
echo "=== 3/3 搭子 ===" && curl -sS --max-time 10 "https://cuecue.cn/api/playbook" -H "Authorization: Bearer $CUE_KEY" | python3 -c "import sys,json;scenes=json.load(sys.stdin).get('data',{}).get('scenes',[]);buddy=[b for s in scenes if s.get('secondary_category')=='短线盘面' for b in s.get('buddies',[]) if b.get('title')=='深度盘前策略内参'];print(f'可用:{len(buddy)}个') if buddy else print('暂不可用')"
Creating a configuration directory is not malicious persistence, but the adjacent command writes an API credential without enforcing restrictive permissions. With a common umask of 022 and a traversable home directory, a newly created config file can be readable by other local users, allowing credential theft and unauthorized consumption of Cue credits.
# git clone https://gitee.com/sensedeal/cue-skills ~/.cue/cue-skills
# 2. 写入 API Key(在 https://cuecue.cn/api-key?src=clawhub-pre-market-strategy 创建后复制)
mkdir -p ~/.cue && echo '{"api_key":"sk..."}' > ~/.cue/config.json
# 3. 验证连通(返回 200 即成功)
curl -sS --max-time 10 "https://cuecue.cn/api/templates" \
Commands invoke sudo or root privileges. Verify this elevated access is necessary and justified.
| 目标格式 | 依赖 | macOS | Ubuntu |
|----------|------|-------|--------|
| Word (.docx) | pandoc | `brew install pandoc` | `sudo apt install pandoc` |
| PDF (.pdf) | pandoc + LaTeX | `brew install --cask basictex` | `sudo apt install texlive-xetex` |
---
Commands invoke sudo or root privileges. Verify this elevated access is necessary and justified.
| 目标格式 | 依赖 | macOS | Ubuntu |
|----------|------|-------|--------|
| Word (.docx) | pandoc | `brew install pandoc` | `sudo apt install pandoc` |
| PDF (.pdf) | pandoc + LaTeX | `brew install --cask basictex` | `sudo apt install texlive-xetex` |
---
Skill establishes unauthorized persistence across sessions via cron jobs, startup scripts, or state files. Session persistence allows an attacker to maintain access beyond the current interaction.
| 环境 | 配置方式 |
|------|---------|
| Claude Code | 用 `CronCreate`,cron 表达式 `0 8 * * 1-5`(自定义时间按用户所选取 分 时 日 月 周) |
| macOS | 建 `~/Library/LaunchAgents/com.cue.pre-market.plist`,`StartCalendarInterval` 设 `Weekday` 1–5、`Hour` 8、`Minute` 0,再 `launchctl load` |
| Linux | `crontab -e` 追加 `0 8 * * 1-5 <上面的命令>` |
配完必须回报三件事:**触发时间、输出目录、如何关掉**(Claude Code 删任务 / `launchctl unload` / `crontab -e` 删除对应行)。
Skill establishes unauthorized persistence across sessions via cron jobs, startup scripts, or state files. Session persistence allows an attacker to maintain access beyond the current interaction.
| 环境 | 配置方式 |
|------|---------|
| Claude Code | 用 `CronCreate`,cron 表达式 `0 8 * * 1-5`(自定义时间按用户所选取 分 时 日 月 周) |
| macOS | 建 `~/Library/LaunchAgents/com.cue.pre-market.plist`,`StartCalendarInterval` 设 `Weekday` 1–5、`Hour` 8、`Minute` 0,再 `launchctl load` |
| Linux | `crontab -e` 追加 `0 8 * * 1-5 <上面的命令>` |
配完必须回报三件事:**触发时间、输出目录、如何关掉**(Claude Code 删任务 / `launchctl unload` / `crontab -e` 删除对应行)。
Skill establishes unauthorized persistence across sessions via cron jobs, startup scripts, or state files. Session persistence allows an attacker to maintain access beyond the current interaction.
|------|---------|
| Claude Code | 用 `CronCreate`,cron 表达式 `0 8 * * 1-5`(自定义时间按用户所选取 分 时 日 月 周) |
| macOS | 建 `~/Library/LaunchAgents/com.cue.pre-market.plist`,`StartCalendarInterval` 设 `Weekday` 1–5、`Hour` 8、`Minute` 0,再 `launchctl load` |
| Linux | `crontab -e` 追加 `0 8 * * 1-5 <上面的命令>` |
配完必须回报三件事:**触发时间、输出目录、如何关掉**(Claude Code 删任务 / `launchctl unload` / `crontab -e` 删除对应行)。
Skill establishes unauthorized persistence across sessions via cron jobs, startup scripts, or state files. Session persistence allows an attacker to maintain access beyond the current interaction.
| macOS | 建 `~/Library/LaunchAgents/com.cue.pre-market.plist`,`StartCalendarInterval` 设 `Weekday` 1–5、`Hour` 8、`Minute` 0,再 `launchctl load` |
| Linux | `crontab -e` 追加 `0 8 * * 1-5 <上面的命令>` |
配完必须回报三件事:**触发时间、输出目录、如何关掉**(Claude Code 删任务 / `launchctl unload` / `crontab -e` 删除对应行)。
### 必须提前告知的两个坑
No suspicious patterns detected.