扫描报告
20 /100
fapiao-clipper
发票夹子 v1.3 — 本地大模型驱动的发票自动识别与报销管理工具,支持PDF/OFD处理、税务验真、黑名单比对和Excel/PDF导出
A legitimate Chinese invoice management tool with no malicious behavior; moderate concerns around curl|sh in setup wizard and undeclared network/cloud API usage.
可以安装
Declare network access (httpx calls to chinatax.gov.cn, siliconflow.cn, ollama local) and credential storage (email IMAP) in SKILL.md. Consider removing the curl|sh installer hint from the interactive wizard.
安全发现 6 项
| 严重性 | 安全发现 | 位置 |
|---|---|---|
| 中危 | curl|sh installer hint in interactive setup wizard | setup_config.py:159 |
| 中危 | Undeclared email credential collection and storage | setup_config.py:66 |
| 低危 | Undeclared network access (httpx) | invoice_clipper/blacklist.py:1 |
| 低危 | Version mismatch between SKILL.md and setup_config.py | setup_config.py:1 |
| 提示 | SiliconFlow cloud API sends invoice data externally | setup_config.py:167 |
| 提示 | Email link following with redirect support | invoice_clipper/email_watcher.py:87 |
| 资源类型 | 声明权限 | 推断权限 | 状态 | 证据 |
|---|---|---|---|---|
| 文件系统 | NONE | WRITE | ✓ 一致 | Creates SQLite DB and archives in ~/Documents/发票夹子/, writes Excel/PDF exports — … |
| 网络访问 | NONE | READ | ✗ 越权 | httpx GET to chinatax.gov.cn (blacklist), siliconflow.cn (cloud OCR), localhost … |
| 环境变量 | NONE | READ | ✓ 一致 | Email credentials (IMAP username/password) stored in config.yaml; setup_config.p… |
| 命令执行 | NONE | WRITE | ✓ 一致 | setup_config.py:159 contains curl|sh for Ollama install as user-facing hint |
| 数据库 | NONE | WRITE | ✓ 一致 | SQLite read/write to ~/Documents/发票夹子/invoices.db — local storage, not declared |
1 严重 1 高危 17 项发现
严重 危险命令 危险 Shell 命令
curl -fsSL https://ollama.ai/install.sh | sh setup_config.py:159 高危 API 密钥 疑似硬编码凭证
api_key: "YOUR_SILICONFLOW_API_KEY" config/config.example.yaml:58 中危 外部 URL 外部 URL
https://clawhub.ai/skills/fapiao-clipper CLAWHUB.md:12 中危 外部 URL 外部 URL
https://openclaw.ai README.md:240 中危 外部 URL 外部 URL
https://clawhub.ai README.md:240 中危 外部 URL 外部 URL
https://img.shields.io/github/stars/Alan5168/fapiao-clipper?style=social README.md:285 中危 外部 URL 外部 URL
https://www.xiaohongshu.com README.md:312 中危 外部 URL 外部 URL
http://127.0.0.1:11434 config/config.example.yaml:44 中危 外部 URL 外部 URL
http://127.0.0.1:8080 config/config.example.yaml:52 中危 外部 URL 外部 URL
https://api.siliconflow.cn/v1 config/config.example.yaml:59 中危 外部 URL 外部 URL
http://host.docker.internal:11434 docker-compose.yml:20 中危 外部 URL 外部 URL
https://www.chinatax.gov.cn/ invoice_clipper/blacklist.py:6 中危 外部 URL 外部 URL
https://www.chinatax.gov.cn invoice_clipper/blacklist.py:167 中危 外部 URL 外部 URL
https://ollama.ai/install.sh setup_config.py:159 中危 外部 URL 外部 URL
https://account.siliconflow.cn/zh/login?redirect=https%3A%2F%2Fcloud.siliconflow.cn&invitation=wV34tYbt setup_config.py:168 提示 邮箱 邮箱地址
[email protected] README.md:46 提示 邮箱 邮箱地址
[email protected] config/config.example.yaml:81 目录结构
23 文件 · 129.5 KB · 3903 行 Python 16f · 3242L
Markdown 3f · 520L
YAML 2f · 122L
Text 1f · 12L
Shell 1f · 7L
├─
▾
config
│ └─
config.example.yaml
YAML
├─
▾
invoice_clipper
│ ├─
▾
engines
│ │ ├─
__init__.py
Python
│ │ ├─
base.py
Python
│ │ ├─
ollama_vision.py
Python
│ │ └─
pdf_text.py
Python
│ ├─
__init__.py
Python
│ ├─
blacklist.py
Python
│ ├─
database.py
Python
│ ├─
email_watcher.py
Python
│ ├─
exporter.py
Python
│ ├─
file_processor.py
Python
│ ├─
pdf_extractor_odl.py
Python
│ ├─
processor.py
Python
│ ├─
recognizer.py
Python
│ └─
verifier.py
Python
├─
CLAWHUB.md
Markdown
├─
docker-compose.yml
YAML
├─
invoice.sh
Shell
├─
main.py
Python
├─
README.md
Markdown
├─
requirements.txt
Text
├─
setup_config.py
Python
└─
SKILL.md
Markdown
依赖分析 8 项
| 包名 | 版本 | 来源 | 已知漏洞 | 备注 |
|---|---|---|---|---|
pymupdf | >=1.24.0 | pip | 否 | Version pinned at minimum |
openpyxl | >=3.1.0 | pip | 否 | Version pinned at minimum |
pyyaml | >=6.0 | pip | 否 | Version pinned at minimum |
httpx | >=0.27.0 | pip | 否 | Version pinned at minimum |
easyofd | >=0.0.9 | pip | 否 | Version pinned at minimum |
tqdm | >=4.66.0 | pip | 否 | Version pinned at minimum |
paddlepaddle | >=3.0.0 | pip | 否 | Optional; version pinned at minimum |
paddleocr | >=2.7.0 | pip | 否 | Optional; version pinned at minimum |
安全亮点
✓ No credential harvesting (no SSH, AWS, or .env file access)
✓ No data exfiltration — all local invoice data stays in SQLite
✓ No base64-encoded payloads or obfuscated code execution
✓ No reverse shell, C2 communication, or suspicious network patterns
✓ No hidden HTML instructions or steganography detected
✓ No eval(), exec(), or dynamic code generation from untrusted sources
✓ No subprocess calls in main execution paths — only in optional setup wizard
✓ Standard open-source Python dependencies (PyMuPDF, httpx, openpyxl, pyyaml)
✓ Database stored locally in user's home directory with no network exposure
✓ Email credentials are user-provided via interactive prompts, not harvested from system
✓ SKILL.md provides clear description of functionality and architecture