advanced

package
v0.1.21 Latest Latest
Warning

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

Go to latest
Published: Oct 21, 2025 License: BSD-2-Clause Imports: 3 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var AvailableTechniques = map[string]Technique{
	"typosquatting":        &TyposquattingTechnique{},
	"bitsquatting":         &BitsquattingTechnique{},
	"homographic":          &HomographicTechnique{},
	"insertion":            &InsertionTechnique{},
	"deletion":             &DeletionTechnique{},
	"transposition":        &TranspositionTechnique{},
	"tld_variation":        &TLDVariationTechnique{},
	"subdomain_pattern":    &SubdomainPatternTechnique{},
	"suffix_impersonation": &SuffixImpersonationTechnique{},
}

Registry de técnicas disponíveis

Functions

func SetFocusSuffix

func SetFocusSuffix(s string)

func SetSpanLast3

func SetSpanLast3(v bool)

SetSpanLast3 toggles the strategy to operate over the last 3 labels (label = 3rd from right, suffix = last 2 labels) when possible.

Types

type AnalysisResult

type AnalysisResult struct {
	Variation   Variation
	Similarity  float64
	ThreatScore float64
	Indicators  []string
}

type BitsquattingTechnique

type BitsquattingTechnique struct{}

=================== BITSQUATTING ===================

func (*BitsquattingTechnique) Generate

func (t *BitsquattingTechnique) Generate(domain string, tlds []string) []Variation

func (*BitsquattingTechnique) GetConfidence

func (t *BitsquattingTechnique) GetConfidence() float64

func (*BitsquattingTechnique) GetRiskLevel

func (t *BitsquattingTechnique) GetRiskLevel() string

func (*BitsquattingTechnique) Name

func (t *BitsquattingTechnique) Name() string

type DeletionTechnique

type DeletionTechnique struct{}

=================== DELETION ===================

func (*DeletionTechnique) Generate

func (t *DeletionTechnique) Generate(domain string, tlds []string) []Variation

func (*DeletionTechnique) GetConfidence

func (t *DeletionTechnique) GetConfidence() float64

func (*DeletionTechnique) GetRiskLevel

func (t *DeletionTechnique) GetRiskLevel() string

func (*DeletionTechnique) Name

func (t *DeletionTechnique) Name() string

type GeneratorOptions

type GeneratorOptions struct {
	Techniques    []string
	MaxVariations int
	TargetTLDs    []string
}

type HomographicTechnique

type HomographicTechnique struct{}

=================== HOMOGRAPHIC ===================

func (*HomographicTechnique) Generate

func (t *HomographicTechnique) Generate(domain string, tlds []string) []Variation

func (*HomographicTechnique) GetConfidence

func (t *HomographicTechnique) GetConfidence() float64

func (*HomographicTechnique) GetRiskLevel

func (t *HomographicTechnique) GetRiskLevel() string

func (*HomographicTechnique) Name

func (t *HomographicTechnique) Name() string

type InsertionTechnique

type InsertionTechnique struct{}

=================== INSERTION ===================

func (*InsertionTechnique) Generate

func (t *InsertionTechnique) Generate(domain string, tlds []string) []Variation

func (*InsertionTechnique) GetConfidence

func (t *InsertionTechnique) GetConfidence() float64

func (*InsertionTechnique) GetRiskLevel

func (t *InsertionTechnique) GetRiskLevel() string

func (*InsertionTechnique) Name

func (t *InsertionTechnique) Name() string

type RiskAnalyzer

type RiskAnalyzer struct {
	BaseDomain string
}

Analisador de risco e similaridade

func NewRiskAnalyzer

func NewRiskAnalyzer(baseDomain string) *RiskAnalyzer

func (*RiskAnalyzer) AnalyzeVariation

func (ra *RiskAnalyzer) AnalyzeVariation(variation Variation) AnalysisResult

type SubdomainPatternTechnique

type SubdomainPatternTechnique struct{}

=================== SUBDOMAIN PATTERNS ===================

func (*SubdomainPatternTechnique) Generate

func (t *SubdomainPatternTechnique) Generate(domain string, tlds []string) []Variation

func (*SubdomainPatternTechnique) GetConfidence

func (t *SubdomainPatternTechnique) GetConfidence() float64

func (*SubdomainPatternTechnique) GetRiskLevel

func (t *SubdomainPatternTechnique) GetRiskLevel() string

func (*SubdomainPatternTechnique) Name

type SuffixImpersonationTechnique

type SuffixImpersonationTechnique struct{}

=================== SUFFIX IMPERSONATION (e.g., gov.br -> g0v.br) ===================

func (*SuffixImpersonationTechnique) Generate

func (t *SuffixImpersonationTechnique) Generate(domain string, tlds []string) []Variation

func (*SuffixImpersonationTechnique) GetConfidence

func (t *SuffixImpersonationTechnique) GetConfidence() float64

func (*SuffixImpersonationTechnique) GetRiskLevel

func (t *SuffixImpersonationTechnique) GetRiskLevel() string

func (*SuffixImpersonationTechnique) Name

type TLDVariationTechnique

type TLDVariationTechnique struct{}

=================== TLD VARIATIONS ===================

func (*TLDVariationTechnique) Generate

func (t *TLDVariationTechnique) Generate(domain string, tlds []string) []Variation

func (*TLDVariationTechnique) GetConfidence

func (t *TLDVariationTechnique) GetConfidence() float64

func (*TLDVariationTechnique) GetRiskLevel

func (t *TLDVariationTechnique) GetRiskLevel() string

func (*TLDVariationTechnique) Name

func (t *TLDVariationTechnique) Name() string

type Technique

type Technique interface {
	Name() string
	Generate(domain string, tlds []string) []Variation
	GetRiskLevel() string
	GetConfidence() float64
}

Interface para técnicas de geração

type TechniqueConfig

type TechniqueConfig struct {
	Name       string
	Enabled    bool
	Weight     float64
	MaxResults int
}

type ThreatIndicators

type ThreatIndicators struct {
	SuspiciousTLD      bool    // .tk, .ml, etc.
	PhishingKeywords   bool    // secure-, login-, etc.
	RecentRegistration bool    // < 30 days
	UnicodeUsage       bool    // Non-ASCII chars
	HighSimilarity     float64 // Levenshtein distance
}

type TranspositionTechnique

type TranspositionTechnique struct{}

=================== TRANSPOSITION ===================

func (*TranspositionTechnique) Generate

func (t *TranspositionTechnique) Generate(domain string, tlds []string) []Variation

func (*TranspositionTechnique) GetConfidence

func (t *TranspositionTechnique) GetConfidence() float64

func (*TranspositionTechnique) GetRiskLevel

func (t *TranspositionTechnique) GetRiskLevel() string

func (*TranspositionTechnique) Name

func (t *TranspositionTechnique) Name() string

type TyposquattingTechnique

type TyposquattingTechnique struct{}

=================== TYPOSQUATTING ===================

func (*TyposquattingTechnique) Generate

func (t *TyposquattingTechnique) Generate(domain string, tlds []string) []Variation

func (*TyposquattingTechnique) GetConfidence

func (t *TyposquattingTechnique) GetConfidence() float64

func (*TyposquattingTechnique) GetRiskLevel

func (t *TyposquattingTechnique) GetRiskLevel() string

func (*TyposquattingTechnique) Name

func (t *TyposquattingTechnique) Name() string

type Variation

type Variation struct {
	Domain     string
	Technique  string
	Confidence float64
	Risk       string // "high", "medium", "low"
	BaseDomain string
	Similarity float64
}

type VariationGenerator

type VariationGenerator struct {
	BaseDomain string
	Options    GeneratorOptions
	// contains filtered or unexported fields
}

func NewVariationGenerator

func NewVariationGenerator(domain string, opts GeneratorOptions) *VariationGenerator

func (*VariationGenerator) GenerateAll

func (vg *VariationGenerator) GenerateAll() []Variation

Jump to

Keyboard shortcuts

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