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

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

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

··订阅源·联系·隐私·© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
metahub — 用于AWS的自动化安全发现增强与影响评估工具。通过资源上下文、关联关系和标签丰富漏洞数据,计算上下文影响评分,实现优先修复。 | Kitploit
工具/GitHubGitHub/gabrielsoltz/metahub
漏洞扫描器漏洞分析配置审计云安全威胁情报事件响应
GitHubgabrielsoltz/metahub

metahub

用于AWS的自动化安全发现增强与影响评估工具。通过资源上下文、关联关系和标签丰富漏洞数据,计算上下文影响评分,实现优先修复。

查看仓库
17719137个月前Kitploit 审核通过

最受欢迎

查看全部 →

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

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

MetaHub

MetaHub 是一个用于漏洞管理的自动化上下文安全发现丰富和影响评估工具。您可以将它与 AWS Security Hub 或任何兼容 ASFF 的安全扫描器一起使用。不再依赖无用的严重性等级,转而使用基于您自身环境的上下文影响评分定义。

AWS ECR Gallery

目录

  • 描述
  • 快速运行
  • 上下文
  • 影响
  • 高层架构
  • 使用场景
  • 配置
  • 使用 Python 运行
  • 使用 Docker 运行
  • 使用 Lambda 运行
  • 使用 Security Hub 自定义操作运行
  • AWS 认证
  • 配置 Security Hub
  • 配置上下文
  • 输入
  • 输出
  • 过滤器
  • Security Hub 操作
  • 贡献

描述

MetaHub 是一个用于基于影响上下文的漏洞管理的开源安全工具。它可以根据您的环境和需求自动完成安全发现的上下文化过程,即您的上下文,识别所有者,并据此计算影响评分,用于确定优先级(从何处开始?)以及自动化操作(如修复、告警或工单)。该工具适用于 AWS 环境,您可以将它与 AWS Security Hub 或任何兼容 ASFF 的扫描器(如 Prowler)一起使用。

ℹ️ 探索并扩展使用 Powerpipe 的新 MetaHub 看板!

MetaHub 通过连接到受影响账户中的受影响资源来描述您的上下文。它可以描述有关您的 AWS 账户和组织、受影响资源的标签、相关 CloudTrail 事件、受影响资源配置以及所有相关关联的信息:如果您正在对影响 EC2 实例的安全发现进行上下文化,MetaHub 不仅会连接到该实例本身,还会连接到其 IAM 角色;从那里,它将连接到与这些角色关联的 IAM 策略。它将连接到安全组并分析其所有规则,实例所在的 VPC 和子网、卷、自动伸缩组等。您可以应用过滤器来自动检测具有相同属性的其他资源,并进行深入调查。

获取了您的上下文中的所有信息后,MetaHub 将评估所有资源的影响条件:暴露、访问、加密、状态、环境、应用和所有者。基于这些计算结果,以及影响资源的安全发现的总体信息,MetaHub 将为每个发现和受影响资源生成一个评分。

查看以下由 MetaHub 生成的看板。您可以看到受影响资源,其中汇总了影响它们的所有安全发现以及每个发现的原始严重性。之后是评分以及 MetaHub 用于生成该评分的所有评估标准。所有这些信息都可以过滤、排序、分组、下载和自定义。

以下是针对 EC2 实例的 JSON 输出;请查看 MetaHub 如何将关于其上下文的所有信息组织在一起,位于 associations、config、tags、account和cloudtrail 之下,最后是带有评分以及用于生成该评分的所有评估标准的impact键。

Diagram

MetaHub 提供了一系列方法来列出、管理和输出安全发现,用于调查、抑制、更新以及与其他工具集成。它旨在作为 CLI 工具使用,或在自动化工作流(如 AWS Lambda 函数)中使用。它支持不同的输出,一些是程序化 json,但也有强大的 html、xlsx 和 csv 输出,您可以自定义。

如果您使用 AWS Security Hub,MetaHub 可以顺畅集成并扩展其功能。它可以作为 Security Hub 自定义操作 使用,支持 AWS Security Hub 过滤器,您可以管理发现的工作流状态,甚至可以直接在 AWS Security Hub 中丰富发现。

MetaHub 专为 AWS 环境设计,支持多账户设置。您可以从任何环境运行该工具,通过承担 AWS Security Hub master 和 child/service 账户中的角色来实现。这使得您可以使用 AWS Security Hub 多账户实现从多个账户获取聚合数据,同时从受影响资源所在的账户中获取并丰富这些发现。有关更多信息,请参阅配置 Security Hub。

快速运行

使用默认过滤器从 AWS Security Hub 读取安全发现,并执行默认的上下文选项:```bash ./metahub

读取按ID过滤的特定AWS Security Hub安全发现,并执行默认上下文选项:```bash
./metahub --sh-filters Id=arn:aws:securityhub:us-east-1:123456789012:security-control/CloudFront.1/finding/8bd4d049-dcbc-445b-a5d1-595d8274b4c1

从 AWS Security Hub 中读取影响某个资源的所有处于 ACTIVE 状态的安全发现(通过 ResourceId 和 RecordState 过滤),并执行默认上下文选项:```bash ./metahub --sh-filters RecordState=ACTIVE ResourceId=arn:aws:ec2:eu-west-1:123456789012:subnet/subnet-0b7d243ff90ebc03e

读取所有影响 AWS 账户且状态为 ACTIVE 的安全发现(通过 AwsAccountId 和 RecordState 筛选),这些发现针对带有标签 `Environment` 且值为 `stg` 的资源,并执行上下文选项 `config` 和 `tags`。```bash
./metahub --sh-filters RecordState=ACTIVE AwsAccountId=123456789012 --mh-filters-tags Environment=stg --context config tags

Quick Run (从输入的ASFF文件读取发现项)

从Prowler读取您的安全发现项作为输入文件,并执行默认的上下文选项:```bash python3 prowler.py aws -M json-asff -q ./metahub --inputs file-asff --input-asff /path/to/prowler-findings.json.asff

从Powerpipe读取安全发现作为输入文件,并执行默认的上下文选项:```bash
powerpipe benchmark run aws_compliance.benchmark.all_controls --export asff
./metahub --inputs file-asff --input-asff /path/to/powerpipe-findings.json.asff

从 Trivy 读取安全发现作为输入文件,并执行默认上下文选项:```bash export AWS_REGION=us-west-1 export AWS_ACCOUNT_ID=012345678901 trivy image --format template --template "@contrib/asff.tpl" -o trivy-findings.json.asff public.ecr.aws/n2p8q5p4/metahub:stable ./metahub --inputs file-asff --input-asff /path/to/trivy-findings.json.asff

# Context

在 **MetaHub** 中,**上下文**指的是受影响资源的相关信息,如**配置**、**关联关系**、**日志**、**标签**和**账户**。

MetaHub 不仅分析受影响资源本身,还会分析所有关联或附带的资源。例如,如果一个安全发现存在于安全组上,**MetaHub** 将分析该安全组及其关联的所有内容,比如使用该安全组的 EC2 实例。对于每个关联资源,**MetaHub** 会获取其上下文。如果安全组附加到了 EC2 实例,**MetaHub** 会分析该实例及其所有关联项,例如 IAM 角色和策略。仅凭安全组上的一个安全发现,**MetaHub** 就能获取安全组、EC2 实例、IAM 角色和 IAM 策略的上下文。这对于理解安全发现的影响至关重要。

**上下文**模块包含五个主要部分:[**config**](#config)(包括[**associations**](#associations))、[**tags**](#tags)、[**cloudtrail**](#cloudtrail) 和 [**account**](#account)。默认情况下仅启用 **config**、**tags** 和 **account**,但你可以通过 `--context` 选项更改此行为(例如,使用 `--context config tags cloudtrail account` 启用所有上下文键,或使用 `--context config` 仅启用 config 和 associations 键)。

## Config

在 `config` 键下,你可以找到受影响资源的重要配置信息。例如,如果受影响资源是 S3 存储桶,你将看到其存储桶策略、ACL、加密配置等信息。如果受影响资源是 EC2 实例,你将看到其密钥、公网和内网 IP、元数据等信息。**MetaHub** 获取的配置信息按资源类型定义。如果你想添加更多配置信息,请参阅[贡献指南](#contributing)。

你可以使用选项 `--mh-filters-config <key> {True/False}` 基于配置输出来过滤发现(请参阅[配置过滤器](#config-filters))。

<details>
  <summary>S3 存储桶配置键示例</summary>```json
"config": {
  "resource_policy": {
    "Version": "2012-10-17",
    "Statement": [
      {
        "Sid": "Test",
        "Effect": "Allow",
        "Principal": {
          "Service": "config.amazonaws.com"
        },
        "Action": "s3:GetBucketAcl",
        "Resource": "arn:aws:s3:::metahub-bucket",
        "Condition": {
          "StringEquals": {
            "AWS:SourceAccount": "123456789012"
          }
        }
      },
    ]
  },
  "website_enabled": false,
  "bucket_acl": [
    {
      "Grantee": {
        "DisplayName": "gabriel.soltz",
        "ID": "1234564bd76c6c64080717b68eafaa588b41706daaf22d3d0705b398bd7cbd57",
        "Type": "CanonicalUser"
      },
      "Permission": "FULL_CONTROL"
    }
  ],
  "cannonical_user_id": "1234564bd76c6c64080717b68eafaa588b41706daaf22d3d0705b398bd7cbd57",
  "public_access_block_enabled": {
    "BlockPublicAcls": true,
    "IgnorePublicAcls": true,
    "BlockPublicPolicy": true,
    "RestrictPublicBuckets": true
  },
  "account_public_access_block_enabled": false,
  "public": false,
  "bucket_encryption": [
    {
      "ApplyServerSideEncryptionByDefault": {
        "SSEAlgorithm": "AES256"
      },
      "BucketKeyEnabled": false
    }
  ]
},

关联

在 associations 键下,您将找到受影响资源的所有关联资源。例如,如果受影响资源是 EC2 实例,您将找到诸如:安全组、IAM 角色、卷、VPC、子网、自动伸缩组等资源。如果受影响资源是 IAM 角色,您将找到诸如 IAM 策略、IAM 用户、IAM 组等资源。每次 MetaHub 发现一个关联,它将再次连接到该关联资源并获取其自己的上下文。关联是理解安全发现上下文和影响的关键。

您可以使用选项基于关联输出来过滤您的发现:--mh-filters-config <key> {True/False}(参见 配置过滤器)。

下载工具