securityalert

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: 13 Imported by: 0

Documentation

Overview

Package securityalert implements the aws.security_alert source plugin.

It emits vendor-neutral security_alert evidence records. AWS-specific detection is expressed as CloudWatch Logs metric filters (a filter pattern over CloudTrail events) wired to CloudWatch metric alarms. The vendor-specific knowledge of which filter pattern means which kind of security event lives HERE, in the plugin: each metric filter is classified into a normalized event_class enum. Policies then check "an active alert exists for event class X" without ever touching an AWS filter pattern.

Index

Constants

View Source
const EvidenceTypeID = "security_alert"

EvidenceTypeID is the single evidence type this plugin emits.

View Source
const SourceID = "aws.security_alert"

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

Variables

This section is empty.

Functions

This section is empty.

Types

type API

type API interface {
	DescribeMetricFilters(ctx context.Context, params *cwl.DescribeMetricFiltersInput, optFns ...func(*cwl.Options)) (*cwl.DescribeMetricFiltersOutput, error)
	DescribeAlarms(ctx context.Context, params *cw.DescribeAlarmsInput, optFns ...func(*cw.Options)) (*cw.DescribeAlarmsOutput, error)
}

API is the subset of AWS clients this plugin uses.

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_alert 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 clients.

func (*Plugin) Collect

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

Collect lists CloudWatch metric filters and alarms, classifies each metric filter into a normalized event_class, and emits one security_alert record per metric filter that maps to a recognized event class.

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