gary23w/garrettstimpson.ca

GitHub: gary23w/garrettstimpson.ca

面向安全研究的个人博客站点,附带一个部署在 Cloudflare Workers 上的自主 OSINT Agent,集成 68 个工具实现自动化情报收集与漏洞分析。

Stars: 3 | Forks: 0

# Garrett Stimpson — 安全研究 真实环境漏洞利用分析、CVE 拆解与攻击性安全研究。 拥有 10 多年行业经验。所有发布的研究仅用于教育和防御目的。 **[garrettstimpson.ca](https://garrettstimpson.ca)** ## 本仓库包含哪些内容 - **`/` (Jekyll 站点)** — 博客:暗黑终端主题、矩阵雨、响应式导航、文章卡片、标签、全文搜索、阅读进度、代码复制、分享按钮、Giscus 评论、RSS 以及 Open Graph 卡片。 - **`/agent`** — **Agent Garrett**,一个 Cloudflare Worker(Workers AI,免费层),配备终端聊天 UI *以及*自主的多轮 OSINT 引擎 —— AI 通过代理式 tool-router 选择 **68 个 worker 内工具**,外加由 broker 支持的 Tor/RE 工具。 - **`llms.txt`** — 包含每篇文章的 RAG 语料库,由 GitHub Actions 每日重建。 ## 部署 Research Agent [![部署到 Cloudflare](https://deploy.workers.cloudflare.com/button)](https://deploy.workers.cloudflare.com/?url=https://github.com/gary23w/garrettstimpson.ca/tree/main/agent) ### Agent 配置(均为可选) 将这些设置为 Cloudflare Worker 的 **Variables/Secrets**(在仪表板 → Settings → Variables 中)或在 `agent/wrangler.toml` 中设置: | Var | Purpose | |-----|---------| | `LLMS_URL` | 语料库 URL(默认为此仓库的原始 `llms.txt`) | | `SITE_NAME` | 聊天 UI 中的显示名称 | | `ACCESS_PASSWORD` | 将整个 Agent 锁定在登录状态之后。设置此值**或** `ACCESS_USER` 将启动拦截;留空 = 开放。(如需保密,请使用 `wrangler secret put ACCESS_PASSWORD`。) | | `ACCESS_USER` | 可选的登录用户名 | | `GITHUB_TOKEN` | 只读 PAT — 启用 `github_osint` 代码搜索(匿名无法使用)并提高 GitHub 速率限制 | | `HIBP_API_KEY` | 在 `breach_check` 中启用 HaveIBeenPwned 结果(无此参数时 XposedOrNot 也可正常工作) | | `GOOGLE_CSE_KEY` + `GOOGLE_CSE_CX`,或 `BING_API_KEY` | 提供可靠的 `web_search`(否则将使用无需密钥的 SearXNG/DuckDuckGo/Wikipedia 作为后备) | | `TOOL_BROKER_URL` + `TOOL_BROKER_TOKEN` | 用于实时 `.onion` 抓取 + Sherlock/Holehe/radare2/capa/yara 的可选 Tor/Python broker(参见 `broker/`) | | `VT_API_KEY` / `MALWAREBAZAAR_API_KEY` | 提供更丰富的 `hash_lookup`(Cymru MHR 无需密钥即可工作) | | `ABUSECH_API_KEY` | 启用 `urlhaus`(abuse.ch 现在需要免费的 Auth-Key) | | `DISCLOSURE_*` / `RESEND_API_KEY` / `MAILGUN_*` | 可选的、默认关闭的、经人工确认的漏洞披露发送功能 | ### 自主 OSINT 工具运行的两种方式:(1) **自主流程** — 输入一个电子邮箱 / 域名 / @用户名 / 人名 / IP / CVE / 图片 URL / 加密货币地址 / .onion / 文件哈希,Agent 会自动识别实体,选择正确的*意图*(人、暗网、恶意软件、来源、技术、泄露、全部),执行多轮扫描并**根据发现的结果进行枢轴转向**(泄露的 git/commit 邮箱、仓库与博客域名、发现的个人资料用户名、样本 URL → 分析,哈希 → 信誉),计算暴露风险得分,并撰写正式的 Markdown 报告(可复制/下载)。红色的**停止**按钮可取消长时间的运行。(2) **代理式聊天** — 对于任何其他请求,LLM tool-router 会使用每个工具的 when-to-use 描述从完整目录中进行选择,并根据发现的结果进行串联,在工作时显示 🔧 标志。 **工具系列(68 个 worker 内工具):** - **intel** — nvd_lookup, epss_lookup, kev_lookup, kev_recent, circl_cve, cve_search, cve_poc(公开漏洞利用), mitre (ATT&CK), cvss - **OSINT** — rdap_ip/domain, dns_lookup, dns_records, cert_ct, crtsh_subs, ip_geo, asn_info, shodan_internetdb, greynoise, reverse_dns, tor_exit, wayback, archive_urls, crypto_addr - **people** — username_enum, github_user, gravatar, email_recon, email_permutations, breach_check, pwned_password - **recon** — http_headers, tech_fingerprint, origin_ip, subdomain_takeover, subdomains, typosquat, email_security (SPF/DMARC), bucket_finder, cors_check, crawl (链接+机密信息), favicon_hash, disclosure_draft, jwt, cidr, hash_id, encode, timestamp - **dark-web** — stealer_check(HudsonRock infostealer 日志), leakcheck, paste_search, onion_search, onion_fetch - **malware** — file_analyze, hash_lookup(Cymru/VT/MalwareBazaar), decode(递归), ioc_extract, dork - **image** — image_osint(EXIF/GPS + 反向图片搜索链接) - **broker(可选,真实的 Tor + 二进制文件)** — 通过 Tor 进行 onion_fetch/onion_search, sherlock, holehe, re_analyze (radare2/capa), ole_macros, yara_scan, exif 负责任的披露:`disclosure_draft` 会起草一封可追溯的蓝队电子邮件,发送给该域名的安全联系人;一个可选的、默认关闭的、经人工确认的发送路径(`/api/send-disclosure`)会使用您自己经过验证的提供商(绝不匿名)。 ## 站点配置 在 `_config.yml` 中: - **评论 (Giscus):** 在仓库中启用 GitHub **Discussions**,安装 [giscus app](https://giscus.app),然后将生成的 `repo_id` 和 `category_id` 粘贴到 `giscus:` 块中。两者都设置完成后,评论将显示在每篇文章下方。 - **Agent 链接:** 将 `agent_url` 设置为您部署的 worker URL,以显示“Agent”导航链接 + 主页醒目的 CTA。 - **分析:** 将 Cloudflare Web Analytics token 粘贴到 `cf_analytics_token` 中。 ## 语料库的工作原理 ``` _posts/*.md ──► build_llms.py ──► llms.txt (GitHub Action, daily) │ ▼ Cloudflare Worker (agent/) ├── fetches llms.txt (cached 1h) ├── BM25 / optional Vectorize retrieval └── streams answers via Workers AI ``` `llms.txt` 是一种结构化的、由 `` 分隔的格式 —— 可以按文档分块用于 embeddings,或直接作为 context 注入。整个模式是通用的:任何带有 `llms.txt` 的站点都可以复用 `agent/`。 ## 技术栈 - **站点**:GitHub Pages 上的 Jekyll + Minima(暗黑模式),自定义网络安全 CSS - **Agent**:Cloudflare Worker + Workers AI (`@cf/meta/llama-3.1-8b-instruct`),单文件 `agent/src/index.js` - **语料库**:每日通过 GitHub Actions 从 `_posts/` 重新生成 *所有研究与工具仅用于教育和防御目的。*
标签:ESC4, OSINT, 个人博客, 安全技术, 实时处理, 漏洞分析, 程序员工具, 网络调试, 自动化, 自定义脚本, 路径探测, 逆向工具