signal-cli

🔐 安全私密的本地 Signal 通讯助手

基于本地 signal-cli 的 Signal 通讯助手,支持安全发送消息与智能查找联系人,确保隐私数据本地处理不泄露。

收藏
2.6k
安装
1.1k
版本
v0.1.0
CLS 安全性认证2026-06-04
点击查看完整报告 >

使用说明

signal-cli 是一款专为 macOS 设计的 Signal 通讯自动化技能,通过调用本地安装的 signal-cli 二进制文件,实现命令行方式的 Signal 消息发送与联系人管理。该技能以隐私保护为核心设计理念,所有数据处理均在本地完成,不上传至任何第三方服务器,特别适合注重通讯安全的用户群体。

核心用法围绕 signal-cli 的命令行接口展开,提供账户发现、联系人列表查询、模糊匹配查找以及消息发送四大功能模块。用户可通过 listAccounts 查看已配置的 Signal 账户,使用 JSON 格式导出联系人列表,或利用内置的 Python 脚本实现智能联系人检索。发送消息时,技能支持通过姓名、昵称或手机号(E.164 格式)指定收件人,自动解析并映射到实际号码,同时支持文本消息和附件传输。整个交互过程遵循严格的安全检查清单,确保在发送敏感信息前获得用户明确确认。

该技能的显著优点在于其卓越的安全架构和隐私保护能力。首先,代码实现规范严谨,采用参数化方式调用 subprocess,彻底杜绝命令注入风险,且全程不涉及 eval/exec 等危险函数。其次,零第三方依赖设计,仅依靠 Python 标准库和本地 signal-cli,极大降低了供应链攻击面。更重要的是,SKILL.md 文档中明确嵌入安全检查清单,强制要求用户确认收件人身份和消息内容,有效防止误发和敏感信息泄露。

然而,该技能也存在一定局限性。作为 T3 来源的社区项目,其长期维护性和代码审计深度不及企业级产品。功能上严格依赖本地 signal-cli 的预安装和正确配置,对未安装该工具的用户无法直接使用。此外,当前版本仅针对 macOS 优化,跨平台支持有限。模糊匹配算法在处理大量联系人时可能存在性能瓶颈,且多匹配场景需要人工干预选择。

此技能最适合需要在 macOS 环境下进行 Signal 自动化通讯的开发者、隐私意识强烈的个人用户,以及希望通过脚本批量管理 Signal 联系人或发送通知的系统管理员。对于已建立 signal-cli 工作流的技术用户,该技能能显著提升通讯效率。

使用风险主要包括对外部二进制文件的依赖——需确保 signal-cli 来源可信且未被篡改;subprocess 调用带来的潜在系统交互风险;以及本地 Signal 联系人数据的访问权限。建议用户仅从官方渠道安装 signal-cli,并定期检查附件路径的有效性,避免路径遍历攻击。尽管代码本身通过 A 级安全认证,但用户仍需警惕社交工程攻击和误操作导致的消息错发。

安全解读

核心用法

signal-cli Skill 是 Signal 即时通讯协议的本地封装工具,依赖用户预先安装并注册的 signal-cli 二进制程序。主要功能包括:

  • 账户管理listAccounts 查看已注册账户
  • 联系人查询:支持 JSON 格式导出联系人列表,内置模糊匹配脚本 (find_contact.py) 按姓名/昵称/手机号检索
  • 消息发送send_message.py 支持解析联系人名称自动转换为手机号,或直接输入 E.164 格式号码(如 +386...
  • 附件支持:通过 -a 参数发送本地文件附件

显著优点

1. 极简依赖:仅使用 Python 标准库(argparse、json、subprocess 等),供应链攻击面几乎为零
2. 安全设计:命令参数以列表形式传递,彻底规避 shell 注入风险;SKILL.md 强制要求用户二次确认收件人与敏感内容

3. 隐私优先:无直接网络请求,所有通信由本地 signal-cli 代理完成,符合 GDPR 数据最小化原则

4. 开源透明:代码托管于 GitHub,98 行代码量便于审计

潜在局限

1. 前置依赖重:必须预先手动安装、注册 signal-cli 并配置账户,无法开箱即用
2. 功能边界窄:仅覆盖基础消息收发与联系人查询,不支持 Signal 群组管理、通话、支付等高级功能

3. macOS 限定:Skill 描述明确指向 macOS 环境,跨平台兼容性未验证

4. 维护不确定:个人开发者项目(pseudobun),长期更新与漏洞修复依赖社区

适合人群

  • 技术用户:熟悉命令行与 Signal CLI 配置流程
  • 隐私敏感者:希望避免云端服务,偏好本地处理消息元数据
  • 自动化需求:需将 Signal 消息发送集成到个人脚本或工作流

常规风险

  • 误发风险:尽管有确认机制,名称解析多匹配场景下仍需用户人工选择
  • 附件路径遍历:当前未严格限制附件文件可访问范围,建议配合系统级沙箱使用
  • signal-cli 版本漂移:Skill 未声明最低版本要求,API 变更可能导致功能失效

安全评估结论

CLS-Certify 评分 80/100,获评 S 级(优秀)。静态分析无危险函数,动态行为可预测,依赖审计满分。唯一警告项为隐私合规(处理联系人数据),已通过强制用户确认机制 mitigated。

signal-cli 内容

scripts文件夹
手动下载zip · 3.8 kB
find_contact.pytext/plain
请选择文件