claude-ads 安全架构深潜:SSRF防护、凭据脱敏与安装卸载的供应链安全设计 claude-ads 安全架构深潜SSRF防护、凭据脱敏与安装卸载的供应链安全设计【免费下载链接】claude-adsClaude-first paid-media operations skill for Claude Code across 12 ad platforms (Google, Meta, YouTube, LinkedIn, TikTok, Microsoft, Apple, Amazon, Reddit, Pinterest, Snapchat, X): source-grounded audits, deterministic scoring, versioned JSON reports, and capability-gated account changes.项目地址: https://gitcode.com/gh_mirrors/cl/claude-adsclaude-ads是一款面向 Claude Code 的广告投放运营技能覆盖 Google、Meta、YouTube 等 12 大广告平台。与它会操作广告账户的能力形成鲜明对比的是一套相当严肃的安全设计SSRF 防护、凭据脱敏、以及可验证的安装卸载供应链安全。这篇文章带你用非技术视角看懂它的三道防线不需要读代码也能明白每一层在防什么。一图看懂三道防线防线回答的问题核心机制SSRF 防护工具会不会被诱导访问内网/云元数据接口域名快照校验 私有 IP 拦截 地址钉扎凭据脱敏日志和报错里会不会泄露 API Key正则识别敏感参数、Token、私钥并统一替换供应链安全安装进来的东西能不能被信任、卸载会不会误删哈希锁定依赖 所有权清单 安装收据SSRF 防护别让广告工具变成内网探针SSRF服务器端请求伪造是指攻击者诱导一个能发请求的工具去访问你本机的内网服务。对广告投放工具来说典型攻击链是一个公开的落地页返回 302 重定向目标是云服务器的元数据地址169.254.169.254工具一旦跟随就可能在云上泄露临时凭据。claude-ads 在 scripts/url_utils.py 中构建了完整的防御DNS 快照 IP 白名单每次校验都会真实解析域名用is_global属性拦截回环地址、私有网段、链路本地地址含169.254.169.254、多播与保留段只有公网地址能通过地址钉扎堵住时间差漏洞普通的先校验、再连接存在 TOCTOU 窗口域名第一次解析是公网 IP第二次解析变成内网 IP。它的_PinnedHTTPAdapter让请求直接连接校验时解析出的那个 IPHost 头与 TLS 证书校验保持不变既安全又不破坏 HTTPS每一跳都重新校验scripts/fetch_page.py 手工处理重定向每一跳目标都要重新过一遍 SSRF 检查而不是交给库自动跳转浏览器出口更严格Playwright 浏览器请求默认全部拒绝fail closed只有持有经 Ed25519 签名、24 小时过期、绑定执行环境的出站沙箱证明文档才放行见 url_utils.py 的 load_egress_sandbox_attestation环境代理不信任显式关闭trust_env防止系统里配置的代理把已校验的请求偷偷转发到内网。配套的 tests/scripts/test_url_utils.py 用回归测试锁定这些行为防止后续修改悄悄放水。凭据脱敏报错信息也不许带密钥工具出错时异常信息里经常夹带access_tokenxxx这样的内容。claude-ads 的做法是任何要打印到屏幕、写入日志或 JSON 的内容先过一遍脱敏函数。scripts/url_utils.py 定义了三层识别规则常见凭据参数名api_key、access_token、refresh_token、password、OAuthcode、Bearer xxx等整体替换为***形如sk-live-...、ghp_...、AIza...的 Token 特征串直接打码完整的-----BEGIN PRIVATE KEY-----私钥块整体替换为[REDACTED PRIVATE KEY]。sanitize_url会剥掉https://user:passhost中的账号密码sanitize_headers把Authorization、Cookie等敏感请求头整体替换为***。脱敏是不可逆的——设计目标就是让信息安全到可以放心打印而不是保留细节。在更高层control-plane/manifests/safety-policy.json 定义了数据分级public / internal / confidential / restricted与信任边界账户导出、落地页、重定向、第三方响应统统视为不可信数据任何凭据出现在发布物中都会直接触发发布阻断。tests/scripts/test_privacy_outputs.py 则持续验证这些输出不会泄露本地路径和敏感内容。安装卸载的供应链安全每一颗螺丝都有指纹这是 claude-ads 最硬核的部分。它要解决三个问题装进来的东西有没有被换过、卸载会不会误删你的文件、失败会不会留下半成品。 哈希锁定的依赖安装install.sh只支持 CPython 3.11 / 3.12 的预审核 wheel 目标矩阵其他环境在安装前就拒绝不产生任何副作用依赖通过--require-hashes --only-binary:all:按 requirements.lock 中逐包 SHA-256 安装到独立.venv禁止范围式回退安装完成后scripts/write_install_receipt.py 把 pip 安装报告、依赖清单、目标证据文件三方交叉核对生成managed-runtime-receipt.json安装收据日后可用 scripts/verify_managed_install.py 重新验证机器上装的 仓库里审过的见 control-plane/dependency-evidence/。 所有权清单卸载只删自己装的uninstall.sh安装时每个文件、目录都被逐条记录进.claude-ads-target.manifest清单。卸载时先整体校验清单再动手——任何一条路径越界如包含../或落在配置根之外就整体失败绝不变成一次任意 rm只删清单里记录过的文件绝不通过通配符发现并删除同目录下的其他ads-*技能安装侧同样防御 symlink 逃逸与覆盖非己方文件Windows 版 install.ps1 还会检查 reparse point、ACL 与文件归属。tests/scripts/test_installer_security.py 里有大量对抗性回归测试篡改清单、目录穿越、symlink 逃逸、junction 替换……每一种都必须让安装/卸载原子性失败。这套设计对普通用户意味着什么可验证的信任安装收据 依赖证据让你能回答我装的东西和仓库里的一致吗而不只是脚本没报错失败即干净依赖安装失败会回滚 venv且所有权清单已提交随时可完整卸载不留残留泄露面收敛无论是报错、日志还是生成的报告凭据都走同一套脱敏管线默认拒绝fail closed拿不准的浏览器请求直接拦截拿不准的 Python 版本直接拒绝安装安全决策的默认值都是不。想亲手体验的话克隆仓库后运行bash install.sh --help查看所有安装选项更多安全要求细节可阅读 control-plane/REQUIREMENT_INDEX.md 与 control-plane/README.md。【免费下载链接】claude-adsClaude-first paid-media operations skill for Claude Code across 12 ad platforms (Google, Meta, YouTube, LinkedIn, TikTok, Microsoft, Apple, Amazon, Reddit, Pinterest, Snapchat, X): source-grounded audits, deterministic scoring, versioned JSON reports, and capability-gated account changes.项目地址: https://gitcode.com/gh_mirrors/cl/claude-ads创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考