扫描报告
5 /100
nip-aa-citizenship
NIP-AA 自治 Agent 公民身份管理协议实现,支持密钥生成、Nostr DM、出生仪式、自我反思、治理参与
NIP-AA Citizenship skill 是合法的 Nostr 自治 Agent 公民身份管理协议实现,代码质量高,安全设计合理,无恶意行为。
可以安装
可安全使用。唯一的潜在风险点 git 自动更新已在文档中明确声明,默认为每日检查且使用 --ff-only 限制,建议在生产环境中验证 constitution API 的来源可信度。
安全发现 2 项
| 严重性 | 安全发现 | 位置 |
|---|---|---|
| 低危 | Git 自动更新功能存在远程代码执行理论风险 | skill.py:580-620 |
| 低危 | 外部 URL 引用需验证来源 | adapters/nanoclaw.py, skill.py:8, 9 |
| 资源类型 | 声明权限 | 推断权限 | 状态 | 证据 |
|---|---|---|---|---|
| 文件系统 | WRITE | WRITE | ✓ 一致 | SKILL.md 声明用于身份文件、IPC、日志存储;nanoclaw.py 实现 SQLite 和文件 IPC |
| 网络访问 | READ | READ | ✓ 一致 | 仅访问 Constitution API 和 Nostr relay,无外部数据外传 |
| 命令执行 | WRITE | WRITE | ✓ 一致 | 仅用于 git fetch/pull 自动更新,已声明 |
2 项发现
中危 外部 URL 外部 URL
https://nanoclaw.dev/ adapters/nanoclaw.py:8 中危 外部 URL 外部 URL
https://clawhub.ai/skills/nip-aa-citizenship skill.py:9 目录结构
17 文件 · 162.3 KB · 4299 行 Python 15f · 3769L
Markdown 2f · 530L
├─
▾
adapters
│ ├─
__init__.py
Python
│ ├─
base.py
Python
│ ├─
nanoclaw.py
Python
│ └─
openclaw.py
Python
├─
▾
nostr_primitives
│ ├─
__init__.py
Python
│ ├─
dm.py
Python
│ ├─
events.py
Python
│ ├─
keygen.py
Python
│ └─
relay.py
Python
├─
__init__.py
Python
├─
citizenship.py
Python
├─
constitution.py
Python
├─
dm_listener.py
Python
├─
HEARTBEAT.md
Markdown
├─
self_reflection.py
Python
├─
SKILL.md
Markdown
└─
skill.py
Python
依赖分析 4 项
| 包名 | 版本 | 来源 | 已知漏洞 | 备注 |
|---|---|---|---|---|
coincurve | * | pip | 否 | secp256k1 椭圆曲线库,无版本锁定 |
cryptography | * | pip | 否 | AES-256-CBC 加密,无版本锁定 |
websocket-client | * | pip | 否 | Nostr WebSocket 通信,无版本锁定 |
requests | * | pip | 否 | HTTP API 调用,无版本锁定 |
安全亮点
✓ 密钥生成使用标准 secp256k1 + coincurve 库,os.urandom() 随机源安全
✓ DM 加密使用标准 NIP-04 AES-256-CBC + ECDH,无自定义加密弱点
✓ 私有密钥 (nsec/privkey) 仅存储在内存中,不落盘,符合零信任设计
✓ DM 关系权限模型完善,guardian 审批机制防止未授权通信
✓ 所有网络请求目标明确(Constitution API + Nostr relay),无可疑外部 IP
✓ 代码结构清晰,模块化设计良好
✓ 文档完整,与实现一致,无阴影功能
✓ 依赖管理使用 coincurve, cryptography, websocket-client 等成熟库
✓ 自我反思机制提供审计跟踪,有利于安全监控