TimothyCorrado/identity-attack-surface

GitHub: TimothyCorrado/identity-attack-surface

基于 Gmail API 的云原生身份暴露扫描器,通过风险评分和别名隔离降低账户接管风险。

Stars: 0 | Forks: 0

# 云身份攻击面扫描器 这是一个专注于身份攻击面发现、别名隔离以及使用 FIDO2 硬件安全密钥部署抗钓鱼认证的安全项目。 ``` flowchart LR A[Gmail API] --> B[Exposure Scanner] B --> C[Risk Scoring Engine] C --> D[Alias Generator] D --> E[Cloudflare Email Routing] E --> F[Identity Isolation] ``` ## 为什么存在此项目 电子邮件身份是现代账户接管的主要切入点。 本项目演示了如何: - 使用 Gmail API 发现身份暴露 - 使用安全聚焦的评分机制对暴露风险进行排名 - 使用自定义域名生成隔离别名 - 减少攻击面并改善身份隔离 - 使用容器化和云 IAM 原则进行安全部署 这反映了现实世界中的 SaaS 和云身份保护工作流程。 ## 架构 **数据流** Gmail API → 暴露扫描器 → 风险评分引擎 → 别名生成器 → 安全操作 **组件** | 组件 | 功能 | |---|---| | gmail_scanner.py | 从 Gmail 提取账户暴露信息 | | rank_exposures.py | 对暴露风险进行评分 | | alias_generator.py | 创建隔离别名 | | notifier.py | 安全警报逻辑 | | Dockerfile | 容器化执行 | | Cloudflare Email Routing | 别名身份隔离 | ## 示例输出 domain,max_risk,recommended_alias robinhood.com,100,robinhood@corradosec.com paypal.com,70,paypal@corradosec.com microsoft.com,85,auth-microsoft@corradosec.com ## 演示的安全原则 **身份隔离** 每个服务使用唯一的别名: service@domain.com 防止横向账户接管。 **最小权限** Gmail API 使用只读权限范围: gmail.readonly **密钥管理** 使用 .gitignore 排除敏感凭据。 **云原生设计** 容器化部署于: - Google Cloud Run - Azure Container Apps - AWS ECS ## 威胁模型 **威胁:** 通过暴露的主邮箱进行账户接管 **攻击链:** 1. 身份在数据泄露中暴露 2. 攻击者枚举 SaaS 账户 3. 发起密码重置 4. 邮箱接管 → 完整身份泄露 **缓解措施:** 别名隔离阻断攻击链。 ## 展示的技能 ### 身份与访问管理 (IAM) - 基于域名的电子邮件别名隔离 - 身份攻击面枚举和风险分类 - 分层身份架构设计 ### 认证安全 - FIDO2 硬件密钥部署 (YubiKey 5C NFC) - Passkey 和抗钓鱼 MFA 实现 - SMS MFA 弃用和恢复模型加固 ### 云安全 - Cloudflare 身份和 DNS 安全加固 - 域名基础设施保护 - 应用于生产账户的零信任身份原则 ### 威胁建模 - 凭据填充风险缓解 - SIM 交换攻击缓解 - 钓鱼攻击防御架构 - 身份爆炸半径缩减 ### 安全工程 - 安全架构文档编写 - 部署规划和验证 - 身份恢复和灾难恢复设计 ### 工具与技术 - Cloudflare - FIDO2 / WebAuthn - YubiKey 硬件认证 - Google Password Manager - GitHub - Python (身份扫描器) ## 项目状态 基于硬件的认证部署正在进行中。 有关完整的架构和部署详细信息,请参阅 `/identity` 文件夹。 ## 安全样本数据 参见: sample_output/ 已排除真实的个人暴露数据。 ## 未来增强 - Cloud Run 自动化扫描 - SIEM 集成 - 风险仪表板 - 身份暴露警报 - 企业 IAM 集成 ## 快速开始 ### 使用 Docker 运行 构建容器: ``` docker build -t identity-scan . ``` 在演示模式下运行(无需凭据): ``` docker run --rm -e DEMO_MODE=1 identity-scan ``` 通过 Gmail 集成运行(本地安全模式): ``` docker run --rm -v "%cd%\secrets:/secrets:ro" -v "%cd%\output:/app/output" -e GMAIL_TOKEN_PATH=/secrets/token.json identity-scan ``` 需要本地 Gmail API 凭据(不包含在仓库中)。 ### 不使用 Docker 在本地运行 安装依赖: ``` pip install -r requirements.txt ``` 运行排名: ``` python rank_exposures.py ``` 生成别名: ``` python app/alias_generator.py ``` ## 作者 Timothy Corrado 网络安全专家 ## 免责声明 本项目仅用于防御性安全和教育目的。
标签:Cloudflare, Docker, EASM, FIDO2, Gmail API, JSONLines, MITRE ATT&CK, NIDS, Python, 别名生成, 安全防御评估, 容器化, 无后门, 暴露面扫描, 请求拦截, 账户接管防护, 身份安全, 身份隔离, 逆向工具, 邮箱路由, 钓鱼防护, 零信任, 风险评分