Documentation
¶
Index ¶
- type AttackerProfile
- func (p *AttackerProfile) Assumptions() string
- func (p *AttackerProfile) Capabilities() Capabilities
- func (p *AttackerProfile) CreatedAt() time.Time
- func (p *AttackerProfile) Description() string
- func (p *AttackerProfile) ID() shared.ID
- func (p *AttackerProfile) IsDefault() bool
- func (p *AttackerProfile) Name() string
- func (p *AttackerProfile) ProfileType() ProfileType
- func (p *AttackerProfile) SetAssumptions(assumptions string)
- func (p *AttackerProfile) SetCapabilities(caps Capabilities)
- func (p *AttackerProfile) SetDescription(desc string)
- func (p *AttackerProfile) TenantID() shared.ID
- type AttackerProfileData
- type Capabilities
- type ProfileType
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) 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" )
Click to show internal directories.
Click to hide internal directories.