跳到主要内容
知仓学习社ZHICANG

configure

Check iMessage channel setup and review access policy. Use when the user asks to configure iMessage, asks "how do I set this up" or "who can reach m…

执行命令读凭据严重 2 · 高危 0anthropics/claude-plugins-official

它会碰到什么

扫了多少1 个文本文件,3 KB
它会碰到什么执行命令读凭据
命中总数2 处
命中统计严重 2 · 高 0 · 中 0 · 低 0
逐条看命中(2 条严重或高危)
  • 严重 SKILL.md:4perm-wildcard
    allowed-tools:  - Read - Bash(ls *)
  • 严重 SKILL.md:78cred-paths
    - No `.env` file for this channel. No token. The only OS-level setup is FDA

这一栏是扫描器报的事实,不是结论。命中多不等于有毒(安全工具、规则库、示例脚本本来就会包含危险写法),命中少也不等于干净。它和你手上的凭据、文件、网络有什么关系,需要你自己看。

技能内容

/imessage:configure — iMessage Channel Setup

There's no token to save — iMessage reads ~/Library/Messages/chat.db

directly. This skill checks whether that works and orients the user on

access policy.

Arguments passed: $ARGUMENTS (unused — this skill only shows status)


Status and guidance

Read state and give the user a complete picture:

  1. Full Disk Access — run ls ~/Library/Messages/chat.db. If it fails

with "Operation not permitted", FDA isn't granted. Say: *"Grant Full Disk

Access to your terminal (or IDE if that's where Claude Code runs): System

Settings → Privacy & Security → Full Disk Access. The server can't read

chat.db without it."*

  1. Access — read ~/.claude/channels/imessage/access.json (missing file

= defaults: dmPolicy: "allowlist", empty allowlist). Show:

  • DM policy and what it means in one line
  • Allowed senders: count, and list the handles
  • Pending pairings: count, with codes if any (only if policy is pairing)
  1. What next — end with a concrete next step based on state:
  • FDA not granted → the FDA instructions above
  • FDA granted, policy is allowlist → *"Text yourself from any device

signed into your Apple ID — self-chat always bypasses the gate. To let

someone else through: /imessage:access allow +15551234567."*

  • FDA granted, someone allowed → *"Ready. Self-chat works; {N} other

sender(s) allowed."*


Build the allowlist — don't pair

iMessage reads your personal chat.db. You already know the phone

numbers and emails of people you'd allow — there's no ID-capture problem to

solve. Pairing has no upside here and a clear downside: every contact who

texts this Mac gets an unsolicited auto-reply.

Drive the conversation this way:

  1. Read the allowlist. Tell the user who's in it (self-chat always works

regardless).

  1. Ask: "Besides yourself, who should be able to text you through this?"
  2. "Nobody, just me" → done. The default allowlist with an empty list

is correct. Self-chat bypasses the gate.

  1. "My partner / a friend / a couple people" → ask for each handle

(phone like +15551234567 or email like them@icloud.com) and offer to

run /imessage:access allow <handle> for each. Stay on allowlist.

  1. Current policy is pairing → flag it immediately: *"Your policy is

pairing, which auto-replies a code to every contact who texts this Mac.

Switch back to allowlist?"* and offer `/imessage:access policy

allowlist`. Don't wait to be asked.

  1. User asks for pairing → push back. Explain the auto-reply-to-

everyone consequence. If they insist and confirm a dedicated line with

few contacts, fine — but treat it as a one-off, not a recommendation.

Handles are +15551234567 or someone@icloud.com. disabled drops

everything except self-chat.


Implementation notes

  • No .env file for this channel. No token. The only OS-level setup is FDA

plus the one-time Automation prompt when the server first sends (which

can't be checked from here).

  • access.json is re-read on every inbound message — policy changes via

/imessage:access take effect immediately, no restart.

想直接用这个技能?

本站把开放许可(MIT / Apache 等)的技能按仓库打包整理到网盘,点一下转存到你自己的网盘,不用一个个从 GitHub 拉。许可未声明的技能只给原始仓库链接,不打包。

它属于哪个仓库

星标★ 36,418
本站分层T1
该仓技能数31
原文件路径external_plugins/imessage/skills/configure/SKILL.md

同一个仓库里的其他技能

看这个仓库的全部 31 个技能

同名技能的其他版本

有 3 个不同仓库或目录里都有叫 configure 的技能。它们内容并不相同,别混用: