Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Category ¶
type Category string
Category represents the category of a security rule
const ( MaliciousPattern Category = "MALICIOUS_PATTERN" Misconfiguration Category = "MISCONFIGURATION" SecretExposure Category = "SECRET_EXPOSURE" ShellObfuscation Category = "SHELL_OBFUSCATION" PolicyViolation Category = "POLICY_VIOLATION" SupplyChain Category = "SUPPLY_CHAIN" InjectionAttack Category = "INJECTION_ATTACK" SecretsExposure Category = "SECRETS_EXPOSURE" AccessControl Category = "ACCESS_CONTROL" PrivilegeEscalation Category = "PRIVILEGE_ESCALATION" DataExposure Category = "DATA_EXPOSURE" )
type ConfigInterface ¶
type ConfigInterface interface {
IsRuleEnabled(ruleID string) bool
ShouldIgnoreForRule(ruleID, text, filePath string) bool
ShouldIgnoreSecret(text, context string) bool
}
ConfigInterface defines the interface for configuration
type Finding ¶
type Finding struct {
RuleID string
RuleName string
Description string
Severity Severity
Category Category
FilePath string
JobName string
StepName string
Evidence string
Remediation string
LineNumber int // Line number where the issue was found
}
Finding represents a detected security issue
type Rule ¶
type Rule struct {
ID string
Name string
Description string
Severity Severity
Category Category
Check func(workflow parser.WorkflowFile) []Finding
}
Rule represents a security rule to check in a workflow
func StandardRules ¶
func StandardRules() []Rule
StandardRules returns the list of built-in security rules
type RuleEngine ¶
type RuleEngine struct {
// contains filtered or unexported fields
}
RuleEngine handles rule execution with configuration support
func NewRuleEngine ¶
func NewRuleEngine(config ConfigInterface) *RuleEngine
NewRuleEngine creates a new rule engine with configuration
func (*RuleEngine) ExecuteRules ¶
func (re *RuleEngine) ExecuteRules(workflow parser.WorkflowFile, rules []Rule) []Finding
ExecuteRules runs rules against a workflow with configuration filtering
Click to show internal directories.
Click to hide internal directories.