Scan Report
25 /100
article-archiver
Automatically archive web articles and Twitter Articles to Feishu documents
Article archiving tool with legitimate functionality but containing credential storage weaknesses and hardcoded API secrets that pose moderate security risks.
Safe to install
Remove hardcoded credentials from source code and use environment variables or secure secret management for API keys and tokens. Move twitter-cookies.txt to a more secure credential store.
Findings 3 items
| Severity | Finding | Location |
|---|---|---|
| Medium | Hardcoded Feishu API Secret Credential Theft | scripts/archive-simple.py:30 |
| Medium | Plain Text Twitter Credential Storage Sensitive Access | config/twitter-cookies.txt:1 |
| Low | Incomplete Capability Declaration Doc Mismatch | SKILL.md:1 |
| Resource | Declared | Inferred | Status | Evidence |
|---|---|---|---|---|
| Filesystem | READ | READ | ✓ Aligned | SKILL.md declares read access; scripts read config files and scripts |
| Shell | WRITE | WRITE | ✓ Aligned | SKILL.md declares shell:WRITE; bash scripts execute commands via subprocess |
| Network | READ | READ | ✓ Aligned | SKILL.md declares web_fetch usage; scripts make HTTP requests to Twitter and Fei… |
| Browser | READ | READ | ✓ Aligned | SKILL.md declares agent-browser usage for page extraction |
| Environment | NONE | NONE | — | No environment variable access detected |
48 findings
Medium External URL 外部 URL
https://pbs.twimg.com/media/[^ LESSONS.md:259 Medium External URL 外部 URL
https://qingzhao.feishu.cn/wiki/UUlNwgXSriOGf4kD0RLcECSVnYo LESSONS.md:304 Medium External URL 外部 URL
https://qingzhao.feishu.cn/wiki/ZVCFwN7bci1uyhknLpucA18FnSe): SKILL.md:67 Medium External URL 外部 URL
https://x.com/... SKILL.md:109 Medium External URL 外部 URL
https://twitter.com/... SKILL.md:109 Medium External URL 外部 URL
https://mp.weixin.qq.com/... SKILL.md:110 Medium External URL 外部 URL
https://qingzhao.feishu.cn/wiki/$EXISTING_NODE SKILL.md:140 Medium External URL 外部 URL
https://qingzhao.feishu.cn/wiki/YziUwLVlBi9BX7kVtkJcf7nQns2 SKILL.md:460 Medium External URL 外部 URL
https://x.com/username/status/123456789 SKILL.md:523 Medium External URL 外部 URL
https://twitter.com/username/status/123456789 SKILL.md:524 Medium External URL 外部 URL
https://mp.weixin.qq.com/s/... SKILL.md:534 Medium External URL 外部 URL
https://x.com/mkdir700/status/2020652753190887566 SKILL.md:557 Medium External URL 外部 URL
https://qingzhao.feishu.cn/wiki/XXX SKILL.md:573 Medium External URL 外部 URL
https://mp.weixin.qq.com/s/abc123 SKILL.md:599 Medium External URL 外部 URL
https://x.com/someuser/status/123(Cookie SKILL.md:618 Medium External URL 外部 URL
https://x.com/someuser/status/123 SKILL.md:632 Medium External URL 外部 URL
https://qingzhao.feishu.cn/docx/NZHpd5xHxoTjYPxlVfpcaKtOnvh SKILL.md:736 Medium External URL 外部 URL
https://x.com/lumoswhy/status/2030807300257300613 SKILL.md:740 Medium External URL 外部 URL
https://developer.volcengine.com/articles/7615547765435432996 SKILL.md:909 Medium External URL 外部 URL
https://qingzhao.feishu.cn/wiki/ZVCFwN7bci1uyhknLpucA18FnSe SKILL.md:910 Medium External URL 外部 URL
https://pbs.twimg.com/media/...?format=jpg&name=small SKILL.md:931 Medium External URL 外部 URL
https://qingzhao.feishu.cn/wiki/$NODE_TOKEN SKILL.md:985 Medium External URL 外部 URL
https://x.com/boniusex/status/2029596431250841754|E58awyhKHiaNWwkVdchcWr70njf|openclaw data/archived_urls.txt:1 Medium External URL 外部 URL
https://note.mowen.cn/detail/sCcf75BwEV5ONYvR1es_P evals/evals.json:6 Medium External URL 外部 URL
https://x.com/example/status/123456789 evals/evals.json:11 Medium External URL 外部 URL
https://mp.weixin.qq.com/s/xxxxx evals/evals.json:16 Medium External URL 外部 URL
https://note.mowen.cn/detail/abc123 evals/evals.json:21 Medium External URL 外部 URL
http://mirrors.tencentyun.com/npm/@mixmark-io/domino/-/domino-2.2.0.tgz package-lock.json:19 Medium External URL 外部 URL
http://mirrors.tencentyun.com/npm/fsevents/-/fsevents-2.3.2.tgz package-lock.json:25 Medium External URL 外部 URL
http://mirrors.tencentyun.com/npm/playwright/-/playwright-1.58.2.tgz package-lock.json:39 Medium External URL 外部 URL
http://mirrors.tencentyun.com/npm/playwright-core/-/playwright-core-1.58.2.tgz package-lock.json:57 Medium External URL 外部 URL
http://mirrors.tencentyun.com/npm/turndown/-/turndown-7.2.2.tgz package-lock.json:69 Medium External URL 外部 URL
http://mirrors.tencentyun.com/npm/turndown-plugin-gfm/-/turndown-plugin-gfm-1.0.2.tgz package-lock.json:78 Medium External URL 外部 URL
https://r.jina.ai/$ scripts/archive-article.js:68 Medium External URL 外部 URL
https://open.feishu.cn/open-apis/auth/v3/tenant_access_token/internal scripts/archive-long-article-v2.py:60 Medium External URL 外部 URL
https://open.feishu.cn/open-apis/wiki/v2/spaces/ scripts/archive-long-article-v2.py:64 Medium External URL 外部 URL
https://qingzhao.feishu.cn/wiki/ scripts/archive-long-article-v2.py:179 Medium External URL 外部 URL
https://open.feishu.cn/open-apis/wiki/v2/spaces/$ scripts/archive-long-article.js:136 Medium External URL 外部 URL
https://qingzhao.feishu.cn/wiki/$ scripts/archive-long-article.js:149 Medium External URL 外部 URL
https://qingzhao.feishu.cn/wiki/PS7lwR0vfiryRckijxBcFmXhnWd scripts/config.sh:6 Medium External URL 外部 URL
https://pbs.twimg.com/media/...) scripts/html-to-markdown-v2.js:6 Medium External URL 外部 URL
https://pbs.twimg.com scripts/html-to-markdown-v4.js:100 Medium External URL 外部 URL
https://pbs.twimg.com/media/image1.jpg scripts/test-contentblocks.js:23 Medium External URL 外部 URL
https://pbs.twimg.com/media/image2.jpg scripts/test-contentblocks.js:27 Medium External URL 外部 URL
https://pbs.twimg.com/media/image3.jpg scripts/test-contentblocks.js:35 Medium External URL 外部 URL
https://pbs.twimg.com/media/image1.jpg?format=jpg&name=large scripts/v6-modification-summary.md:64 Medium External URL 外部 URL
https://pbs.twimg.com/media/image2.jpg?format=jpg&name=large scripts/v6-modification-summary.md:72 Medium External URL 外部 URL
https://open.feishu.cn/open-apis/docx/v1/documents/ test_image_insert.py:22 File Tree
40 files · 174.1 KB · 5874 lines JavaScript 17f · 2779L
Markdown 3f · 1536L
Python 7f · 836L
Shell 8f · 585L
JSON 3f · 136L
Text 2f · 2L
├─
▾
config
│ ├─
feishu-locations.sh
Shell
│ └─
twitter-cookies.txt
Text
├─
▾
data
│ └─
archived_urls.txt
Text
├─
▾
evals
│ └─
evals.json
JSON
├─
▾
scripts
│ ├─
archive-article.js
JavaScript
│ ├─
archive-example.sh
Shell
│ ├─
archive-long-article-v2.py
Python
│ ├─
archive-long-article.js
JavaScript
│ ├─
archive-long-article.py
Python
│ ├─
archive-long-article.sh
Shell
│ ├─
archive-simple.py
Python
│ ├─
archive.sh
Shell
│ ├─
check-duplicate.sh
Shell
│ ├─
config.sh
Shell
│ ├─
convert-v2-to-blocks.js
JavaScript
│ ├─
extract-article.js
JavaScript
│ ├─
fetch-twitter-article-formatted.js
JavaScript
│ ├─
fetch-twitter-article.js
JavaScript
│ ├─
html-to-markdown-final.js
JavaScript
│ ├─
html-to-markdown-fixed.js
JavaScript
│ ├─
html-to-markdown-turndown.js
JavaScript
│ ├─
html-to-markdown-v2.js
JavaScript
│ ├─
html-to-markdown-v3.js
JavaScript
│ ├─
html-to-markdown-v4.js
JavaScript
│ ├─
html-to-markdown-v5.js
JavaScript
│ ├─
html-to-markdown-v6.js
JavaScript
│ ├─
html-to-markdown.js
JavaScript
│ ├─
prepare-segments.py
Python
│ ├─
test-contentblocks.js
JavaScript
│ ├─
test-image-extraction.js
JavaScript
│ ├─
upload-image.py
Python
│ ├─
upload-markdown-to-feishu.sh
Shell
│ ├─
upload-to-feishu-batch.sh
Shell
│ ├─
v6-modification-summary.md
Markdown
│ └─
write-to-doc.py
Python
├─
LESSONS.md
Markdown
├─
package-lock.json
JSON
├─
package.json
JSON
├─
SKILL.md
Markdown
└─
test_image_insert.py
Python
Dependencies 3 items
| Package | Version | Source | Known Vulns | Notes |
|---|---|---|---|---|
playwright | ^1.58.2 | npm | No | Trusted package, version loosely pinned |
turndown | ^7.2.2 | npm | No | Trusted package for HTML to Markdown conversion |
turndown-plugin-gfm | ^1.0.2 | npm | No | GFM extension for turndown |
Security Positives
✓ No reverse shell or C2 communication detected
✓ No data exfiltration beyond intended article archiving
✓ No obfuscated code or base64-encoded malicious payloads
✓ No unauthorized access to SSH keys, AWS credentials, or .env files
✓ Code is readable and well-documented
✓ Uses legitimate dependencies (Playwright, turndown) from trusted sources
✓ Functionality aligns with documented purpose (article archiving)