Skip to content
KitploitKITPLOIT
工具漏洞利用博客
Log in
提交
工具漏洞利用博客
提交

黑客、渗透测试和网络安全工具,武装您的安全武器库!

Kitploit 是一个黑客、网络安全和渗透测试工具的目录。发现最新的项目更新,查找漏洞、分析系统、自动化测试并加强你的安全。

订阅源联系隐私© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
geo-sleuth — 一个 agent skill,用于找出照片的拍摄地点——OpenStreetMap 几何数据、海拔天际线、卫星影像和街景——并展示其推理过程。适用于 Claude Code、Codex、Cursor、Gemini CLI、OpenCode 和 GitHub Copilot。 | Kitploit
工具/GitHubGitHub/oldcircle/geo-sleuth
OSINT (开源情报)侦察社会工程学OSINT脚本与自动化信息收集实用工具与框架AI 安全
GitHuboldcircle/geo-sleuth

geo-sleuth

一个 agent skill,用于找出照片的拍摄地点——OpenStreetMap 几何数据、海拔天际线、卫星影像和街景——并展示其推理过程。适用于 Claude Code、Codex、Cursor、Gemini CLI、OpenCode 和 GitHub Copilot。

查看仓库
1.5k148181天前Kitploit 审核通过

最受欢迎

查看全部 →

发现我们社区最常用的工具。

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

🧭 geo-sleuth

一个 agent skill,能找到照片的拍摄地点——并展示它的推理过程。

English Simplified Chinese

License: MIT Python 3.10+ Agent Skill: SKILL.md PRs welcome GitHub stars

适用于
Claude Code Codex Cursor Gemini CLI OpenCode GitHub Copilot
……以及其他任何能读取 SKILL.md 并运行 shell 命令的 agent。

From one photo to a camera position: the photo, the region scan, the skyline overlays, the evidence image

没有文字,没有车牌,没有地标。一座桥,一座山。定位误差在 2 米以内。


快速开始

npx skills add Oldcircle/geo-sleuth

按提示勾选你用的 agent。然后把一张照片交给你的 agent,说:

找出这张照片是在哪拍的

这就是全部的交互方式。你的 agent 会读取 SKILL.md、运行脚本,然后给出机位、镜头朝向和一张卫星证据图。想自己复制文件夹?见安装。

为什么是 geo-sleuth

  • 一张照片,一句话。 把照片交给你的 agent,说一句这张照片是在哪拍的。你会得到机位、镜头朝向和一张卫星证据图。
  • 没有文字线索也能查。 没有招牌、没有车牌、没有地标:OpenStreetMap 的几何数据、高程数据、卫星图和街景自己就能把搜索推进下去。
  • 靠几何,不靠猜。 桥墩间距变成距离尺,阴影变成方位角,山脊线变成能和高程数据比对的指纹。
  • 每个说法都指向一个文件。 结论必须说出本次会话里跑过的命令、以及它产出的文件。人口和名气都不算证据。
  • 脚本排序,模型判断。 二十个各司一职的脚本负责搜索、打分和排序;模型只在排名靠前的几个里挑。
  • 一个 skill,所有 agent 通用。 这是一个标准的 Agent Skill——SKILL.md 加上普通的 Python 脚本——所以同一个文件夹在 Claude Code、Codex、Cursor、Gemini CLI、OpenCode 和 GitHub Copilot 里都能运行。
  • 答案自带误差半径。 坐标 ± 半径、镜头朝向、一张证据图和分档的置信度。

案例

这几张照片都没有 GPS 信息。每个案例写了 skill 从照片里读到什么、怎么一步步缩小范围、结果离确认的机位有多远。

稻田边的烤炉,后面是高架和山 沙丘脊和一排深色裸山 人行道上方盛开的樱花树
1 · 稻田与高架
铁路桥 × 天际线 × 数桥墩。
2 · 沙漠天际线
高压线 × 天际线 × 手机歪了 1°。
3 · 樱花街
行道树开放数据 × 影子 × 街景。
±2 m
广东清远
100 m 以内
青海大柴旦
3 m
加拿大温哥华

1. 稻田与高架

一张手机照片,EXIF 信息已被抹除:收割完的稻田边一个白色烤炉,远处一条长长的高架,右边一座陡峭的山。画面里没有一个字。给装了这个 skill 的 agent 发一条消息,它就给出了机位和镜头朝向。

照片 → 27,335 → 171 → 14,372 → 22 → 3 → 1 → ±2 m

步骤它做了什么剩余候选
读图高架上的杆子是接触网支柱,说明是电气化铁路。把桥墩间距当尺子用(跨距 32 米,假设):左段距拍摄点约 0.5 公里,右段超过 1 公里。陡峭的山约 3 公里外。稻子已经收割,但草还是绿的,说明还没下霜。华南,是判断,不是证明
区域扫描从 OpenStreetMap 取出该区域内所有铁路桥:27,335 段。每 400 米采样一个点,用高程数据计算每个点 360° 的地平线。保留附近地势平坦、几公里内有明显山峰、且旁边地平线平坦的点。171 处
天际线拟合在每个候选点周围布置候选机位,渲染每个机位看到的山脊线:14,372 个机位。前 20 名彼此相差不到 0.1°,于是加了一条约束:桥必须左近右远。22
叠图检查把前三名的山脊线画回照片核对。第一名(福州)有一处凸起正好藏在烤炉后面,所以得分高;第三名(惠州)在照片平坦的地方却有坡度;第二名(清远)从山脚到画面边缘都贴合。1
数桥墩照片里的 17 根桥墩变成从机位出发的 17 条方位线。它们打在铁路线上的交点必须间距均匀。结合天际线结果:先收窄到约 300 米长的一段,再收窄到一个点。±2 m
17 piers marked on the viaduct, spacing used as a ruler
桥墩当尺子:左边间距宽表示近,右边间距密表示远。

Top three skyline overlays: Fuzhou, Qingyuan, Huizhou Evidence image: camera position, field of view, the railway and the mountain
左:前三名的山脊线画回照片。右:skill 生成的证据图。
本次实战的更多图
Region scan: railway bridges in grey, candidate sites in orange
区域扫描:区域内所有铁路桥(灰色),通过地平线检验的候选点(橙色)。

Bearings to 17 piers intersecting the railway line
数桥墩:17 根桥墩的方位线与铁路线相交;只有一个机位能让间距均匀。

整次运行耗时约 72 分钟,其中大约一半时间在等计算。

2. 沙漠天际线差了一度

前景是一道沙丘,后面一排深色裸山,山脚有几座电塔。画面里没有字、路和房子,以图搜图只搜到一些泛泛的西北沙漠照片。

题图:沙丘脊、深色裸山、山脚的电塔

照片 → 1,537 处 → 卡在 10 px 上下 → 解出 1° 歪斜 → 1 处 → 一道沙脊

下载工具