audit

package
v0.7.2 Latest Latest
Warning

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

Go to latest
Published: Apr 17, 2026 License: BSD-2-Clause Imports: 5 Imported by: 0

Documentation

Index

Constants

View Source
const (
	StatusOpen       = "open"
	StatusInProgress = "in_progress"
	StatusResolved   = "resolved"
	StatusAccepted   = "accepted" // risk accepted, will not fix
)

Finding status constants.

Variables

This section is empty.

Functions

This section is empty.

Types

type Audit

type Audit struct {
	ID        string `yaml:"id"`
	Title     string `yaml:"title"`
	Date      string `yaml:"date"`
	Assurance string `yaml:"assurance"`
	Scope     string `yaml:"scope"`
	Method    string `yaml:"method"`
}

type AuditFile

type AuditFile struct {
	Audit    Audit     `yaml:"audit"`
	Findings []Finding `yaml:"findings"`
}

type AuditSet

type AuditSet struct {
	Files             []LoadedFile
	FindingsByID      map[string]*FindingRef
	FindingsByControl map[string][]*FindingRef
}

func Load

func Load(auditsDir string) (*AuditSet, error)

type Evidence

type Evidence struct {
	Type        string `yaml:"type"`
	Ref         string `yaml:"ref"`
	Description string `yaml:"description"`
	CollectedAt string `yaml:"collected_at,omitempty"`
}

type Finding

type Finding struct {
	ID            string              `yaml:"id"`
	Title         string              `yaml:"title"`
	Severity      string              `yaml:"severity"`
	Status        string              `yaml:"status"`
	Owner         string              `yaml:"owner"`
	Controls      []string            `yaml:"controls"`
	Description   string              `yaml:"description"`
	EUDIReqs      []string            `yaml:"eudi_reqs,omitempty"`
	AnnexA        []string            `yaml:"annex_a,omitempty"`
	GDPRItems     []string            `yaml:"gdpr_items,omitempty"`
	ASVSSections  []string            `yaml:"asvs_sections,omitempty"`
	FrameworkRefs map[string][]string `yaml:"framework_refs,omitempty"` // framework ID -> requirement IDs (generic)
	TrackingIssue *IssueRef           `yaml:"tracking_issue,omitempty"`
	Issues        []IssueRef          `yaml:"issues,omitempty"`
	PullRequests  []IssueRef          `yaml:"pull_requests,omitempty"`
	Evidence      []Evidence          `yaml:"evidence,omitempty"`
	ResolvedDate  string              `yaml:"resolved_date,omitempty"`
}

func (*Finding) AddEvidence

func (f *Finding) AddEvidence(ev Evidence)

func (*Finding) HasEvidence

func (f *Finding) HasEvidence() bool

func (*Finding) IsActive added in v0.3.1

func (f *Finding) IsActive() bool

IsActive reports whether the finding is actively being worked on.

func (*Finding) IsResolved

func (f *Finding) IsResolved() bool

func (*Finding) IsTerminal added in v0.3.1

func (f *Finding) IsTerminal() bool

IsTerminal reports whether the finding status represents a final state.

func (*Finding) MatchesReq added in v0.4.0

func (f *Finding) MatchesReq(fwID, reqID string) bool

MatchesReq reports whether the finding references the given requirement in the specified framework. Checks both the generic FrameworkRefs map and the legacy per-framework fields for backward compatibility.

type FindingRef

type FindingRef struct {
	File    *LoadedFile
	Index   int
	Finding *Finding
}

type IssueRef

type IssueRef struct {
	Repo   string `yaml:"repo"`
	Number int    `yaml:"number"`
}

type LoadedFile

type LoadedFile struct {
	Path string
	Data AuditFile
}

func (*LoadedFile) Save

func (lf *LoadedFile) Save() error

Jump to

Keyboard shortcuts

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