feynman-fsrs-pro
Hardcoded database credentials exposed in SKILL.md and source code create significant credential theft risk; doc-to-code table name mismatch indicates shadow functionality.
SKILL.md contains plaintext database credentials: username 'openclaw_feiman', password '12345678', host '127.0.0.1'. This is a critical security violation as documentation should never contain sensitive credentials.
SKILL.md:17 为什么得出这个结论
2/4 个维度触发声明资源与推断能力基本一致。
提取到 1 个高危 IOC 或外联信号。
报告包含 0 步攻击链,另有 3 项高危或严重发现。
发现 1 项需要关注的依赖或供应链线索。
风险分是怎么被拉高的
Database password '12345678', username, host, and table name exposed in documentation
feynman_core.js:9 and database.js:7-11 contain identical hardcoded credentials
SKILL.md declares 'feynman_memory' but code inconsistently queries both 'feynman_cards' and 'feynman_memory'
feynman_core.js:9 shows '27.0.0.1' instead of '127.0.0.1' - likely typo
Obsidian path points to specific user directory 'C:\Users\alex\iCloudDrive'
最关键的证据
Database credentials exposed in SKILL.md
SKILL.md contains plaintext database credentials: username 'openclaw_feiman', password '12345678', host '127.0.0.1'. This is a critical security violation as documentation should never contain sensitive credentials.
SKILL.md:17 Hardcoded credentials in feynman_core.js
feynman_core.js contains hardcoded database connection parameters with weak password '12345678'.
scripts/feynman_core.js:15 Hardcoded credentials in database.js
database.js contains identical hardcoded database credentials as feynman_core.js.
scripts/database.js:7 Table name mismatch between documentation and code
SKILL.md declares table name as 'feynman_memory', but feynman_core.js queries 'feynman_cards' while database.js queries 'feynman_memory'. schema.sql creates 'feynman_cards'. This inconsistency suggests shadow functionality or copy-paste errors.
scripts/feynman_core.js:55 Hardcoded Obsidian path references specific user
OBSIDIAN_BASE path points to 'C:\Users\alex\iCloudDrive\iCloud~md~obsidian\new-note', exposing a specific user's directory structure.
scripts/database.js:8 声明能力 vs 实际能力
Reads .md files from Obsidian directory PostgreSQL connection with SELECT/INSERT/UPDATE queries Connects to local PostgreSQL at 127.0.0.1:5432 (documentation exposes '27.0.0.1') No shell execution observed 可疑产物与外联
27.0.0.1 scripts/feynman_core.js:9
https://registry.npmmirror.com/pg/-/pg-8.20.0.tgz scripts/package-lock.json:20
https://registry.npmmirror.com/pg-cloudflare/-/pg-cloudflare-1.3.0.tgz scripts/package-lock.json:47
https://registry.npmmirror.com/pg-connection-string/-/pg-connection-string-2.12.0.tgz scripts/package-lock.json:54
https://registry.npmmirror.com/pg-int8/-/pg-int8-1.0.1.tgz scripts/package-lock.json:60
https://registry.npmmirror.com/pg-pool/-/pg-pool-3.13.0.tgz scripts/package-lock.json:69
https://registry.npmmirror.com/pg-protocol/-/pg-protocol-1.13.0.tgz scripts/package-lock.json:78
https://registry.npmmirror.com/pg-types/-/pg-types-2.2.0.tgz scripts/package-lock.json:84
https://registry.npmmirror.com/pgpass/-/pgpass-1.0.5.tgz scripts/package-lock.json:100
https://registry.npmmirror.com/postgres-array/-/postgres-array-2.0.0.tgz scripts/package-lock.json:109
https://registry.npmmirror.com/postgres-bytea/-/postgres-bytea-1.0.1.tgz scripts/package-lock.json:118
https://registry.npmmirror.com/postgres-date/-/postgres-date-1.0.7.tgz scripts/package-lock.json:127
依赖与供应链
| 包名 | 版本 | 来源 | 漏洞 | 备注 |
|---|---|---|---|---|
| pg | ^8.11.3 | npm | 否 | PostgreSQL client library, version pinned |
文件构成
scripts/feynman_core.js SKILL.md scripts/database.js scripts/package-lock.json