扫描报告
48 /100
feynman-fsrs-pro
基于 FSRS 算法的费曼学习导师,通过 PostgreSQL 记忆库与 Obsidian 笔记联动
Hardcoded database credentials exposed in SKILL.md and source code create significant credential theft risk; doc-to-code table name mismatch indicates shadow functionality.
谨慎使用
Remove all hardcoded credentials from SKILL.md and source files. Use environment variables for database connection parameters. Correct table name inconsistency between documentation and code.
安全发现 5 项
| 严重性 | 安全发现 | 位置 |
|---|---|---|
| 高危 | Database credentials exposed in SKILL.md 凭证窃取 | SKILL.md:17 |
| 高危 | Hardcoded credentials in feynman_core.js 凭证窃取 | scripts/feynman_core.js:15 |
| 高危 | Hardcoded credentials in database.js 凭证窃取 | scripts/database.js:7 |
| 中危 | Table name mismatch between documentation and code 文档欺骗 | scripts/feynman_core.js:55 |
| 低危 | Hardcoded Obsidian path references specific user 敏感访问 | scripts/database.js:8 |
| 资源类型 | 声明权限 | 推断权限 | 状态 | 证据 |
|---|---|---|---|---|
| 文件系统 | READ | READ | ✓ 一致 | Reads .md files from Obsidian directory |
| 数据库 | WRITE | WRITE | ✓ 一致 | PostgreSQL connection with SELECT/INSERT/UPDATE queries |
| 网络访问 | NONE | READ | ✓ 一致 | Connects to local PostgreSQL at 127.0.0.1:5432 (documentation exposes '27.0.0.1'… |
| 命令执行 | NONE | NONE | — | No shell execution observed |
1 高危 15 项发现
高危 IP 地址 硬编码 IP 地址
27.0.0.1 scripts/feynman_core.js:9 中危 外部 URL 外部 URL
https://registry.npmmirror.com/pg/-/pg-8.20.0.tgz scripts/package-lock.json:20 中危 外部 URL 外部 URL
https://registry.npmmirror.com/pg-cloudflare/-/pg-cloudflare-1.3.0.tgz scripts/package-lock.json:47 中危 外部 URL 外部 URL
https://registry.npmmirror.com/pg-connection-string/-/pg-connection-string-2.12.0.tgz scripts/package-lock.json:54 中危 外部 URL 外部 URL
https://registry.npmmirror.com/pg-int8/-/pg-int8-1.0.1.tgz scripts/package-lock.json:60 中危 外部 URL 外部 URL
https://registry.npmmirror.com/pg-pool/-/pg-pool-3.13.0.tgz scripts/package-lock.json:69 中危 外部 URL 外部 URL
https://registry.npmmirror.com/pg-protocol/-/pg-protocol-1.13.0.tgz scripts/package-lock.json:78 中危 外部 URL 外部 URL
https://registry.npmmirror.com/pg-types/-/pg-types-2.2.0.tgz scripts/package-lock.json:84 中危 外部 URL 外部 URL
https://registry.npmmirror.com/pgpass/-/pgpass-1.0.5.tgz scripts/package-lock.json:100 中危 外部 URL 外部 URL
https://registry.npmmirror.com/postgres-array/-/postgres-array-2.0.0.tgz scripts/package-lock.json:109 中危 外部 URL 外部 URL
https://registry.npmmirror.com/postgres-bytea/-/postgres-bytea-1.0.1.tgz scripts/package-lock.json:118 中危 外部 URL 外部 URL
https://registry.npmmirror.com/postgres-date/-/postgres-date-1.0.7.tgz scripts/package-lock.json:127 中危 外部 URL 外部 URL
https://registry.npmmirror.com/postgres-interval/-/postgres-interval-1.2.0.tgz scripts/package-lock.json:136 中危 外部 URL 外部 URL
https://registry.npmmirror.com/split2/-/split2-4.2.0.tgz scripts/package-lock.json:148 中危 外部 URL 外部 URL
https://registry.npmmirror.com/xtend/-/xtend-4.0.2.tgz scripts/package-lock.json:157 目录结构
14 文件 · 69.9 KB · 2214 行 JavaScript 9f · 1231L
Markdown 2f · 627L
JSON 2f · 191L
SQL 1f · 165L
├─
▾
references
│ └─
README.md
Markdown
├─
▾
scripts
│ ├─
check_db.js
JavaScript
│ ├─
cli.js
JavaScript
│ ├─
database.js
JavaScript
│ ├─
feynman_core.js
JavaScript
│ ├─
get-note.js
JavaScript
│ ├─
index.js
JavaScript
│ ├─
package-lock.json
JSON
│ ├─
package.json
JSON
│ ├─
review-helper.js
JavaScript
│ ├─
review-start.js
JavaScript
│ ├─
schema.sql
SQL
│ └─
update-progress.js
JavaScript
└─
SKILL.md
Markdown
依赖分析 1 项
| 包名 | 版本 | 来源 | 已知漏洞 | 备注 |
|---|---|---|---|---|
pg | ^8.11.3 | npm | 否 | PostgreSQL client library, version pinned |
安全亮点
✓ No shell execution observed - skill uses direct database queries only
✓ No external network requests detected - only local PostgreSQL connection
✓ No obfuscation techniques (base64, eval) found in codebase
✓ No credential exfiltration - hardcoded credentials are only used locally
✓ No reverse shell or C2 infrastructure indicators
✓ No prompt injection payloads detected
✓ Dependencies are minimal (pg library only) with pinned versions