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 Why this conclusion was reached
2/4 dimensions flaggedDeclared resources and inferred behavior are broadly aligned.
1 high-risk artifacts or egress signals were extracted.
The report includes 0 attack-chain steps and 3 severe findings.
1 dependency or supply-chain issues need attention.
What drove the risk score up
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'
Most important evidence
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 Declared capability vs actual capability
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 Suspicious artifacts and egress
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
Dependencies and supply chain
| Package | Version | Source | Known vuln | Notes |
|---|---|---|---|---|
| pg | ^8.11.3 | npm | No | PostgreSQL client library, version pinned |
File composition
scripts/feynman_core.js SKILL.md scripts/database.js scripts/package-lock.json