[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"similar-philipperemy--tensorflow-1.4-billion-password-analysis":3,"tool-philipperemy--tensorflow-1.4-billion-password-analysis":61},[4,18,26,36,44,53],{"id":5,"name":6,"github_repo":7,"description_zh":8,"stars":9,"difficulty_score":10,"last_commit_at":11,"category_tags":12,"status":17},4358,"openclaw","openclaw\u002Fopenclaw","OpenClaw 是一款专为个人打造的本地化 AI 助手，旨在让你在自己的设备上拥有完全可控的智能伙伴。它打破了传统 AI 助手局限于特定网页或应用的束缚，能够直接接入你日常使用的各类通讯渠道，包括微信、WhatsApp、Telegram、Discord、iMessage 等数十种平台。无论你在哪个聊天软件中发送消息，OpenClaw 都能即时响应，甚至支持在 macOS、iOS 和 Android 设备上进行语音交互，并提供实时的画布渲染功能供你操控。\n\n这款工具主要解决了用户对数据隐私、响应速度以及“始终在线”体验的需求。通过将 AI 部署在本地，用户无需依赖云端服务即可享受快速、私密的智能辅助，真正实现了“你的数据，你做主”。其独特的技术亮点在于强大的网关架构，将控制平面与核心助手分离，确保跨平台通信的流畅性与扩展性。\n\nOpenClaw 非常适合希望构建个性化工作流的技术爱好者、开发者，以及注重隐私保护且不愿被单一生态绑定的普通用户。只要具备基础的终端操作能力（支持 macOS、Linux 及 Windows WSL2），即可通过简单的命令行引导完成部署。如果你渴望拥有一个懂你",349277,3,"2026-04-06T06:32:30",[13,14,15,16],"Agent","开发框架","图像","数据工具","ready",{"id":19,"name":20,"github_repo":21,"description_zh":22,"stars":23,"difficulty_score":10,"last_commit_at":24,"category_tags":25,"status":17},3808,"stable-diffusion-webui","AUTOMATIC1111\u002Fstable-diffusion-webui","stable-diffusion-webui 是一个基于 Gradio 构建的网页版操作界面，旨在让用户能够轻松地在本地运行和使用强大的 Stable Diffusion 图像生成模型。它解决了原始模型依赖命令行、操作门槛高且功能分散的痛点，将复杂的 AI 绘图流程整合进一个直观易用的图形化平台。\n\n无论是希望快速上手的普通创作者、需要精细控制画面细节的设计师，还是想要深入探索模型潜力的开发者与研究人员，都能从中获益。其核心亮点在于极高的功能丰富度：不仅支持文生图、图生图、局部重绘（Inpainting）和外绘（Outpainting）等基础模式，还独创了注意力机制调整、提示词矩阵、负向提示词以及“高清修复”等高级功能。此外，它内置了 GFPGAN 和 CodeFormer 等人脸修复工具，支持多种神经网络放大算法，并允许用户通过插件系统无限扩展能力。即使是显存有限的设备，stable-diffusion-webui 也提供了相应的优化选项，让高质量的 AI 艺术创作变得触手可及。",162132,"2026-04-05T11:01:52",[14,15,13],{"id":27,"name":28,"github_repo":29,"description_zh":30,"stars":31,"difficulty_score":32,"last_commit_at":33,"category_tags":34,"status":17},1381,"everything-claude-code","affaan-m\u002Feverything-claude-code","everything-claude-code 是一套专为 AI 编程助手（如 Claude Code、Codex、Cursor 等）打造的高性能优化系统。它不仅仅是一组配置文件，而是一个经过长期实战打磨的完整框架，旨在解决 AI 代理在实际开发中面临的效率低下、记忆丢失、安全隐患及缺乏持续学习能力等核心痛点。\n\n通过引入技能模块化、直觉增强、记忆持久化机制以及内置的安全扫描功能，everything-claude-code 能显著提升 AI 在复杂任务中的表现，帮助开发者构建更稳定、更智能的生产级 AI 代理。其独特的“研究优先”开发理念和针对 Token 消耗的优化策略，使得模型响应更快、成本更低，同时有效防御潜在的攻击向量。\n\n这套工具特别适合软件开发者、AI 研究人员以及希望深度定制 AI 工作流的技术团队使用。无论您是在构建大型代码库，还是需要 AI 协助进行安全审计与自动化测试，everything-claude-code 都能提供强大的底层支持。作为一个曾荣获 Anthropic 黑客大奖的开源项目，它融合了多语言支持与丰富的实战钩子（hooks），让 AI 真正成长为懂上",158594,2,"2026-04-16T23:34:05",[14,13,35],"语言模型",{"id":37,"name":38,"github_repo":39,"description_zh":40,"stars":41,"difficulty_score":32,"last_commit_at":42,"category_tags":43,"status":17},2271,"ComfyUI","Comfy-Org\u002FComfyUI","ComfyUI 是一款功能强大且高度模块化的视觉 AI 引擎，专为设计和执行复杂的 Stable Diffusion 图像生成流程而打造。它摒弃了传统的代码编写模式，采用直观的节点式流程图界面，让用户通过连接不同的功能模块即可构建个性化的生成管线。\n\n这一设计巧妙解决了高级 AI 绘图工作流配置复杂、灵活性不足的痛点。用户无需具备编程背景，也能自由组合模型、调整参数并实时预览效果，轻松实现从基础文生图到多步骤高清修复等各类复杂任务。ComfyUI 拥有极佳的兼容性，不仅支持 Windows、macOS 和 Linux 全平台，还广泛适配 NVIDIA、AMD、Intel 及苹果 Silicon 等多种硬件架构，并率先支持 SDXL、Flux、SD3 等前沿模型。\n\n无论是希望深入探索算法潜力的研究人员和开发者，还是追求极致创作自由度的设计师与资深 AI 绘画爱好者，ComfyUI 都能提供强大的支持。其独特的模块化架构允许社区不断扩展新功能，使其成为当前最灵活、生态最丰富的开源扩散模型工具之一，帮助用户将创意高效转化为现实。",108322,"2026-04-10T11:39:34",[14,15,13],{"id":45,"name":46,"github_repo":47,"description_zh":48,"stars":49,"difficulty_score":32,"last_commit_at":50,"category_tags":51,"status":17},6121,"gemini-cli","google-gemini\u002Fgemini-cli","gemini-cli 是一款由谷歌推出的开源 AI 命令行工具，它将强大的 Gemini 大模型能力直接集成到用户的终端环境中。对于习惯在命令行工作的开发者而言，它提供了一条从输入提示词到获取模型响应的最短路径，无需切换窗口即可享受智能辅助。\n\n这款工具主要解决了开发过程中频繁上下文切换的痛点，让用户能在熟悉的终端界面内直接完成代码理解、生成、调试以及自动化运维任务。无论是查询大型代码库、根据草图生成应用，还是执行复杂的 Git 操作，gemini-cli 都能通过自然语言指令高效处理。\n\n它特别适合广大软件工程师、DevOps 人员及技术研究人员使用。其核心亮点包括支持高达 100 万 token 的超长上下文窗口，具备出色的逻辑推理能力；内置 Google 搜索、文件操作及 Shell 命令执行等实用工具；更独特的是，它支持 MCP（模型上下文协议），允许用户灵活扩展自定义集成，连接如图像生成等外部能力。此外，个人谷歌账号即可享受免费的额度支持，且项目基于 Apache 2.0 协议完全开源，是提升终端工作效率的理想助手。",100752,"2026-04-10T01:20:03",[52,13,15,14],"插件",{"id":54,"name":55,"github_repo":56,"description_zh":57,"stars":58,"difficulty_score":32,"last_commit_at":59,"category_tags":60,"status":17},4721,"markitdown","microsoft\u002Fmarkitdown","MarkItDown 是一款由微软 AutoGen 团队打造的轻量级 Python 工具，专为将各类文件高效转换为 Markdown 格式而设计。它支持 PDF、Word、Excel、PPT、图片（含 OCR）、音频（含语音转录）、HTML 乃至 YouTube 链接等多种格式的解析，能够精准提取文档中的标题、列表、表格和链接等关键结构信息。\n\n在人工智能应用日益普及的今天，大语言模型（LLM）虽擅长处理文本，却难以直接读取复杂的二进制办公文档。MarkItDown 恰好解决了这一痛点，它将非结构化或半结构化的文件转化为模型“原生理解”且 Token 效率极高的 Markdown 格式，成为连接本地文件与 AI 分析 pipeline 的理想桥梁。此外，它还提供了 MCP（模型上下文协议）服务器，可无缝集成到 Claude Desktop 等 LLM 应用中。\n\n这款工具特别适合开发者、数据科学家及 AI 研究人员使用，尤其是那些需要构建文档检索增强生成（RAG）系统、进行批量文本分析或希望让 AI 助手直接“阅读”本地文件的用户。虽然生成的内容也具备一定可读性，但其核心优势在于为机器",93400,"2026-04-06T19:52:38",[52,14],{"id":62,"github_repo":63,"name":64,"description_en":65,"description_zh":66,"ai_summary_zh":66,"readme_en":67,"readme_zh":68,"quickstart_zh":69,"use_case_zh":70,"hero_image_url":71,"owner_login":72,"owner_name":73,"owner_avatar_url":74,"owner_bio":75,"owner_company":76,"owner_location":77,"owner_email":78,"owner_twitter":72,"owner_website":79,"owner_url":80,"languages":81,"stars":90,"forks":91,"last_commit_at":92,"license":93,"difficulty_score":94,"env_os":95,"env_gpu":96,"env_ram":97,"env_deps":98,"category_tags":103,"github_topics":104,"view_count":32,"oss_zip_url":93,"oss_zip_packed_at":93,"status":17,"created_at":108,"updated_at":109,"faqs":110,"releases":141},8267,"philipperemy\u002Ftensorflow-1.4-billion-password-analysis","tensorflow-1.4-billion-password-analysis","Deep Learning model to analyze a large corpus of clear text passwords.","tensorflow-1.4-billion-password-analysis 是一个基于深度学习与自然语言处理（NLP）技术的开源研究项目，旨在对海量明文密码语料库进行深度分析。该项目核心利用了曾泄露的 14 亿条真实账号凭证数据，通过训练生成式模型，深入探究用户修改密码的行为模式与规律，例如分析用户如何从\"hello123\"逐步演变为\"h@llo123\"或\"h@llo!23\"等常见变体。\n\n它主要解决了传统密码安全研究中缺乏大规模真实数据支撑的痛点，帮助研究人员量化理解用户在面对安全压力时的密码迭代习惯，从而揭示弱密码生成的内在逻辑。其独特的技术亮点在于结合了编辑距离算法与深度学习模型，能够自动识别并分类密码对的细微差异，将庞大的非结构化数据转化为可量化的行为洞察。\n\n该工具非常适合网络安全研究人员、数据科学家以及从事身份认证系统开发的工程师使用，可用于优化密码强度检测算法或设计更人性化的密码策略提醒。需要特别注意的是，本项目严格限定于学术研究用途，开发者在使用时需自行获取相关数据集并遵守当地法律法规，切勿用于任何非法渗透或隐私侵犯活动。","# 1.4 Billion Text Credentials Analysis (NLP)\n\nUsing deep learning and NLP to analyze a large corpus of clear text passwords.\n\nObjectives:\n- Train a generative model.\n- Understand how people change their passwords over time: hello123 -> h@llo123 -> h@llo!23.\n\nDisclaimer: for research purposes only.\n\n## In the press\n\n- [1.4 Billion Clear Text Credentials Discovered in a Single Database](https:\u002F\u002Fmedium.com\u002F4iqdelvedeep\u002F1-4-billion-clear-text-credentials-discovered-in-a-single-database-3131d0a1ae14)\n- [Collection of 1.4 Billion Plain-Text Leaked Passwords Found Circulating Online](https:\u002F\u002Fthehackernews.com\u002F2017\u002F12\u002Fdata-breach-password-list.html)\n- [Archive of 1.4 BEEELLION credentials in clear text found in dark web archive](https:\u002F\u002Fwww.theregister.co.uk\u002F2017\u002F12\u002F12\u002Farchive_of_14_beeelion_credentials_in_clear_text_found_in_dark_web_archive\u002F)\n- [Forbes](https:\u002F\u002Fwww.forbes.com\u002Fsites\u002Fleemathews\u002F2017\u002F12\u002F11\u002Fbillion-hacked-passwords-dark-web\u002F#74a6cf4221f2)\n\n\n\n## Get the data\n\n- Download any Torrent client.\n- Here is a magnet link you can find on [Reddit](https:\u002F\u002Fwww.reddit.com\u002Fr\u002Fprivacy\u002Fcomments\u002F7j1hhz\u002F14_billion_clear_text_credentials_discovered_in_a\u002F):\n  - magnet:?xt=urn:btih:7ffbcd8cee06aba2ce6561688cf68ce2addca0a3&dn=BreachCompilation&tr=udp%3A%2F%2Ftracker.openbittorrent.com%3A80&tr=udp%3A%2F%2Ftracker.leechers-paradise.org%3A6969&tr=udp%3A%2F%2Ftracker.coppersurfer.tk%3A6969&tr=udp%3A%2F%2Fglotorrents.pw%3A6969&tr=udp%3A%2F%2Ftracker.opentrackr.org%3A1337\n- Checksum list is available here: [checklist.chk](checklist.chk)\n- `.\u002Fcount_total.sh` in `BreachCompilation` should display something like 1,400,553,870 rows.\n\n## Get started (processing + deep learning)\n\nProcess the data and run the first deep learning model:\n\n```\n# make sure to install the python deps first. Virtual env are recommended here.\n# virtualenv -p python3 venv3; source venv3\u002Fbin\u002Factivate; pip install -r requirements.txt\n# Remove \"--max_num_files 100\" to process the whole dataset (few hours and 50GB of free disk space are required.)\n.\u002Fprocess_and_train.sh \u003CBreachCompilation path>\n```\n\n## Data (explanation)\n\n```\nINPUT:   BreachCompilation\u002F\n         BreachCompilation is organized as:\n\n         - a\u002F          - folder of emails starting with a\n         - a\u002Fa         - file of emails starting with aa\n         - a\u002Fb\n         - a\u002Fd\n         - ...\n         - z\u002F\n         - ...\n         - z\u002Fy\n         - z\u002Fz\n\nOUTPUT: - BreachCompilationAnalysis\u002Fedit-distance\u002F1.csv\n        - BreachCompilationAnalysis\u002Fedit-distance\u002F2.csv\n        - BreachCompilationAnalysis\u002Fedit-distance\u002F3.csv\n        [...]\n        > cat 1.csv\n            1 ||| samsung94 ||| samsung94@\n            1 ||| 040384alexej ||| 040384alexey\n            1 ||| HoiHalloDoeii14 ||| hoiHalloDoeii14\n            1 ||| hoiHalloDoeii14 ||| hoiHalloDoeii13\n            1 ||| hoiHalloDoeii13 ||| HoiHalloDoeii13\n            1 ||| 8znachnuu ||| 7znachnuu\n        EXPLANATION: edit-distance\u002F contains the passwords pairs sorted by edit distances.\n        1.csv contains all pairs with edit distance = 1 (exactly one addition, substitution or deletion).\n        2.csv => edit distance = 2, and so on.\n\n        - BreachCompilationAnalysis\u002Freduce-passwords-on-similar-emails\u002F99_per_user.json\n        - BreachCompilationAnalysis\u002Freduce-passwords-on-similar-emails\u002F9j_per_user.json\n        - BreachCompilationAnalysis\u002Freduce-passwords-on-similar-emails\u002F9a_per_user.json\n        [...]\n        > cat 96_per_user.json\n        {\n            \"1.0\": [\n            {\n                \"edit_distance\": [\n                    0,\n                    1\n                ],\n                \"email\": \"96-000@mail.ru\",\n                \"password\": [\n                    \"090698d\",\n                    \"090698D\"\n                ]\n            },\n        {\n                \"edit_distance\": [\n                    0,\n                    1\n                ],\n                \"email\": \"96-96.1996@mail.ru\",\n                \"password\": [\n                    \"5555555555q\",\n                    \"5555555555Q\"\n                ]\n         }\n        EXPLANATION: reduce-passwords-on-similar-emails\u002F contains files sorted by the first 2 letters of\n        the email address. For example 96-000@mail.ru will be located in 96_per_user.json\n        Each file lists all the passwords grouped by user and by edit distance.\n        For example, 96-000@mail.ru had 2 passwords: 090698d and 090698D. The edit distance between them is 1.\n        The edit_distance and the password arrays are of the same length, hence, a first 0 in the edit distance array.\n        Those files are useful to model how users change passwords over time.\n        We can't recover which one was the first password, but a shortest hamiltonian path algorithm is run\n        to detect the most probably password ordering for a user. For example:\n        hello => hello1 => hell@1 => hell@11 is the shortest path.\n        We assume that users are lazy by nature and that they prefer to change their password by the lowest number\n        of characters.\n```\n\nRun the data processing alone:\n\n```\npython3 run_data_processing.py --breach_compilation_folder \u003CBreachCompilation path> --output_folder ~\u002FBreachCompilationAnalysis\n```\n\nIf the dataset is too big for you, you can set `max_num_files` to something between 0 and 2000.\n \n- Make sure you have enough free memory (8GB should be enough).\n- It took 1h30m to run on a Intel(R) Core(TM) i7-6900K CPU @ 3.20GHz (on a single thread).\n- Uncompressed output is around 45G.\n","# 14亿明文凭据分析（NLP）\n\n利用深度学习和自然语言处理技术，对大规模明文密码语料库进行分析。\n\n目标：\n- 训练一个生成模型。\n- 研究用户如何随时间更改密码：hello123 -> h@llo123 -> h@llo!23。\n\n免责声明：仅用于研究目的。\n\n## 媒体报道\n\n- [单个数据库中发现14亿条明文凭据](https:\u002F\u002Fmedium.com\u002F4iqdelvedeep\u002F1-4-billion-clear-text-credentials-discovered-in-a-single-database-3131d0a1ae14)\n- [网上流传包含14亿条明文泄露密码的集合](https:\u002F\u002Fthehackernews.com\u002F2017\u002F12\u002Fdata-breach-password-list.html)\n- [暗网档案中发现14亿条明文凭据的压缩包](https:\u002F\u002Fwww.theregister.co.uk\u002F2017\u002F12\u002F12\u002Farchive_of_14_beeelion_credentials_in_clear_text_found_in_dark_web_archive\u002F)\n- [福布斯](https:\u002F\u002Fwww.forbes.com\u002Fsites\u002Fleemathews\u002F2017\u002F12\u002F11\u002Fbillion-hacked-passwords-dark-web\u002F#74a6cf4221f2)\n\n\n\n## 获取数据\n\n- 下载任意一款BT客户端。\n- 这是一个磁力链接，你可以在[Reddit](https:\u002F\u002Fwww.reddit.com\u002Fr\u002Fprivacy\u002Fcomments\u002F7j1hhz\u002F14_billion_clear_text_credentials_discovered_in_a\u002F)上找到：\n  - magnet:?xt=urn:btih:7ffbcd8cee06aba2ce6561688cf68ce2addca0a3&dn=BreachCompilation&tr=udp%3A%2F%2Ftracker.openbittorrent.com%3A80&tr=udp%3A%2F%2Ftracker.leechers-paradise.org%3A6969&tr=udp%3A%2F%2Ftracker.coppersurfer.tk%3A6969&tr=udp%3A%2F%2Fglotorrents.pw%3A6969&tr=udp%3A%2F%2Ftracker.opentrackr.org%3A1337\n- 校验和列表在此处提供：[checklist.chk](checklist.chk)\n- 在`BreachCompilation`目录下运行`.\u002Fcount_total.sh`，应显示约1,400,553,870行数据。\n\n## 开始使用（数据处理 + 深度学习）\n\n处理数据并运行首个深度学习模型：\n\n```\n# 请先安装Python依赖包。建议使用虚拟环境。\n# virtualenv -p python3 venv3; source venv3\u002Fbin\u002Factivate; pip install -r requirements.txt\n# 移除“--max_num_files 100”以处理整个数据集（需数小时及50GB可用磁盘空间。）\n.\u002Fprocess_and_train.sh \u003CBreachCompilation路径>\n```\n\n## 数据说明\n\n```\n输入：BreachCompilation\u002F\n     BreachCompilation的组织结构如下：\n\n     - a\u002F          - 以字母a开头的邮箱文件夹\n     - a\u002Fa         - 以aa开头的邮箱文件\n     - a\u002Fb\n     - a\u002Fd\n     - ...\n     - z\u002F\n     - ...\n     - z\u002Fy\n     - z\u002Fz\n\n输出：- BreachCompilationAnalysis\u002Fedit-distance\u002F1.csv\n      - BreachCompilationAnalysis\u002Fedit-distance\u002F2.csv\n      - BreachCompilationAnalysis\u002Fedit-distance\u002F3.csv\n      [...]\n      > cat 1.csv\n          1 ||| samsung94 ||| samsung94@\n          1 ||| 040384alexej ||| 040384alexey\n          1 ||| HoiHalloDoeii14 ||| hoiHalloDoeii14\n          1 ||| hoiHalloDoeii14 ||| hoiHalloDoeii13\n          1 ||| hoiHalloDoeii13 ||| HoiHalloDoeii13\n          1 ||| 8znachnuu ||| 7znachnuu\n      解释：edit-distance\u002F目录下存放按编辑距离排序的密码对。\n      1.csv包含编辑距离为1的所有密码对（即恰好有一处添加、替换或删除）。\n      2.csv对应编辑距离为2，依此类推。\n\n      - BreachCompilationAnalysis\u002Freduce-passwords-on-similar-emails\u002F99_per_user.json\n      - BreachCompilationAnalysis\u002Freduce-passwords-on-similar-emails\u002F9j_per_user.json\n      - BreachCompilationAnalysis\u002Freduce-passwords-on-similar-emails\u002F9a_per_user.json\n      [...]\n      > cat 96_per_user.json\n      {\n          \"1.0\": [\n          {\n              \"edit_distance\": [\n                  0,\n                  1\n              ],\n              \"email\": \"96-000@mail.ru\",\n              \"password\": [\n                  \"090698d\",\n                  \"090698D\"\n              ]\n          },\n      {\n              \"edit_distance\": [\n                  0,\n                  1\n              ],\n              \"email\": \"96-96.1996@mail.ru\",\n              \"password\": [\n                  \"5555555555q\",\n                  \"5555555555Q\"\n              ]\n       }\n      解释：reduce-passwords-on-similar-emails\u002F目录按邮箱地址前两位字母分类存放文件。\n      例如，96-000@mail.ru会出现在96_per_user.json中。\n      每个文件列出同一用户的密码，并按编辑距离分组。\n      例如，96-000@mail.ru有两个密码：“090698d”和“090698D”，它们之间的编辑距离为1。\n      edit_distance数组与password数组长度相同，因此编辑距离数组中会出现第一个0。\n      这些文件有助于建模用户随时间更改密码的方式。\n      我们无法确定哪一个是最初的密码，但会运行最短哈密顿路径算法来推测用户可能的密码变更顺序。\n      例如：“hello” -> “hello1” -> “hell@1” -> “hell@11”是最短路径。\n      我们假设用户天性懒惰，倾向于以最少字符改动来更新密码。\n```\n\n单独运行数据处理：\n\n```\npython3 run_data_processing.py --breach_compilation_folder \u003CBreachCompilation路径> --output_folder ~\u002FBreachCompilationAnalysis\n```\n\n如果数据集过大，可以将`max_num_files`设置为0到2000之间的值。\n\n- 请确保有足够的可用内存（8GB通常足够）。\n- 在Intel(R) Core(TM) i7-6900K CPU @ 3.20GHz（单线程）上运行耗时约1小时30分钟。\n- 未压缩的输出约为45GB。","# tensorflow-1.4-billion-password-analysis 快速上手指南\n\n本项目利用深度学习和自然语言处理（NLP）技术分析大规模明文密码数据集，旨在训练生成模型并研究用户随时间变化的密码修改模式（例如：`hello123` -> `h@llo123`）。\n\n> **⚠️ 免责声明**：本工具仅供学术研究使用。请勿将分析结果用于非法用途。\n\n## 环境准备\n\n在开始之前，请确保您的开发环境满足以下要求：\n\n*   **操作系统**：Linux 或 macOS（Windows 需使用 WSL）。\n*   **Python 版本**：Python 3.x。\n*   **硬件要求**：\n    *   **内存**：建议至少 8GB RAM。\n    *   **磁盘空间**：\n        *   完整数据集处理需约 50GB 可用空间。\n        *   仅处理部分样本（测试用）需较少空间。\n        *   未压缩的输出文件约为 45GB。\n*   **前置依赖**：\n    *   Git\n    *   Python pip\n    *   Virtualenv (推荐)\n\n## 安装步骤\n\n### 1. 获取源代码\n首先克隆项目仓库：\n```bash\ngit clone \u003Crepository_url>\ncd tensorflow-1.4-billion-password-analysis\n```\n*(注：请将 `\u003Crepository_url>` 替换为实际的 GitHub 仓库地址)*\n\n### 2. 设置虚拟环境并安装依赖\n推荐使用 Python 3 虚拟环境以避免依赖冲突。国内用户可使用清华源加速安装：\n\n```bash\n# 创建虚拟环境\nvirtualenv -p python3 venv3\nsource venv3\u002Fbin\u002Factivate\n\n# 安装依赖 (使用清华镜像源加速)\npip install -r requirements.txt -i https:\u002F\u002Fpypi.tuna.tsinghua.edu.cn\u002Fsimple\n```\n\n### 3. 获取数据\n本项目需要下载名为 \"BreachCompilation\" 的大型数据集（约 14 亿条记录）。由于数据敏感且巨大，请通过磁力链接下载：\n\n*   **磁力链接**：\n    ```text\n    magnet:?xt=urn:btih:7ffbcd8cee06aba2ce6561688cf68ce2addca0a3&dn=BreachCompilation&tr=udp%3A%2F%2Ftracker.openbittorrent.com%3A80&tr=udp%3A%2F%2Ftracker.leechers-paradise.org%3A6969&tr=udp%3A%2F%2Ftracker.coppersurfer.tk%3A6969&tr=udp%3A%2F%2Fglotorrents.pw%3A6969&tr=udp%3A%2F%2Ftracker.opentrackr.org%3A1337\n    ```\n*   **验证数据**：下载完成后，参考项目中的 `checklist.chk` 校验文件完整性。\n*   **确认行数**：进入解压后的 `BreachCompilation` 目录，运行以下脚本确认数据量（应显示约 1,400,553,870 行）：\n    ```bash\n    .\u002Fcount_total.sh\n    ```\n\n## 基本使用\n\n### 方式一：一键处理与训练（推荐）\n此脚本将自动处理数据并运行第一个深度学习模型。\n\n**注意**：默认配置仅处理前 100 个文件以快速验证流程。若要处理完整数据集（耗时数小时），请移除 `--max_num_files 100` 参数。\n\n```bash\n# 将 \u003CBreachCompilation path> 替换为您的数据文件夹实际路径\n.\u002Fprocess_and_train.sh \u003CBreachCompilation path>\n```\n\n### 方式二：仅运行数据处理\n如果您只想进行数据分析而不训练模型，可以单独运行数据处理脚本。\n\n**限制处理规模（测试用）**：\n若数据集过大，可通过 `max_num_files` 参数限制处理的文件数量（0 到 2000 之间）：\n\n```bash\npython3 run_data_processing.py \\\n  --breach_compilation_folder \u003CBreachCompilation path> \\\n  --output_folder ~\u002FBreachCompilationAnalysis \\\n  --max_num_files 100\n```\n\n**全量处理**：\n移除 `--max_num_files` 参数即可处理全部数据（在 Intel i7-6900K 单核上约需 1.5 小时）：\n\n```bash\npython3 run_data_processing.py \\\n  --breach_compilation_folder \u003CBreachCompilation path> \\\n  --output_folder ~\u002FBreachCompilationAnalysis\n```\n\n### 输出结果说明\n处理完成后，结果将保存在 `BreachCompilationAnalysis` 目录下：\n\n1.  **编辑距离分析** (`edit-distance\u002F`)：\n    *   `1.csv`: 包含编辑距离为 1 的密码对（如增删改一个字符）。\n    *   `2.csv`, `3.csv`...: 依此类推。\n    *   格式示例：`1 ||| samsung94 ||| samsung94@`\n\n2.  **用户密码演变分析** (`reduce-passwords-on-similar-emails\u002F`)：\n    *   文件按邮箱前两位字母分类（如 `96_per_user.json`）。\n    *   记录了同一用户多个密码之间的编辑距离，用于推导密码修改路径（假设用户倾向于最小化字符变动）。\n    *   格式示例：\n        ```json\n        {\n            \"email\": \"96-000@mail.ru\",\n            \"password\": [\"090698d\", \"090698D\"],\n            \"edit_distance\": [0, 1]\n        }\n        ```","某大型金融科技公司的安全团队正在升级其密码强度检测系统，旨在从被动防御转向主动预测用户可能设置的弱密码模式。\n\n### 没有 tensorflow-1.4-billion-password-analysis 时\n- **规则滞后且僵化**：安全策略仅依赖静态正则表达式（如“必须包含特殊字符”），无法识别用户将 `hello123` 变为 `h@llo123` 这种可预测的微小变异。\n- **缺乏演化视角**：分析师面对海量泄露数据只能进行简单的频率统计，难以洞察用户在多次泄露后修改密码的行为规律和编辑距离特征。\n- **防御盲区巨大**：由于无法生成基于真实人类行为模式的对抗样本，密码破解测试覆盖率低，导致新型组合式弱密码轻易绕过防线。\n\n### 使用 tensorflow-1.4-billion-password-analysis 后\n- **智能生成对抗样本**：利用深度学习模型分析 14 亿条明文凭证，自动生成符合人类习惯的变体密码（如大小写切换、邻近键替换），提前填补规则漏洞。\n- **量化密码演变路径**：通过编辑距离分析模块，精准绘制出用户从\"纯数字”到“数字 + 符号”的演变轨迹，为制定动态密码策略提供数据支撑。\n- **主动拦截弱口令**：将训练好的生成模型集成到注册环节，实时拦截那些虽然符合复杂度要求但极大概率会被猜解的“伪强密码”，显著降低撞库风险。\n\n核心价值在于将密码安全防御从“死板的规则匹配”升级为“基于人类行为预测的主动免疫”。","https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fphilipperemy_tensorflow-1.4-billion-password-analysis_86661adc.png","philipperemy","Philippe Rémy","https:\u002F\u002Foss.gittoolsai.com\u002Favatars\u002Fphilipperemy_ab4d68d0.jpg","From Paris to Bangkok via London, Tokyo, LA. Ex @ImperialCollegeLondon. Maths, Stats, Machine Learning.   🏄 🎲 🎱 Co Founder of @skysense, an AI startup.","Imperial College London","Earth","premy.enseirb@gmail.com","philipperemy.github.io\u002Fme","https:\u002F\u002Fgithub.com\u002Fphilipperemy",[82,86],{"name":83,"color":84,"percentage":85},"Python","#3572A5",98.2,{"name":87,"color":88,"percentage":89},"Shell","#89e051",1.8,1954,394,"2026-04-10T07:51:12",null,4,"Linux, macOS","未说明","最低 8GB",{"notes":99,"python":100,"dependencies":101},"1. 处理完整数据集需要约 50GB 可用磁盘空间，输出文件解压后约为 45GB。2. 若仅处理部分数据（前 100 个文件），可在脚本中保留 '--max_num_files 100' 参数；处理全集需移除该参数。3. 在 Intel Core i7-6900K 单线程环境下，数据处理耗时约 1.5 小时。4. 建议使用 Python 虚拟环境 (virtualenv) 安装依赖。5. 本项目仅供研究使用，涉及大规模泄露密码数据分析。","3.x (推荐 python3)",[102],"requirements.txt 中定义的依赖 (具体列表未在 README 中展示)",[14,35],[105,106,107],"tensorflow","deep-learning","natural-language-processing","2026-03-27T02:49:30.150509","2026-04-17T08:25:51.494397",[111,116,121,126,131,136],{"id":112,"question_zh":113,"answer_zh":114,"source_url":115},37018,"在 macOS 或 Python 3 环境下运行时遇到 'NameError: name 'unicode' is not defined' 错误怎么办？","这是因为安装了不兼容 Python 3 的 `slugify` 包。请卸载它并安装正确的 `python-slugify` 包。具体命令如下：\npip3 uninstall slugify\npip3 install python-slugify\n安装完成后即可正常运行。","https:\u002F\u002Fgithub.com\u002Fphilipperemy\u002Ftensorflow-1.4-billion-password-analysis\u002Fissues\u002F3",{"id":117,"question_zh":118,"answer_zh":119,"source_url":120},37019,"运行该项目需要多少磁盘空间？临时文件存储在哪里？","项目维护者已根据用户反馈更新了文档，明确列出了所需的磁盘空间大小（通常约为 50GB 或更多，取决于数据集）。关于临时工作目录，默认情况下会使用用户主目录（~\u002F），但在云提供商等磁盘空间受限的环境中，建议通过修改代码或参数来指定具有更大空间的临时目录。详细信息请参阅项目的 'Data Explanation' 部分。","https:\u002F\u002Fgithub.com\u002Fphilipperemy\u002Ftensorflow-1.4-billion-password-analysis\u002Fissues\u002F6",{"id":122,"question_zh":123,"answer_zh":124,"source_url":125},37020,"如何验证下载数据的完整性？有校验和吗？","是的，维护者已经添加了 SHA256 校验和以供验证。你可以在相关提交记录或项目文档中找到该哈希值，用于比对下载文件的完整性，确保数据未被损坏或篡改。","https:\u002F\u002Fgithub.com\u002Fphilipperemy\u002Ftensorflow-1.4-billion-password-analysis\u002Fissues\u002F2",{"id":127,"question_zh":128,"answer_zh":129,"source_url":130},37021,"数据文件中的密码分隔符是什么？","主要分隔符是冒号（:），但数据集中也存在使用分号（;）作为分隔符的情况。维护者已修复了相关代码以同时支持这两种分隔符，确保解析时不会遗漏数据。","https:\u002F\u002Fgithub.com\u002Fphilipperemy\u002Ftensorflow-1.4-billion-password-analysis\u002Fissues\u002F5",{"id":132,"question_zh":133,"answer_zh":134,"source_url":135},37022,"在哪里可以下载数据集？有磁力链接吗？","社区用户在评论中分享了多个磁力链接（Magnet Links）用于下载数据集。你可以复制以下格式的链接到下载工具中使用：\nmagnet:?xt=urn:btih:[哈希值]&dn=[文件名]&tr=[追踪器地址]\n请注意，由于数据来源的特殊性，请确保遵守当地法律法规并使用安全的下载环境。","https:\u002F\u002Fgithub.com\u002Fphilipperemy\u002Ftensorflow-1.4-billion-password-analysis\u002Fissues\u002F8",{"id":137,"question_zh":138,"answer_zh":139,"source_url":140},37023,"运行脚本时遇到 'Illegal instruction' 错误是什么原因？","该错误通常发生在执行 `.\u002Fprocess_and_train.sh` 脚本调用 `python train_model.py` 时。这往往是因为编译的 TensorFlow 版本与当前 CPU 指令集不兼容（例如在不支持 AVX 指令集的旧 CPU 上使用了启用 AVX 的 TensorFlow 版本）。建议检查 CPU 支持情况，并尝试安装兼容当前硬件的 TensorFlow 版本，或者在源码编译时禁用高级指令集优化。","https:\u002F\u002Fgithub.com\u002Fphilipperemy\u002Ftensorflow-1.4-billion-password-analysis\u002Fissues\u002F9",[]]