Trusted — Risk Score 5/100
Last scan:2 days ago Rescan
5 /100
nip-aa-citizenship
NIP-AA 自治 Agent 公民身份管理协议实现,支持密钥生成、Nostr DM、出生仪式、自我反思、治理参与
NIP-AA Citizenship skill 是合法的 Nostr 自治 Agent 公民身份管理协议实现,代码质量高,安全设计合理,无恶意行为。
Skill Namenip-aa-citizenship
Duration65.7s
Enginepi
Safe to install
可安全使用。唯一的潜在风险点 git 自动更新已在文档中明确声明,默认为每日检查且使用 --ff-only 限制,建议在生产环境中验证 constitution API 的来源可信度。

Findings 2 items

Severity Finding Location
Low
Git 自动更新功能存在远程代码执行理论风险
_check_and_pull_updates() 方法通过 subprocess 执行 git fetch/pull。虽然使用 --ff-only 限制,但如果 git remote 被恶意篡改,理论上可执行任意代码。
subprocess.run(["git", "fetch", "--quiet"], cwd=git_root)
subprocess.run(["git", "pull", "--ff-only", "--quiet"], cwd=git_root)
→ 已在文档中明确声明,风险可控。如需更高安全性,可改用 pip install --dry-run 或 hash 校验
skill.py:580-620
Low
外部 URL 引用需验证来源
代码引用了 nanoclaw.dev 和 clawhub.ai 作为文档/包来源,这些是可信的 Nostr 生态项目。
https://nanoclaw.dev/
https://clawhub.ai/skills/nip-aa-citizenship
→ 验证这些 URL 确实是官方来源,当前属于正常生态链接
adapters/nanoclaw.py, skill.py:8, 9
ResourceDeclaredInferredStatusEvidence
Filesystem WRITE WRITE ✓ Aligned SKILL.md 声明用于身份文件、IPC、日志存储;nanoclaw.py 实现 SQLite 和文件 IPC
Network READ READ ✓ Aligned 仅访问 Constitution API 和 Nostr relay,无外部数据外传
Shell WRITE WRITE ✓ Aligned 仅用于 git fetch/pull 自动更新,已声明
2 findings
🔗
Medium External URL 外部 URL
https://nanoclaw.dev/
adapters/nanoclaw.py:8
🔗
Medium External URL 外部 URL
https://clawhub.ai/skills/nip-aa-citizenship
skill.py:9

File Tree

17 files · 162.3 KB · 4299 lines
Python 15f · 3769L Markdown 2f · 530L
├─ 📁 adapters
│ ├─ 🐍 __init__.py Python 0 B
│ ├─ 🐍 base.py Python 94L · 3.1 KB
│ ├─ 🐍 nanoclaw.py Python 255L · 9.3 KB
│ └─ 🐍 openclaw.py Python 118L · 3.8 KB
├─ 📁 nostr_primitives
│ ├─ 🐍 __init__.py Python 0 B
│ ├─ 🐍 dm.py Python 280L · 9.7 KB
│ ├─ 🐍 events.py Python 237L · 7.5 KB
│ ├─ 🐍 keygen.py Python 188L · 5.4 KB
│ └─ 🐍 relay.py Python 109L · 3.6 KB
├─ 🐍 __init__.py Python 27L · 817 B
├─ 🐍 citizenship.py Python 247L · 9.3 KB
├─ 🐍 constitution.py Python 216L · 8.6 KB
├─ 🐍 dm_listener.py Python 590L · 23.6 KB
├─ 📝 HEARTBEAT.md Markdown 132L · 5.2 KB
├─ 🐍 self_reflection.py Python 481L · 19.5 KB
├─ 📝 SKILL.md Markdown 398L · 15.3 KB
└─ 🐍 skill.py Python 927L · 37.6 KB

Dependencies 4 items

PackageVersionSourceKnown VulnsNotes
coincurve * pip No secp256k1 椭圆曲线库,无版本锁定
cryptography * pip No AES-256-CBC 加密,无版本锁定
websocket-client * pip No Nostr WebSocket 通信,无版本锁定
requests * pip No HTTP API 调用,无版本锁定

Security Positives

✓ 密钥生成使用标准 secp256k1 + coincurve 库,os.urandom() 随机源安全
✓ DM 加密使用标准 NIP-04 AES-256-CBC + ECDH,无自定义加密弱点
✓ 私有密钥 (nsec/privkey) 仅存储在内存中,不落盘,符合零信任设计
✓ DM 关系权限模型完善,guardian 审批机制防止未授权通信
✓ 所有网络请求目标明确(Constitution API + Nostr relay),无可疑外部 IP
✓ 代码结构清晰,模块化设计良好
✓ 文档完整,与实现一致,无阴影功能
✓ 依赖管理使用 coincurve, cryptography, websocket-client 等成熟库
✓ 自我反思机制提供审计跟踪,有利于安全监控