Android Root Atlas/教程库/根证书与 PKI

根证书、Web 与软件工程 / 根证书与 PKI

“安装根证书”不是获取 Root:从证书链到本地 HTTPS 的安全入门

使用 OpenSSL 与 mkcert 为 localhost 建立可撤销的本机 HTTPS 实验,并理解根证书、叶子证书和 Android Root 的区别。

本篇完成任务

在个人开发机上为 localhost 创建并验证一条本地信任链,随后撤销本地 CA 信任并删除实验私钥。

“根证书”里的 root 是信任链的锚点,不是操作系统超级用户,更不是 Android Root。安装 CA 只改变某个 trust store 对证书签发者的信任;它不会解锁 Bootloader,也不会出现 Magisk 的 su 授权。本实验仅为个人开发机上的 localhost 创建可撤销 HTTPS,不拦截任何第三方流量。

你会完成什么#

  • 分清 root CA、intermediate CA、leaf/server certificate 与私钥。
  • 用 mkcert 为 localhost 生成只在本机开发使用的证书。
  • 用 OpenSSL 启动 loopback HTTPS 并检查证书主题与 SAN。
  • 观察浏览器/openssl s_client 的验证结果,不把“受信任”理解成“代码安全”。
  • 撤销本地 CA 信任并删除实验叶子私钥,留下可核对的清理结果。

先看结论#

需求正确选择不该做什么
本机 localhost 开发mkcert 本地 CArootCA-key.pem 提交到仓库
公网正式域名ACME CA,例如 Let's Encrypt/Certbot让访客安装你的私有根证书
企业内部 PKI受管理的 step-ca 等,离线 root + 在线 intermediate在个人电脑临时搭一套当生产 CA
Android debug AppNetwork Security Config 的 debug-only 信任设置把未知 CA 强塞进系统分区
手机 Root精确设备的启动链方案把“安装 root certificate”当成 Root 手机

心智模型#

本机 trust store 信任:Root CA(信任锚,私钥极敏感)
                         └─签发→ localhost 叶子证书 ──出示→ TLS 客户端
客户端检查:签发链 + 有效期 + 主机名/SAN + 本地策略
Android Root:Bootloader/boot/kernel/su 管理链,与上述 PKI 链无关

工具清单#

工具角色什么时候用来源与注意
OpenSSL s_client观察服务器送出的证书与验证错误信任变更前后核对-showcerts 显示证书不等于验证成功
OpenSSL s_server在 loopback 启动临时 TLS 服务本篇本地实验不是生产 Web 服务器,结束后停止进程
mkcert创建本机 CA 并签发开发证书仅用于本地开发rootCA-key.pem 可冒充任意站点,绝不分享
Smallstep step-ca管理私有 X.509/SSH CA有正式内部 PKI 需求时需要生命周期、审计、备份与离线根设计
Let's Encrypt / Certbot为公网域名走 ACME 签发与续期生产公网 HTTPS要保护账户、DNS/API 凭据并测试续期
Android Network Security Config限定 App 信任锚自己的 debug buildApp 策略,不是 Android Root 工具

项目全景:根证书与 PKI的 47 个项目,一个不漏#

47 个结果里只有少数真正处理根证书;多数项目的 root 是“根因”。文章应以“先分清 trust root 与 root cause”为主线,既覆盖 PKI 工具,也完整介绍被误收进来的 RCA 生态。

技术路线项目数处理等级在主题任务中的位置
根证书、信任库与签发链5候选路线围绕证书查看、Mozilla 根列表、Android 模拟器 CA 安装、受约束内部 CA 和测试证书签发讲信任链;只向自有测试环境安装 CA。
因果推断与时序 RCA 方法13候选路线将 Granger 因果、因果发现、多变量时序、知识图谱和鲁棒定位作为研究路线,先复现实验数据,再讨论可迁移性。
微服务与可观测性根因定位11候选路线用日志、指标、追踪和数据库诊断项目说明从异常发现到候选根因排序,强调时间对齐、拓扑和证据链接。
AI Agent、Copilot 与假设驱动调试8候选路线比较多 Agent、值班 Copilot、LLM 基准和自动修复建议,要求每个结论回链原始日志、代码或测试,禁止凭模型输出直接改生产。
代码、崩溃与领域诊断10候选路线覆盖崩溃解释、Git 历史、内存泄漏、形式验证、Android ANR、教育错误、DeFi 事故和业务指标驱动因素,并说明这些都不是证书管理。

1. 根证书、信任库与签发链 · 5#

围绕证书查看、Mozilla 根列表、Android 模拟器 CA 安装、受约束内部 CA 和测试证书签发讲信任链;只向自有测试环境安装 CA。

本组共 5 项:5 个源项目、0 个 Fork,其中 0 项已归档。新手应先从“未归档的源项目”核对 README 和 Release,再用 Fork 追溯设备适配或历史差异;分组本身不等于推荐安装。

项目上游定位与识别信号状态与采用前检查
nh2/internal-contstrained-pki主题用途:将 nh2/internal-contstrained-pki 纳入「根证书、信任库与签发链」候选路线,根据 openssl · pki · tls · Shell 核对功能、平台与版本适配。 上游自述(保留原文):Safely shareable TLS root CA for .internal networks using Name Constraints未归档源项目 · ★ 552 · 协议未声明 · 2024-10-25。活跃候选:先核对 README、最新 Release、目标版本与已知问题。
breml/rootcerts主题用途:将 breml/rootcerts 纳入「根证书、信任库与签发链」候选路线,根据 certificates · go · golang · Go 核对功能、平台与版本适配。 上游自述(保留原文):Go package to embed the Mozilla Included CA Certificate List未归档源项目 · ★ 125 · BSD-2-Clause · 2026-07-19。边界命中:先读 README,确认它确实属于当前任务,再决定是否使用。
txthinking/mad主题用途:将 txthinking/mad 纳入「根证书、信任库与签发链」候选路线,根据 Go 核对功能、平台与版本适配。 上游自述(保留原文):Generate root CA and derivative certificate for any domains and any IPs.未归档源项目 · ★ 53 · MIT · 2024-09-23。活跃候选:先核对 README、最新 Release、目标版本与已知问题。
RaymiiOrg/CertInfo主题用途:将 RaymiiOrg/CertInfo 纳入「根证书、信任库与签发链」候选路线,根据 certificates · https · qt · C++ 核对功能、平台与版本适配。 上游自述(保留原文):Which Root Certificates should you trust?未归档源项目 · ★ 46 · GPL-3.0 · 2024-01-16。活跃候选:先核对 README、最新 Release、目标版本与已知问题。
artumino/adb-cert主题用途:将 artumino/adb-cert 纳入「根证书、信任库与签发链」候选路线,根据 Rust 核对功能、平台与版本适配。 上游自述(保留原文):Root CA certificate installer utility for android emulators through ADB未归档源项目 · ★ 4 · 协议未声明 · 2023-09-04。活跃候选:先核对 README、最新 Release、目标版本与已知问题。

2. 因果推断与时序 RCA 方法 · 13#

将 Granger 因果、因果发现、多变量时序、知识图谱和鲁棒定位作为研究路线,先复现实验数据,再讨论可迁移性。

本组共 13 项:13 个源项目、0 个 Fork,其中 0 项已归档。新手应先从“未归档的源项目”核对 README 和 Release,再用 Fork 追溯设备适配或历史差异;分组本身不等于推荐安装。

项目上游定位与识别信号状态与采用前检查
salesforce/PyRCA主题用途:将 salesforce/PyRCA 纳入「因果推断与时序 RCA 方法」候选路线,根据 Python 核对功能、平台与版本适配。 上游自述(保留原文):PyRCA: A Python Machine Learning Library for Root Cause Analysis未归档源项目 · ★ 561 · BSD-3-Clause · 2026-06-02。活跃候选:先核对 README、最新 Release、目标版本与已知问题。
cuebook/CueObserve主题用途:将 cuebook/CueObserve 纳入「因果推断与时序 RCA 方法」候选路线,根据 anomaly · anomaly-detection · bigquery · Python 核对功能、平台与版本适配。 上游自述(保留原文):Timeseries Anomaly detection and Root Cause Analysis on data in SQL data warehouses and databases未归档源项目 · ★ 235 · Apache-2.0 · 2022-02-23。活跃候选:先核对 README、最新 Release、目标版本与已知问题。
shaido987/riskloc主题用途:将 shaido987/riskloc 纳入「因果推断与时序 RCA 方法」候选路线,根据 adtributor · autoroot · hotspot · Python 核对功能、平台与版本适配。 上游自述(保留原文):Official implementation of RiskLoc, a method for localizing multi-dimensional root causes in time-series data.未归档源项目 · ★ 136 · MIT · 2024-10-16。活跃候选:先核对 README、最新 Release、目标版本与已知问题。
NetManAIOps/CIRCA主题用途:将 NetManAIOps/CIRCA 纳入「因果推断与时序 RCA 方法」候选路线,根据 Python 核对功能、平台与版本适配。 上游自述(保留原文):Causal Inference-based Root Cause Analysis未归档源项目 · ★ 98 · BSD-3-Clause · 2023-02-13。活跃候选:先核对 README、最新 Release、目标版本与已知问题。
hanxiao0607/AERCA主题用途:将 hanxiao0607/AERCA 纳入「因果推断与时序 RCA 方法」候选路线,根据 anomaly-detection · root-cause-analysis · Python 核对功能、平台与版本适配。 上游自述(保留原文):AERCA: Root Cause Analysis of Anomalies in Multivariate Time Series through Granger Causal Discovery (ICLR 2025 Oral)未归档源项目 · ★ 93 · MIT · 2026-07-17。活跃候选:先核对 README、最新 Release、目标版本与已知问题。
azamikram/rcd主题用途:将 azamikram/rcd 纳入「因果推断与时序 RCA 方法」候选路线,根据 Python 核对功能、平台与版本适配。 上游自述(保留原文):Root Cause Discovery: Root Cause Analysis of Failures in Microservices through Causal Discovery未归档源项目 · ★ 71 · MIT · 2024-04-26。活跃候选:先核对 README、最新 Release、目标版本与已知问题。
phamquiluan/baro主题用途:将 phamquiluan/baro 纳入「因果推断与时序 RCA 方法」候选路线,根据 aiops · anomaly-detection · microservices · Jupyter Notebook 核对功能、平台与版本适配。 上游自述(保留原文):(FSE'24 - 🏆 Best Artifact Award) BARO: Robust Root Cause Analysis for Time Series Data.未归档源项目 · ★ 66 · MIT · 2026-03-10。活跃候选:先核对 README、最新 Release、目标版本与已知问题。
lalaland1921/Squeeze主题用途:将 lalaland1921/Squeeze 纳入「因果推断与时序 RCA 方法」候选路线,根据 Python 核对功能、平台与版本适配。 上游自述(保留原文):多维监控异常根因分析,复现论文ISSRE 2019 REG paper 'Generic and Robust Localization of Multi-Dimensional Root Cause'.未归档源项目 · ★ 52 · 协议未声明 · 2022-12-08。活跃候选:先核对 README、最新 Release、目标版本与已知问题。
algorithm-tools/CausalAnalysis主题用途:将 algorithm-tools/CausalAnalysis 纳入「因果推断与时序 RCA 方法」候选路线,根据 Java 核对功能、平台与版本适配。 上游自述(保留原文):Algorithmic implementation of indicators causal analysis, causal inference using Java. Helps to quickly find the root cause of indicators未归档源项目 · ★ 45 · Apache-2.0 · 2025-06-17。活跃候选:先核对 README、最新 Release、目标版本与已知问题。
zmlin1998/RUN主题用途:将 zmlin1998/RUN 纳入「因果推断与时序 RCA 方法」候选路线,根据 Python 核对功能、平台与版本适配。 上游自述(保留原文):Official repository of "Root Cause Analysis In Microservice Using Neural Granger Causal Discovery" @ AAAI 2024未归档源项目 · ★ 45 · 协议未声明 · 2024-07-15。边界命中:先读 README,确认它确实属于当前任务,再决定是否使用。
PanYicheng/dycause_rca主题用途:将 PanYicheng/dycause_rca 纳入「因果推断与时序 RCA 方法」候选路线,根据 Jupyter Notebook 核对功能、平台与版本适配。 上游自述(保留原文):DyCause is a root cause analysis method for the microservice system failures.未归档源项目 · ★ 43 · Apache-2.0 · 2021-12-10。边界命中:先读 README,确认它确实属于当前任务,再决定是否使用。
KnowledgeDiscovery/rca_baselines主题用途:将 KnowledgeDiscovery/rca_baselines 纳入「因果推断与时序 RCA 方法」候选路线,根据 causal-discovery · log-analysis · multi-modal-learning · Python 核对功能、平台与版本适配。 上游自述(保留原文):Code for "LEMMA-RCA: A Large Multi-modal Multi-domain Dataset for Root Cause Analysis" paper未归档源项目 · ★ 35 · NOASSERTION · 2025-10-06。边界命中:先读 README,确认它确实属于当前任务,再决定是否使用。
rainstorm12/Root-KGD主题用途:将 rainstorm12/Root-KGD 纳入「因果推断与时序 RCA 方法」候选路线,根据 Jupyter Notebook 核对功能、平台与版本适配。 上游自述(保留原文):基于工业数据和知识图谱联合驱动的工业故障诊断框架,论文代码Root-KGI: a Novel Framework for Root Cause Diagnosis Based on Knowledge Graph and Industrial Data未归档源项目 · ★ 35 · 协议未声明 · 2024-06-26。活跃候选:先核对 README、最新 Release、目标版本与已知问题。

3. 微服务与可观测性根因定位 · 11#

用日志、指标、追踪和数据库诊断项目说明从异常发现到候选根因排序,强调时间对齐、拓扑和证据链接。

本组共 11 项:11 个源项目、0 个 Fork,其中 0 项已归档。新手应先从“未归档的源项目”核对 README 和 Release,再用 Fork 追溯设备适配或历史差异;分组本身不等于推荐安装。

项目上游定位与识别信号状态与采用前检查
tangpan360/MicroRCA-Agent主题用途:将 tangpan360/MicroRCA-Agent 纳入「微服务与可观测性根因定位」候选路线,根据 Python 核对功能、平台与版本适配。 上游自述(保留原文):2025 CCF International AIOps Challenge / Track 1: Microservice Root Cause Localization Based on Large Model Agents / "男团910" Solution · Top 5 in Final · Score: 48.52; (2025 CCF 国际 AIOps 挑战赛 / 赛道一:基于大模型智能体的微服务根因定位 / "男团910"方案 · 决赛Top5 · 48.52分)未归档源项目 · ★ 255 · 协议未声明 · 2026-01-14。活跃候选:先核对 README、最新 Release、目标版本与已知问题。
axiomhq/gilfoyle主题用途:将 axiomhq/gilfoyle 纳入「微服务与可观测性根因定位」候选路线,根据 TypeScript 核对功能、平台与版本适配。 上游自述(保留原文):An SRE agent that does what you can't. Queries your observability stack. Finds root causes. Doesn't panic. Doesn't guess. Doesn't care about your feelings. You're welcome.未归档源项目 · ★ 214 · Apache-2.0 · 2026-06-29。边界命中:先读 README,确认它确实属于当前任务,再决定是否使用。
oceanbase/obdiag主题用途:将 oceanbase/obdiag 纳入「微服务与可观测性根因定位」候选路线,根据 hacktoberfest · obdiag · oceanbase · Python 核对功能、平台与版本适配。 上游自述(保留原文):obdiag (OceanBase Diagnostic Tool) is designed to help OceanBase users quickly gather necessary information and analyze the root cause of the problem.未归档源项目 · ★ 160 · MulanPSL-2.0 · 2026-05-19。活跃候选:先核对 README、最新 Release、目标版本与已知问题。
dreamhomes/RCAPapers主题用途:将 dreamhomes/RCAPapers 纳入「微服务与可观测性根因定位」候选路线,根据 cloud-systems · microservice-architecture · microservice-systems 核对功能、平台与版本适配。 上游自述(保留原文):Papers about Root Cause Analysis in MicroService Systems. Reference to Paper Notes: https://dreamhomes.top/未归档源项目 · ★ 144 · Apache-2.0 · 2022-04-22。活跃候选:先核对 README、最新 Release、目标版本与已知问题。
LiaoWenzhe/BigdataAi主题用途:将 LiaoWenzhe/BigdataAi 纳入「微服务与可观测性根因定位」候选路线,根据 ai · data-mining · deep-learning 核对功能、平台与版本适配。 上游自述(保留原文):介绍Liao Wenzhe 的一些主要代表作品,包括AIOPS,异常检测,根因分析,告警降噪,关联分析,数据安全,数据挖掘,机器学习,深度学习,文本匹配,公开演讲,思维方式,学习方法,读书阅读等。欢迎star。 Introduce some of Liao Wenzhe's main representative works, including AIOPS, anomaly detection, root cause analysis, alarm noise reduction, correlation analysis, data security, data mining, machine learning, deep learning, text matching, public speech, way of thinking, learning methods, reading, reading, etc. Welcome star.未归档源项目 · ★ 74 · AGPL-3.0 · 2022-11-19。边界命中:先读 README,确认它确实属于当前任务,再决定是否使用。
IntelligentDDS/Nezha主题用途:将 IntelligentDDS/Nezha 纳入「微服务与可观测性根因定位」候选路线,根据 Python 核对功能、平台与版本适配。 上游自述(保留原文):The implementation of multimodal observability data root cause analysis approach Nezha in FSE 2023未归档源项目 · ★ 72 · MIT · 2025-05-20。边界命中:先读 README,确认它确实属于当前任务,再决定是否使用。
YEDASAVG/Stratum主题用途:将 YEDASAVG/Stratum 纳入「微服务与可观测性根因定位」候选路线,根据 Rust 核对功能、平台与版本适配。 上游自述(保留原文):AI-powered Log Intelligence System - Semantic search, anomaly detection, and root cause analysis for logs using RAG techniques. Built with Rust, Axum, NATS, ClickHouse, and Qdrant.未归档源项目 · ★ 51 · Apache-2.0 · 2026-02-23。活跃候选:先核对 README、最新 Release、目标版本与已知问题。
avivl/cloud-sre-agent主题用途:将 avivl/cloud-sre-agent 纳入「微服务与可观测性根因定位」候选路线,根据 ai-agents · ai-ops · automation · Go 核对功能、平台与版本适配。 上游自述(保留原文):An autonomous SRE agent that monitors cloud logs across multiple platforms, leveraging AI models from various providers to detect anomalies, perform root cause analysis, and automate remediation by creating GitHub Pull Requests.未归档源项目 · ★ 48 · MIT · 2026-06-29。边界命中:先读 README,确认它确实属于当前任务,再决定是否使用。
VishApp/multiagent-debugger主题用途:将 VishApp/multiagent-debugger 纳入「微服务与可观测性根因定位」候选路线,根据 ai-tools · autonomous-agents · code-analysis · Python 核对功能、平台与版本适配。 上游自述(保留原文):Multi-Agent Debugger: An AI-powered debugging system using CrewAI to orchestrate specialized agents that analyze logs, trace code, and uncover root causes across your stack — powered by LLM providers.未归档源项目 · ★ 36 · MIT · 2025-07-22。边界命中:先读 README,确认它确实属于当前任务,再决定是否使用。
opensearch-project/performance-analyzer-rca主题用途:将 opensearch-project/performance-analyzer-rca 纳入「微服务与可观测性根因定位」候选路线,根据 Java 核对功能、平台与版本适配。 上游自述(保留原文):The Performance Analyzer RCA is a framework that builds on the Performance Analyzer engine to support root cause analysis (RCA) of performance and reliability problems for OpenSearch instances.未归档源项目 · ★ 34 · Apache-2.0 · 2026-05-27。活跃候选:先核对 README、最新 Release、目标版本与已知问题。
dreamhomes/TroubleShooter主题用途:将 dreamhomes/TroubleShooter 纳入「微服务与可观测性根因定位」候选路线,根据 Jupyter Notebook 核对功能、平台与版本适配。 上游自述(保留原文):The algorithms about root cause analysis/localization/diagnosis in AIOps.未归档源项目 · ★ 30 · Apache-2.0 · 2021-09-14。活跃候选:先核对 README、最新 Release、目标版本与已知问题。

4. AI Agent、Copilot 与假设驱动调试 · 8#

比较多 Agent、值班 Copilot、LLM 基准和自动修复建议,要求每个结论回链原始日志、代码或测试,禁止凭模型输出直接改生产。

本组共 8 项:8 个源项目、0 个 Fork,其中 0 项已归档。新手应先从“未归档的源项目”核对 README 和 Release,再用 Fork 追溯设备适配或历史差异;分组本身不等于推荐安装。

项目上游定位与识别信号状态与采用前检查
uptrain-ai/uptrain主题用途:将 uptrain-ai/uptrain 纳入「AI Agent、Copilot 与假设驱动调试」候选路线,根据 autoevaluation · evaluation · experimentation · Python 核对功能、平台与版本适配。 上游自述(保留原文):UpTrain is an open-source unified platform to evaluate and improve Generative AI applications. We provide grades for 20+ preconfigured checks (covering language, code, embedding use-cases), perform root cause analysis on failure cases and give insights on how to resolve them.未归档源项目 · ★ 2355 · Apache-2.0 · 2024-08-18。边界命中:先读 README,确认它确实属于当前任务,再决定是否使用。
rhesis-ai/rhesis主题用途:将 rhesis-ai/rhesis 纳入「AI Agent、Copilot 与假设驱动调试」候选路线,根据 generative-ai · llm-evaluation · llm-evaluation-framework · Python 核对功能、平台与版本适配。 上游自述(保留原文):The testing platform for AI teams. Bring engineers, PMs, and domain experts together to generate tests, simulate (adversarial) conversations, and trace every failure to its root cause.未归档源项目 · ★ 381 · NOASSERTION · 2026-07-19。边界命中:先读 README,确认它确实属于当前任务,再决定是否使用。
microsoft/OpenRCA主题用途:将 microsoft/OpenRCA 纳入「AI Agent、Copilot 与假设驱动调试」候选路线,根据 benchmark · large-language-models · llm · Python 核对功能、平台与版本适配。 上游自述(保留原文):(ICLR'25) OpenRCA: Can Large Language Models Locate the Root Cause of Software Failures?未归档源项目 · ★ 380 · MIT · 2026-07-13。活跃候选:先核对 README、最新 Release、目标版本与已知问题。
schickling/dilagent主题用途:将 schickling/dilagent 纳入「AI Agent、Copilot 与假设驱动调试」候选路线,根据 TypeScript 核对功能、平台与版本适配。 上游自述(保留原文):"Deep research for bugs" – Agentic root cause analysis through hypothesis-driven debugging未归档源项目 · ★ 105 · 协议未声明 · 2025-09-10。活跃候选:先核对 README、最新 Release、目标版本与已知问题。
YanpengQi7/ai-reliability-copilot主题用途:将 YanpengQi7/ai-reliability-copilot 纳入「AI Agent、Copilot 与假设驱动调试」候选路线,根据 ai-sdk · deepseek · incident-response · TypeScript 核对功能、平台与版本适配。 上游自述(保留原文):Turn a production incident into a structured 9-section LLM response (severity, root cause, mitigation, postmortem). Ships with a 5-scenario regression suite + LLM-as-judge eval pipeline.未归档源项目 · ★ 103 · 协议未声明 · 2026-06-24。活跃候选:先核对 README、最新 Release、目标版本与已知问题。
Otutu11/Root-Cause-Analysis-Assistant主题用途:将 Otutu11/Root-Cause-Analysis-Assistant 纳入「AI Agent、Copilot 与假设驱动调试」候选路线,根据 Python 核对功能、平台与版本适配。 上游自述(保留原文):Root-Cause-Analysis-Assistant helps identify, analyze, and resolve underlying issues in complex systems. It leverages data-driven insights, structured workflows, and visualization to streamline troubleshooting, reduce downtime, and enhance decision-making across industries.未归档源项目 · ★ 54 · 协议未声明 · 2025-10-03。边界命中:先读 README,确认它确实属于当前任务,再决定是否使用。
leestott/On-Call-Copilot-Multi-Agent主题用途:将 leestott/On-Call-Copilot-Multi-Agent 纳入「AI Agent、Copilot 与假设驱动调试」候选路线,根据 agent-services · foundry · hosted · Python 核对功能、平台与版本适配。 上游自述(保留原文):On-Call Copilot is an open-source multi-agent AI system built on Microsoft Agent Framework and Agent Services v2 Hosted Agents that automates incident response. It runs four specialist agents concurrently Triage, Summary, Comms, and PIR, returning root cause analysis, a plain-language narrative, Slack and stakeholder update未归档源项目 · ★ 41 · MIT · 2026-06-18。边界命中:先读 README,确认它确实属于当前任务,再决定是否使用。
yuchuangu85/llm-anr主题用途:将 yuchuangu85/llm-anr 纳入「AI Agent、Copilot 与假设驱动调试」候选路线,根据 Python 核对功能、平台与版本适配。 上游自述(保留原文):Agent-driven Android ANR evidence extraction and AI-assisted root cause analysis pipeline.未归档源项目 · ★ 32 · 协议未声明 · 2026-06-23。边界命中:先读 README,确认它确实属于当前任务,再决定是否使用。

5. 代码、崩溃与领域诊断 · 10#

覆盖崩溃解释、Git 历史、内存泄漏、形式验证、Android ANR、教育错误、DeFi 事故和业务指标驱动因素,并说明这些都不是证书管理。

本组共 10 项:10 个源项目、0 个 Fork,其中 1 项已归档。新手应先从“未归档的源项目”核对 README 和 Release,再用 Fork 追溯设备适配或历史差异;分组本身不等于推荐安装。

项目上游定位与识别信号状态与采用前检查
empower-ai/dsensei主题用途:将 empower-ai/dsensei 纳入「代码、崩溃与领域诊断」候选路线,根据 analytics · business-analytics · business-intelligence · TypeScript 核对功能、平台与版本适配。 上游自述(保留原文):AI-powered key driver analysis tool that pinpoints root cause behind metrics fluctuation in one minute.未归档源项目 · ★ 262 · GPL-3.0 · 2023-12-01。活跃候选:先核对 README、最新 Release、目标版本与已知问题。
RUB-SysSec/aurora主题用途:将 RUB-SysSec/aurora 纳入「代码、崩溃与领域诊断」候选路线,根据 Rust 核对功能、平台与版本适配。 上游自述(保留原文):Usenix Security 2021 - AURORA: Statistical Crash Analysis for Automated Root Cause Explanation未归档源项目 · ★ 161 · AGPL-3.0 · 2022-08-31。活跃候选:先核对 README、最新 Release、目标版本与已知问题。
root-project/student-course主题用途:将 root-project/student-course 纳入「代码、崩溃与领域诊断」候选路线,根据 Jupyter Notebook 核对功能、平台与版本适配。 上游自述(保留原文):ROOT course for students未归档源项目 · ★ 121 · CC-BY-4.0 · 2026-07-15。边界命中:先读 README,确认它确实属于当前任务,再决定是否使用。
SunWeb3Sec/DeFi-Security-Breach-RCA主题用途:将 SunWeb3Sec/DeFi-Security-Breach-RCA 纳入「代码、崩溃与领域诊断」候选路线,根据 仓库名、README 与发布记录 核对功能、平台与版本适配。 上游自述(保留原文):DeFi Security Breaches: Comprehensive Root Cause Analysis未归档源项目 · ★ 90 · 协议未声明 · 2025-07-23。活跃候选:先核对 README、最新 Release、目标版本与已知问题。
gitext-rs/git-dive主题用途:将 gitext-rs/git-dive 纳入「代码、崩溃与领域诊断」候选路线,根据 Rust 核对功能、平台与版本适配。 上游自述(保留原文):Dive into a file's history to find root cause未归档源项目 · ★ 67 · Apache-2.0 · 2026-07-09。活跃候选:先核对 README、最新 Release、目标版本与已知问题。
m2sup3rn0va/RASEv1主题用途:将 m2sup3rn0va/RASEv1 纳入「代码、崩溃与领域诊断」候选路线,根据 PowerShell 核对功能、平台与版本适配。 上游自述(保留原文):Rooting Android Studio Emulator with Android Version 9.0 and above已归档源项目 · ★ 54 · 协议未声明 · 2021-01-12。已归档:保留作历史、迁移或兼容性参考,不作为默认安装源。
digitalboy/RCAE_graph_data主题用途:将 digitalboy/RCAE_graph_data 纳入「代码、崩溃与领域诊断」候选路线,根据 ai · biology · dataset 核对功能、平台与版本适配。 上游自述(保留原文):本数据集属于 根因分析与练习系统(Root Cause Analysis and Exercises for Mathematics, RCAE) 的基础子项目之一。旨在可以高效的发现学生数学、生物学业错误的根本原因。未归档源项目 · ★ 54 · NOASSERTION · 2024-09-29。边界命中:先读 README,确认它确实属于当前任务,再决定是否使用。
chopratejas/vitals主题用途:将 chopratejas/vitals 纳入「代码、崩溃与领域诊断」候选路线,根据 Python 核对功能、平台与版本适配。 上游自述(保留原文):Codebase vital signs for Claude Code — finds hotspots, diagnoses root causes, ranks fixes by ROI未归档源项目 · ★ 40 · MIT · 2026-03-04。活跃候选:先核对 README、最新 Release、目标版本与已知问题。
model-checking/cbmc-viewer主题用途:将 model-checking/cbmc-viewer 纳入「代码、崩溃与领域诊断」候选路线,根据 Python 核对功能、平台与版本适配。 上游自述(保留原文):CBMC Viewer scans the output of CBMC and produces a browsable summary of its findings, making it easy to root cause the issues it finds.未归档源项目 · ★ 37 · Apache-2.0 · 2026-07-01。活跃候选:先核对 README、最新 Release、目标版本与已知问题。
dev-vikas-soni/leak-lens主题用途:将 dev-vikas-soni/leak-lens 纳入「代码、崩溃与领域诊断」候选路线,根据 android · android-debugging · android-development · Kotlin 核对功能、平台与版本适配。 上游自述(保留原文):Android Memory Leak Detector for Android Studio. Analyze LeakCanary reports, identify root causes, and get AI-powered fix recommendations.未归档源项目 · ★ 21 · Apache-2.0 · 2026-07-13。活跃候选:先核对 README、最新 Release、目标版本与已知问题。

开始前#

仅在个人开发机运行;公司受管设备可能禁止修改 trust store,应先遵守组织政策。通过 mkcert 上游 README 安装与当前系统匹配的正式发行版,不从镜像站下载。创建一个不含其他文件的实验目录,记录 mkcert -CAROOT 输出。浏览器可能使用独立证书库,因此命令行验证与浏览器结果不一定同步。

操作步骤#

1. 建立隔离目录并确认 CA 位置#

在新目录运行 pwdls -la,确认没有现有秘密。执行 mkcert -CAROOT,记录本机 CA 目录,但不要打开、复制或上传其中的 rootCA-key.pem。运行 mkcert -install;它只应把 mkcert 的本地 CA 加入受支持的本机信任库。若系统弹出管理员授权,核对程序路径和目标后再决定,不能确认就取消。

2. 签发 localhost 叶子证书#

在实验目录运行 mkcert localhost 127.0.0.1 ::1。记录生成的证书与 -key.pem 文件名;文件名可能随版本/参数变化,不要猜。用 openssl x509 -in <certificate.pem> -noout -subject -issuer -dates -ext subjectAltName 查看 subject、issuer、有效期和 SAN。确认 SAN 只包含本实验的 localhost 名称/IP。

3. 只在 loopback 启动并验证 HTTPS#

运行 openssl s_server -accept 127.0.0.1:8443 -cert <certificate.pem> -key <certificate-key.pem> -www。在第二终端执行 openssl s_client -connect 127.0.0.1:8443 -servername localhost -verify_hostname localhost </dev/null。记录证书链和最终 verify return code;也可访问 https://localhost:8443,但不要点击绕过警告。完成观察后回到服务终端按 Ctrl-C

4. 撤销信任并清理私钥#

先确认服务已停止,再运行 mkcert -uninstall,让 mkcert 从其支持的 trust stores 移除本地 CA。完全退出并重新打开浏览器后复测,原证书应不再被本机信任。用文件管理器只删除本实验目录中的叶子证书和叶子私钥;若准备彻底废弃 mkcert CA,按上游 README 与系统证书管理界面确认所有信任项已撤销后,再处理 CAROOT。不要用宽泛递归命令删除系统证书目录。

验证#

  • 叶子证书的 SAN 包含 localhost,而不是第三方域名。
  • 服务只监听 127.0.0.1:8443,局域网其他机器不可直接访问。
  • 安装期间,s_client 的主机名和链验证结果可观察且与浏览器提示相符。
  • Ctrl-C 后端口不再提供服务。
  • mkcert -uninstall 与浏览器重启后,实验叶子证书不再获得本机 CA 信任。

排错#

现象常见原因安全处理
浏览器仍报不受信任浏览器用独立证书库或未重启查 mkcert README 的平台说明,不手工导入随机 CA
hostname mismatch连接名不在 SAN 中重新为准确的本地域名签发,不关闭主机名校验
8443 已被占用另一个本地服务监听用系统只读网络工具确认进程,换一个高端口
卸载后仍显示可信会话缓存或其他 trust store 仍保留 CA完全重启客户端并在系统证书界面按指纹核对
Android App 不信任用户 CAAndroid/App 的网络安全策略拒绝仅在自有 debug build 配置 debug-overrides,不 Root 系统绕过

完成清单#

  • 我能解释根 CA 是信任锚,而不是 Android 超级用户。
  • 我只为 localhost 生成证书,服务只绑定 loopback。
  • 我没有分享、提交或复制 rootCA-key.pem
  • 我验证了 SAN、issuer、有效期与主机名结果。
  • 我停止服务、撤销本地信任并清理实验叶子私钥。

一手资料#