creator-outreach — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited creator-outreach (Agent Skill) and scored it 96/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 1 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 1 flagged
The text {match} tells the agent to skip the normal "ask the user first" gate. Used adversarially it removes the human-in-the-loop check before destructive or sensitive actions, turning a normally-gated agent into a fire-and-forget executor.
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
邮件建联全流程能力:搜索达人后一键发送邮件,支持单发/批量发送、任务轮询、沟通历史查询、待办跟进、效果指标分析,平台统一代发无需用户配置。
| 脚本路径 | 状态 | 说明 |
|---|---|---|
../../scripts/outreach_send.mjs | ✅ 已实现 | 发送邮件(单发/批量) |
../../scripts/outreach_task.mjs | ✅ 已实现 | 查询发送任务状态与结果 |
../../scripts/outreach_contact.mjs | ✅ 已实现 | 查询联系人沟通历史 |
../../scripts/outreach_todo.mjs | ✅ 已实现 | 待办跟进(超时/未读) |
../../scripts/outreach_metrics.mjs | 🔮 待实现 | 效果指标(发送量/打开率/回复率) |
../../scripts/outreach_config.mjs | 🔮 待实现 | 渠道与模板配置查询 |
../../scripts/outreach_upload.mjs | 🔮 待实现 | 附件上传(max 10MB) |
🔮 标注的脚本尚未部署,调用将返回错误。待后端实现后可直接启用。
Skill = 纯 HTTP 客户端,不做任何本地业务逻辑处理。
submission_id、influencer_id 等内部概念uid + platform 传给 outreach_send,OpenAPI 内部自动从 Holo 查完整达人数据邮件由 Creativault 平台后端统一代发(AWS SES),用户无需提供任何发信配置。
channel 参数当前仅 ses 生效(默认值);gmail/outlook 为预留字段,后端未实现to 和 recipients 互斥,传其一。
| 参数 | 类型 | 说明 |
|---|---|---|
to | string | 收件人邮箱(单发) |
uid | string | 达人平台 UID(单发必填,来自搜索结果的 uid 字段) |
nickname | string | 达人昵称(可选,用于会话展示) |
platform | string | 达人平台:tiktok/youtube/instagram |
recipients | object[] | 批量发送:{email, uid, nickname, platform} 数组 |
subject | string | 邮件主题 |
body_html | string | HTML 正文(支持 {{creator_name}} 变量) |
body_text | string | 纯文本正文 |
channel | string | ses(默认,唯一生效渠道) |
template_id | integer | 模板 ID(覆盖 subject/body) |
send_mode | string | immediate(默认)/ smart(时区优化) |
force_new | boolean | 强制新建会话(默认 false) |
attachment_ids | string[] | 附件 ID 列表 |
| 参数 | 类型 | 说明 |
|---|---|---|
task_id | string | 必填。发送返回的任务 ID |
include_result | boolean | 附带逐收件人结果(默认 false) |
result_filter | string | 结果过滤:all/sent/failed |
poll | boolean | 自动轮询至终态(默认 false) |
poll_interval | integer | 轮询间隔秒数(默认 5) |
poll_max_attempts | integer | 最大轮询次数(默认 60) |
| 参数 | 类型 | 说明 |
|---|---|---|
email | string | 必填。达人邮箱 |
include_history | boolean | 包含消息历史(默认 true) |
include_summary | boolean | 包含 AI 摘要(默认 true) |
| 参数 | 类型 | 说明 |
|---|---|---|
overdue_hours | integer | 超时阈值小时数(默认 24) |
include_unread | boolean | 包含未读会话(默认 true) |
include_overdue | boolean | 包含超时会话(默认 true) |
邮件发送是高风险操作,每次发送前必须获得用户明确确认。
[禁止] 用户说"帮我发邮件"后直接执行发送脚本。
[必须] 在执行 outreach_send.mjs 之前,展示收件人列表并等待用户确认:
📧 发送确认
• 收件人:{email 或 N 个收件人列表}
• 主题:{subject}
• 渠道:{channel}
• 模式:{send_mode}
• 正文预览:{前 100 字符...}
确认发送吗?(Y/N)📬 发送结果
• 任务ID:{task_id}
• 状态:{completed/partial/failed}
• 成功:{sent_count} 封
• 失败:{failed_count} 封
• 耗时:{duration}
• 消耗积分:{credits_consumed}| 操作 | 积分消耗 |
|---|---|
| 发送邮件(每封) | 1 |
| 所有查询接口 | 0(免费) |
outreach_send.mjsoutreach_send.mjs + recipientsoutreach_task.mjs + poll:true 确认投递outreach_todo.mjsoutreach_contact.mjsoutreach_metrics.mjs(🔮 待实现)outreach_config.mjs(🔮 待实现){{creator_name}}、{{creator_email}}、{{platform}}uid + platform(OpenAPI 自动从 Holo 查完整达人数据)~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.