SuperAPI AI 工具集

ip-check

安全与审计

查看项目

更新于 10-16 14:35

技能介绍

用途

ip-check 用于检测一个 IP 或带凭证的住宅/机房代理节点质量,判定它能否安全用于 AI 服务(Grok、Claude、ChatGPT)。核心目标是识破“物理在美国、纸面在别国”的租赁 IP 段——这类 IP 会被 ipinfo/MaxMind 等商业地理库判到欧盟,导致 Grok/Claude 区域锁,而风控只看地理库不看物理延迟。

主要能力

工具对给定 IP 或 SOCKS5 代理凭证运行检测脚本,输出结构化 JSON(9 层),检测层包括:

  • rdap:注册库(ARIN=北美好 / RIPE=欧洲需警惕)、org、lease_flag、country
  • geo:ipinfo + ip-api + ipwho 三库判定国家是否一致(consensus)还是分歧(split)
  • asn:ASN 是否真 ISP、org 是否与 ASN 主体一致
  • reputation:proxycheck + ipapi.is(可加 IPQS + AbuseIPDB)、proxy/vpn/datacenter 标记、risk 分、欺诈分
  • dnsbl:Spamhaus/Barracuda/SORBS/SpamCop 垃圾邮件黑名单(自带 DNS 劫持检测)
  • ptr:反向 DNS 是否有真住宅域名格式(hsd1/cable/dsl)
  • bgp:RIPEstat 实际由哪个 ASN 宣告该前缀
  • services:代理直连各服务,Grok/ChatGPT/Anthropic 是否可达、cf_loc、是否区域锁(需代理)
  • exit:代理查出口 3 次,单跳还是轮换池、出口 IP 是否等于服务器 IP(需代理)
  • latency:代理→各洲 AWS TLS 建连 ×3,物理最近的大洲(需代理)

判定基于 4 条硬标准(全过才算合格):

  1. 注册库 = ARIN,且 country == "US";RIPE/APNIC + 非美 country = ❌;lease_flag=true 直接退货。
  2. 三库一致判 US,geo.split == true 为强警告(“纸面搬家”信号)。
  3. ASN/org 一致且真 ISP,分三种情况判定。
  4. 风控分干净,任一命中 datacenter 或 abuser = ❌。

辅助信号(加权,不单独否决):dnsbl.status=="unreliable"(必须提示 DNS 劫持)、ptr.has_ptr==false(弱负面)、bgp 与 rdap org 主体不同(记录不否决)。代理实测层价值最高:services 区域锁、exit 稳定性、延迟与纸面地理分裂。

使用方式

脚本随 skill 安装位置运行。优先使用当前 runtime 的安装路径:Codex 通常为 ~/.agents/skills/ip-check/scripts/ipcheck.py,Claude Code 通常为 ~/.claude/skills/ip-check/scripts/ipcheck.py,仓库开发时也可用 skills/ip-check/scripts/ipcheck.py。

python3 <script> <IP>                                          # 只查 IP
python3 <script> socks5://user:pass@host:port                 # 带凭证多跑代理实测层
python3 <script> <IP> --proxy socks5://user:pass@host:port     # IP 与代理分开给

可选环境变量 IPQS_KEY(IPQualityScore 免费 5000/月)、ABUSEIPDB_KEY(免费 1000/天)存在时自动多跑两个风控源,没有则该项标 skipped。

运行后脚本输出结构化 JSON,用户据此按判定协议读 JSON 做裁决,输出记分卡。

适用场景

  • 用户给一个 IP 问“在哪/能用吗/为什么被判定在某国”
  • 用户给 socks5 代理凭证问归属或某服务解不解锁
  • 买了住宅/机房代理要验收
  • 排查 AI 服务的区域锁

当用户要求“改配置/切节点/加进 Clash”等落地动作时,本 skill 只负责判定,不代切。

限制

  • 只读检测,不改任何系统配置;脚本只发出站 HTTP/DNS 查询和(带凭证时)通过代理的探测,不写文件、不改代理设置、不动网络配置。
  • 区分事实(JSON 字段)与推断(如“物理大概率在美东,依据延迟排名”)。
  • 代理出口无法确认、TLS 验证失败或代理参数无效时,脚本返回非零并输出 error;不得改用 gateway 或跳过代理层继续判定。
  • DNSBL 层报 unreliable(DNS 劫持)时,必须提示用户换网络重跑,不得把未测准当“干净”。
  • scamalytics 全面封自动化访问(实测 403),协议已排除,用 proxycheck + ipapi.is + IPQS 替代。
  • SOCKS HTTPS 探测使用系统 CA 和 hostname 验证;证书失败属于探测失败,不得关闭 TLS 校验重试。
  • services 层首页多为 SPA 空壳,region_blocked 是弱信号,以 http_status/cf_loc 为准。
  • ip-api.com 限 45 次/分钟、proxycheck 免费 100 次/天,批量查多个 IP 时注意配额。