低风险 — 风险评分 5/100
上次扫描:2 天前 重新扫描
5 /100
tech-brief
追踪内存、AI、算力领域的最新资讯、政策、活动和热点话题
标准科技资讯采集工具,功能与文档基本一致,代码质量良好,预扫描标记的硬编码IP实为误报(120.0.0.0是私有IP用作User-Agent占位符,非可疑外部连接),未发现恶意行为。
技能名称tech-brief
分析耗时41.6s
引擎pi
可以安装
可安全使用。无需修复。如需提升可维护性,建议将硬编码IP改为环境变量。

安全发现 4 项

严重性 安全发现 位置
低危
依赖包版本未锁定
requirements.txt 使用 >= 版本约束,pip 可安装任意兼容版本,存在依赖混淆或供应链攻击风险。feedparser、python-dateutil 等间接依赖未显式声明。
requests>=2.28.0
→ 建议使用 == 精确版本或 pip-compile 生成 pinned requirements.txt
requirements.txt:1
低危
跨skill目录引用
daily_fetch.py 通过相对路径 ../ai-policy-brief/ 引用另一个 skill 的数据和脚本,违反了单一 skill 自包含原则。
policy_file = SCRIPT_DIR.parent / 'ai-policy-brief' / 'output' / 'policy.json'
→ 如无需外部数据源支持,应移除此跨目录引用;如需要,应在 SKILL.md 中明确声明依赖关系
scripts/daily_fetch.py:62
提示
SKILL.md 未提及 daily_fetch.py
SKILL.md 目录结构中列出的主入口是 daily_fetch.py,但在工作流程章节中未详细说明其功能,而是将 fetch_news.py、fetch_policy.py、fetch_trends.py 列为独立阶段。
scripts/daily_fetch.py # 每日汇总主脚本
→ 建议在文档中补充 daily_fetch.py 的完整说明
SKILL.md:1
提示
subprocess 调用受异常保护
daily_fetch.py:71-82 使用 subprocess.run 调用外部脚本,且已用 try/except 包裹,失败时优雅降级返回空数据,不存在远程代码执行风险。
result = subprocess.run([sys.executable, str(policy_script), '--days', str(days)], capture_output=True, text=True)
→ 无需修改,当前实现安全
scripts/daily_fetch.py:71
资源类型声明权限推断权限状态证据
文件系统 NONE READ ✓ 一致 scripts/daily_fetch.py:62-74 — 读取 ../ai-policy-brief/output/policy.json 和 ../ai-…
网络访问 READ READ ✓ 一致 scripts/fetch_news.py:67-68, scripts/fetch_trends.py:59-165 — 仅 GET 请求获取公开数据
命令执行 NONE NONE 无 shell 执行
环境变量 NONE NONE 无环境变量遍历或凭证访问
剪贴板 NONE NONE 无剪贴板访问
1 高危 40 项发现
📡
高危 IP 地址 硬编码 IP 地址
120.0.0.0
scripts/fetch_news.py:72
🔗
中危 外部 URL 外部 URL
https://www.techpowerup.com/rss/
references/sources.md:9
🔗
中危 外部 URL 外部 URL
https://www.tomshardware.com/feeds/all
references/sources.md:10
🔗
中危 外部 URL 外部 URL
https://www.anandtech.com/rss/
references/sources.md:11
🔗
中危 外部 URL 外部 URL
https://www.theverge.com/rss/index.xml
references/sources.md:12
🔗
中危 外部 URL 外部 URL
https://feeds.arstechnica.com/arstechnica/index
references/sources.md:13
🔗
中危 外部 URL 外部 URL
https://www.expreview.com/
references/sources.md:19
🔗
中危 外部 URL 外部 URL
https://www.mydrivers.com/
references/sources.md:20
🔗
中危 外部 URL 外部 URL
https://www.pcpop.com/
references/sources.md:21
🔗
中危 外部 URL 外部 URL
https://www.ithome.com/
references/sources.md:22
🔗
中危 外部 URL 外部 URL
https://www.huxiu.com/
references/sources.md:23
🔗
中危 外部 URL 外部 URL
https://36kr.com/
references/sources.md:24
🔗
中危 外部 URL 外部 URL
https://www.samsung.com/semiconductor/
references/sources.md:30
🔗
中危 外部 URL 外部 URL
https://www.skhynix.com/
references/sources.md:31
🔗
中危 外部 URL 外部 URL
https://www.micron.com/
references/sources.md:32
🔗
中危 外部 URL 外部 URL
https://nvidianews.nvidia.com/
references/sources.md:33
🔗
中危 外部 URL 外部 URL
https://www.amd.com/en/newsroom.html
references/sources.md:34
🔗
中危 外部 URL 外部 URL
https://www.intel.com/content/www/us/en/newsroom/news.html
references/sources.md:35
🔗
中危 外部 URL 外部 URL
https://www.gov.cn/
references/sources.md:45
🔗
中危 外部 URL 外部 URL
https://www.cac.gov.cn/
references/sources.md:46
🔗
中危 外部 URL 外部 URL
https://www.miit.gov.cn/
references/sources.md:47
🔗
中危 外部 URL 外部 URL
https://www.most.gov.cn/
references/sources.md:48
🔗
中危 外部 URL 外部 URL
https://www.ndrc.gov.cn/
references/sources.md:49
🔗
中危 外部 URL 外部 URL
https://www.gd.gov.cn/
references/sources.md:55
🔗
中危 外部 URL 外部 URL
https://www.gz.gov.cn/
references/sources.md:56
🔗
中危 外部 URL 外部 URL
https://www.sz.gov.cn/
references/sources.md:57
🔗
中危 外部 URL 外部 URL
https://smartcity.team/
references/sources.md:63
🔗
中危 外部 URL 外部 URL
https://weibo.com/ajax/side/hotSearch
references/sources.md:71
🔗
中危 外部 URL 外部 URL
https://www.zhihu.com/api/v3/feed/topstory/hot-lists/total
references/sources.md:72
🔗
中危 外部 URL 外部 URL
https://api.bilibili.com/x/web-interface/popular
references/sources.md:73
🔗
中危 外部 URL 外部 URL
https://top.baidu.com/board?tab=realtime
references/sources.md:74
🔗
中危 外部 URL 外部 URL
https://www.huodongxing.com/
references/sources.md:82
🔗
中危 外部 URL 外部 URL
https://www.hudongba.com/
references/sources.md:83
🔗
中危 外部 URL 外部 URL
https://www.huodongjia.com/
references/sources.md:84
🔗
中危 外部 URL 外部 URL
https://www.zhihu.com/api/v3/feed/topstory/hot-lists/total?limit=10
scripts/fetch_trends.py:34
🔗
中危 外部 URL 外部 URL
https://weibo.com
scripts/fetch_trends.py:59
🔗
中危 外部 URL 外部 URL
https://s.weibo.com/weibo?q=
scripts/fetch_trends.py:81
🔗
中危 外部 URL 外部 URL
https://www.zhihu.com
scripts/fetch_trends.py:104
🔗
中危 外部 URL 外部 URL
https://api.bilibili.com/x/web-interface/popular?ps=20&pn=1
scripts/fetch_trends.py:150
🔗
中危 外部 URL 外部 URL
https://www.bilibili.com/video/
scripts/fetch_trends.py:166

目录结构

6 文件 · 26.7 KB · 939 行
Python 3f · 701L Markdown 2f · 232L Text 1f · 6L
├─ 📁 references
│ └─ 📝 sources.md Markdown 108L · 2.7 KB
├─ 📁 scripts
│ ├─ 🐍 daily_fetch.py Python 186L · 5.7 KB
│ ├─ 🐍 fetch_news.py Python 256L · 7.5 KB
│ └─ 🐍 fetch_trends.py Python 259L · 7.7 KB
├─ 📄 requirements.txt Text 6L · 113 B
└─ 📝 SKILL.md Markdown 124L · 2.9 KB

依赖分析 5 项

包名版本来源已知漏洞备注
requests >=2.28.0 pip 无版本锁定
beautifulsoup4 >=4.12.0 pip 无版本锁定
lxml >=4.9.0 pip 无版本锁定
python-dateutil >=2.8.0 pip 无版本锁定;SKILL.md 和 requirements.txt 中声明了但代码未实际 import
feedparser >=6.0.0 pip 无版本锁定;SKILL.md 和 requirements.txt 中声明了但代码使用 re 正则手动解析 RSS

安全亮点

✓ 代码结构清晰,函数职责明确,无混淆或压缩代码
✓ 所有网络请求仅使用 GET 方法获取公开 RSS/API 数据,无 POST 数据外传
✓ 无硬编码凭证、API密钥或敏感环境变量遍历
✓ 无文件写入操作(仅在 output/ 目录写入用户指定路径)
✓ 无 base64/eval/动态代码执行
✓ 无隐藏命令或 HTML 注释中的指令
✓ 异常处理完善,脚本失败不影响主流程
✓ 输出格式规范(=== JSON_OUTPUT_START === / END ===),便于 AI 解析