attackerprofile

package
v0.2.0 Latest Latest
Warning

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

Go to latest
Published: Apr 23, 2026 License: GPL-3.0 Imports: 3 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type AttackerProfile

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

AttackerProfile represents a threat model assumption for a CTEM cycle.

func NewAttackerProfile

func NewAttackerProfile(
	tenantID shared.ID,
	name string,
	profileType ProfileType,
	createdBy shared.ID,
) (*AttackerProfile, error)

NewAttackerProfile creates a new attacker profile.

func ReconstituteAttackerProfile

func ReconstituteAttackerProfile(data AttackerProfileData) *AttackerProfile

ReconstituteAttackerProfile recreates from persistence.

func (*AttackerProfile) Assumptions

func (p *AttackerProfile) Assumptions() string

func (*AttackerProfile) Capabilities

func (p *AttackerProfile) Capabilities() Capabilities

func (*AttackerProfile) CreatedAt

func (p *AttackerProfile) CreatedAt() time.Time

func (*AttackerProfile) Description

func (p *AttackerProfile) Description() string

func (*AttackerProfile) ID

func (p *AttackerProfile) ID() shared.ID

Getters

func (*AttackerProfile) IsDefault

func (p *AttackerProfile) IsDefault() bool

func (*AttackerProfile) Name

func (p *AttackerProfile) Name() string

func (*AttackerProfile) ProfileType

func (p *AttackerProfile) ProfileType() ProfileType

func (*AttackerProfile) SetAssumptions

func (p *AttackerProfile) SetAssumptions(assumptions string)

SetAssumptions updates the assumptions text.

func (*AttackerProfile) SetCapabilities

func (p *AttackerProfile) SetCapabilities(caps Capabilities)

SetCapabilities updates the capabilities.

func (*AttackerProfile) SetDescription

func (p *AttackerProfile) SetDescription(desc string)

SetDescription updates the description.

func (*AttackerProfile) TenantID

func (p *AttackerProfile) TenantID() shared.ID

type AttackerProfileData

type AttackerProfileData struct {
	ID           shared.ID
	TenantID     shared.ID
	Name         string
	ProfileType  ProfileType
	Description  string
	Capabilities Capabilities
	Assumptions  string
	IsDefault    bool
	CreatedBy    *shared.ID
	CreatedAt    time.Time
	UpdatedAt    time.Time
}

AttackerProfileData is the persistence representation.

type Capabilities

type Capabilities struct {
	NetworkAccess   string   `json:"network_access"`   // external, internal, physical
	CredentialLevel string   `json:"credential_level"` // none, user, admin
	Persistence     bool     `json:"persistence"`
	Tools           []string `json:"tools"` // commodity, custom, zero-day, osint, etc.
}

Capabilities describes what the attacker can do.

type ProfileType

type ProfileType string

ProfileType represents the category of attacker profile.

const (
	ProfileExternalUnauth      ProfileType = "external_unauth"
	ProfileExternalStolenCreds ProfileType = "external_stolen_creds"
	ProfileMaliciousInsider    ProfileType = "malicious_insider"
	ProfileSupplierCompromise  ProfileType = "supplier_compromise"
	ProfileCustom              ProfileType = "custom"
)

Jump to

Keyboard shortcuts

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