securityservices

package
v0.64.21 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jun 28, 2026 License: Apache-2.0 Imports: 15 Imported by: 0

Documentation

Overview

Package securityservices implements the aws.security_services source plugin: probes account-level enablement of AWS Macie, Inspector, and SecurityHub and emits one security_service evidence record per service.

Index

Constants

View Source
const EvidenceTypeID = "security_service"

EvidenceTypeID is the evidence type this plugin emits.

View Source
const SourceID = "aws.security_services"

SourceID is the registered ID for the aws.security_services plugin instance.

Variables

This section is empty.

Functions

This section is empty.

Types

type API

type API interface {
	GetMacieSession(ctx context.Context, params *macie2.GetMacieSessionInput, optFns ...func(*macie2.Options)) (*macie2.GetMacieSessionOutput, error)
	BatchGetAccountStatus(ctx context.Context, params *inspector2.BatchGetAccountStatusInput, optFns ...func(*inspector2.Options)) (*inspector2.BatchGetAccountStatusOutput, error)
	DescribeHub(ctx context.Context, params *securityhub.DescribeHubInput, optFns ...func(*securityhub.Options)) (*securityhub.DescribeHubOutput, error)
}

API is the subset of the AWS clients this plugin uses. Injecting one interface lets tests substitute a single fake for all three services.

type Options

type Options struct {
	API    API
	Region string
	Now    func() time.Time
}

Options is the constructor input.

type Plugin

type Plugin struct {
	// contains filtered or unexported fields
}

Plugin is the in-process aws.security_services source.

func New

func New(opts Options) *Plugin

New constructs a Plugin around an explicit API implementation.

func NewFromAWS

func NewFromAWS(ctx context.Context, region string) (*Plugin, error)

NewFromAWS constructs a Plugin backed by the real AWS SDK.

func (*Plugin) Collect

func (p *Plugin) Collect(ctx context.Context, req core.SlotRequest) ([]core.EvidenceRecord, error)

Collect probes each security service's account-level enablement and returns exactly one record per service (3 records, sorted by ID).

func (*Plugin) Emits

func (*Plugin) Emits() []string

Emits returns the evidence types this plugin can produce.

func (*Plugin) ID

func (*Plugin) ID() string

ID returns the registered plugin ID.

func (*Plugin) Init

func (*Plugin) Init(context.Context, map[string]any) error

Init is a no-op; configuration is supplied to the constructor.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL