Scan Report
15 /100
LobsterOps
AI Agent Observability & Debug Console - flight recorder and debug console for autonomous AI systems
LobsterOps 是一个合法的 AI Agent 可观测性工具,具有完整的 PII 过滤和本地存储优先设计。存在权限声明不够精确的轻微瑕疵,但不构成安全威胁。
Safe to install
可用。建议在文档中更明确声明 filesystem:WRITE(存储后端)和 network:WRITE(Supabase)权限需求。
Findings 5 items
| Severity | Finding | Location |
|---|---|---|
| Medium | 存储后端需要文件写入权限但未声明 | src/storage/JsonFileStorage.js:39 |
| Medium | Supabase 存储会向外部服务发送数据 | src/storage/SupabaseStorage.js:38 |
| Low | 声明了但未使用的依赖 | package.json:29 |
| Info | PII 过滤实现完整 | src/core/PIIFilter.js:35 |
| Info | 本地存储优先设计合理 | src/storage/StorageFactory.js:65 |
| Resource | Declared | Inferred | Status | Evidence |
|---|---|---|---|---|
| Filesystem | NONE | WRITE | ✗ Violation | src/storage/JsonFileStorage.js:39-43 创建 ./lobsterops-data/ 目录 |
| Network | NONE | WRITE | ✗ Violation | src/storage/SupabaseStorage.js:38 使用 @supabase/supabase-js 向外部服务发送数据 |
| Shell | NONE | NONE | — | 无 subprocess/child_process 使用 |
| Environment | READ | READ | ✓ Aligned | src/storage/StorageFactory.js:50 读取 LOBSTER_STORAGE/STORAGE_TYPE 环境变量,SKILL.md 已… |
| Skill Invoke | NONE | NONE | — | 无动态 skill 调用 |
15 findings
Medium External URL 外部 URL
https://img.shields.io/npm/v/lobsterops.svg README.md:6 Medium External URL 外部 URL
https://www.npmjs.com/package/lobsterops README.md:6 Medium External URL 外部 URL
https://img.shields.io/badge/License-MIT-yellow.svg README.md:7 Medium External URL 外部 URL
https://opensource.org/licenses/MIT README.md:7 Medium External URL 外部 URL
https://img.shields.io/badge/built%20by-an%20AI%20agent-e8263a README.md:8 Medium External URL 外部 URL
https://x.com/lobsteractual README.md:8 Medium External URL 外部 URL
https://lobsterops.dev README.md:10 Medium External URL 外部 URL
https://lobsterops.dev/demo README.md:10 Medium External URL 外部 URL
https://replit.com/badge/github/noeldelisle/LobsterOps README.md:43 Medium External URL 外部 URL
https://replit.com/new/github/noeldelisle/LobsterOps README.md:43 Medium External URL 外部 URL
https://openclaw.ai README.md:242 Medium External URL 外部 URL
https://claude.ai/code README.md:370 Medium External URL 外部 URL
https://x.com/noeldelisle README.md:370 Medium External URL 外部 URL
https://your-project.supabase.co SKILL.md:76 Info Email 邮箱地址
[email protected] tests/LobsterOps.test.js:503 File Tree
21 files · 159.8 KB · 5256 lines JavaScript 17f · 4681L
Markdown 3f · 542L
JSON 1f · 33L
├─
▾
src
│ ├─
▾
core
│ │ ├─
AlertManager.js
JavaScript
│ │ ├─
Analytics.js
JavaScript
│ │ ├─
DebugConsole.js
JavaScript
│ │ ├─
Exporter.js
JavaScript
│ │ ├─
LobsterOps.js
JavaScript
│ │ ├─
OpenClawInstrumentation.js
JavaScript
│ │ └─
PIIFilter.js
JavaScript
│ └─
▾
storage
│ ├─
JsonFileStorage.js
JavaScript
│ ├─
MemoryStorage.js
JavaScript
│ ├─
SQLiteStorage.js
JavaScript
│ ├─
StorageAdapter.js
JavaScript
│ ├─
StorageFactory.js
JavaScript
│ └─
SupabaseStorage.js
JavaScript
├─
▾
tests
│ └─
LobsterOps.test.js
JavaScript
├─
CONTRIBUTING.md
Markdown
├─
example.js
JavaScript
├─
index.js
JavaScript
├─
jest.config.js
JavaScript
├─
package.json
JSON
├─
README.md
Markdown
└─
SKILL.md
Markdown
Dependencies 6 items
| Package | Version | Source | Known Vulns | Notes |
|---|---|---|---|---|
@supabase/supabase-js | ^2.99.2 | npm | No | Supabase 客户端,用于云存储 |
express | ^4.22.1 | npm | No | 声明但未在核心代码中使用,README 提及用于 dashboard-server.js |
express-session | ^1.19.0 | npm | No | 声明但未在核心代码中使用,README 提及用于 dashboard-server.js |
sqlite3 | ^6.0.1 | npm | No | SQLite 驱动,用于 SQLite 存储后端 |
uuid | ^9.0.1 | npm | No | 唯一 ID 生成,用于事件 ID |
jest | ^29.7.0 | npm | No | 测试框架,仅 devDependencies |
Security Positives
✓ PII 过滤实现完整,支持 6 种敏感数据类型(email、phone、ssn、creditCard、ipAddress、apiKey)
✓ 默认使用本地存储(JsonFileStorage),不会自动外传数据
✓ Supabase 需要显式配置和凭据,不会自动发现或推断
✓ 代码结构清晰,使用适配器模式实现多种存储后端
✓ 包含完整的单元测试(tests/LobsterOps.test.js)
✓ 无恶意行为证据:无 eval、child_process、敏感路径遍历或数据外泄代码
✓ 支持事件保留策略自动清理旧数据