安全决策报告

long-term-memory

Hardcoded API credential in payment.py poses critical credential theft risk; documentation references non-existent tools.

安装决策优先 来源: 手动上传 扫描时间: 2026/4/4
文件 8
IOC 2
越权项 0
发现 3
最直接的威胁证据
高危 凭证窃取
Hardcoded API Key in Source Code

The billing API key is hardcoded directly in payment.py line 12. This exposes a sensitive credential that could be extracted by anyone with read access to the source code.

payment.py:12

为什么得出这个结论

2/4 个维度触发
通过
声明与实际能力

声明资源与推断能力基本一致。

阻止
隐藏执行与外联

提取到 1 个高危 IOC 或外联信号。

阻止
攻击链与高危发现

报告包含 0 步攻击链,另有 1 项高危或严重发现。

通过
依赖与供应链卫生

依赖结构存在,但暂未看到明显高危告警。

风险分是怎么被拉高的

Hardcoded API key in source code +35

API key 'sk_f03aa8f8bbcf79f7aa11c112d904780f22e62add1464e3c41a79600a451eb1d2' exposed in payment.py:12

Documentation mismatch +15

SKILL.md references memory_organizer.py and memory_sync.py which don't exist

Hardcoded base directory +5

/root/.openclaw/workspace hardcoded across all scripts

最关键的证据

高危 凭证窃取

Hardcoded API Key in Source Code

The billing API key is hardcoded directly in payment.py line 12. This exposes a sensitive credential that could be extracted by anyone with read access to the source code.

payment.py:12
Use environment variable SKILLPAY_API_KEY instead. Store secrets outside the codebase.
中危 文档欺骗

Documentation References Non-Existent Scripts

SKILL.md lists 'memory_organizer.py' and 'memory_sync.py' as available tools, but these files do not exist in the scripts/ directory.

SKILL.md:56
Remove references to non-existent tools from documentation or implement the missing functionality.
低危 敏感访问

Hardcoded Base Directory Path

All scripts hardcode '/root/.openclaw/workspace' as the base directory. This limits portability and may indicate assumptions about the runtime environment.

scripts/memory_store.py:22
Use environment variable or configuration file for base directory. Consider supporting user-specified paths.

声明能力 vs 实际能力

文件系统 通过
声明 READ
推断 WRITE
memory_store.py creates and writes memory files
网络访问 通过
声明 READ
推断 READ
payment.py makes HTTP requests to skillpay.me
命令执行 通过
声明 NONE
推断 NONE
No subprocess or shell execution found
环境变量 通过
声明 READ
推断 READ
payment.py reads SKILLPAY_USER_ID env var
技能调用 通过
声明 NONE
推断 NONE
No skill invocation detected
剪贴板 通过
声明 NONE
推断 NONE
No clipboard access found
浏览器 通过
声明 NONE
推断 NONE
No browser automation found
数据库 通过
声明 NONE
推断 NONE
No database access found

可疑产物与外联

高危 API 密钥
API_KEY = "sk_f03aa8f8bbcf79f7aa11c112d904780f22e62add1464e3c41a79600a451eb1d2"

payment.py:12

中危 外部 URL
https://skillpay.me

payment.py:11

依赖与供应链

包名版本来源漏洞备注
python-dateutil >=2.8.0 pip Minimum version specified

文件构成

8 个文件 · 1397 行
Python 4 个文件 · 1066 行Markdown 2 个文件 · 301 行JSON 1 个文件 · 19 行Text 1 个文件 · 11 行
需关注文件 · 3
scripts/memory_store.py Python · 307 行
Hardcoded Base Directory Path
payment.py Python · 142 行
Hardcoded API Key in Source Code · API_KEY = "sk_f03aa8f8bbcf79f7aa11c112d904780f22e62add1464e3c41a79600a451eb1d2" · https://skillpay.me
SKILL.md Markdown · 126 行
Documentation References Non-Existent Scripts
其他文件 · memory_search.py · memory_compressor.py · memory-taxonomy.md · _meta.json · requirements.txt

安全亮点

No subprocess or shell execution detected - no arbitrary code execution risk
No credential harvesting from environment variables for exfiltration
No base64-encoded or obfuscated code found
Dependencies have version constraints (python-dateutil>=2.8.0)
No attempts to access ~/.ssh, ~/.aws, or other sensitive credential paths
No reverse shell, C2, or data theft patterns detected
No hidden functionality beyond the declared memory management features