Documentation
¶
Index ¶
- Constants
- func BuildEventMarkdown(events []*aop.Event) string
- func CompactStrings(values ...string) []string
- func FirstNonEmpty(values ...string) string
- func FormatLine(prefix, body string, color Color) string
- func OutputPrefix(source string, colorFn func(string) string) string
- func ReadJSONL(path string) ([]*aop.Event, error)
- func RenderEventFile(path, format, outputPath string) error
- func RenderEvents(w io.Writer, events []*aop.Event) error
- func RenderEventsMarkdown(w io.Writer, events []*aop.Event) error
- func SanitizeLine(line string, color Color) string
- func ScanJSONL(path string, visit func(*aop.Event) error) error
- func StripANSI(s string) string
- func TruncateStr(s string, maxLen int) string
- func ValidateJSONLTarget(path string) error
- type ArtifactResult
- type Color
- func (c Color) Bold(s string) string
- func (c Color) Code(code string) string
- func (c Color) Cyan(s string) string
- func (c Color) Dim(s string) string
- func (c Color) ForPriority(p string) func(string) string
- func (c Color) Green(s string) string
- func (c Color) GreenBold(s string) string
- func (c Color) Red(s string) string
- func (c Color) Status(s string) string
- func (c Color) Wrap(s, code string) string
- func (c Color) Yellow(s string) string
- func (c Color) YellowBold(s string) string
- type Error
- type JSONLRecorder
- type Loot
- type ScanResult
- type Summary
Constants ¶
View Source
const ( ANSIReset = "\033[0m" ANSIBold = "\033[1m" ANSIDim = "\033[2m" ANSIRed = "\033[31m" ANSIGreen = "\033[32m" ANSIYellow = "\033[33m" ANSICyan = "\033[36m" )
View Source
const ( LootFingerprint = parsers.LootFingerprint LootWeakpass = parsers.LootWeakpass LootVuln = parsers.LootVuln )
Variables ¶
This section is empty.
Functions ¶
func BuildEventMarkdown ¶
func CompactStrings ¶
func FirstNonEmpty ¶
func FormatLine ¶
func RenderEventFile ¶
RenderEventFile renders an AOP Event ProtoJSONL file.
func SanitizeLine ¶
func ScanJSONL ¶
ScanJSONL decodes the canonical append-only AOP event stream one line at a time. Empty and non-JSON lines are ignored; malformed AOP event lines fail.
func TruncateStr ¶
func ValidateJSONLTarget ¶
Types ¶
type ArtifactResult ¶
type ArtifactResult struct {
ResultID string `json:"result_id"`
Tool string `json:"tool"`
Kind string `json:"kind"`
Target string `json:"target"`
Data any `json:"data"`
}
ArtifactResult keeps the scanner-native result paired with a Loot marker. Data is serialized directly into aop.tool.Artifact without reshaping.
type JSONLRecorder ¶
type JSONLRecorder struct {
// contains filtered or unexported fields
}
JSONLRecorder is the single append-only subscriber for persisted AOP events.
func NewJSONLRecorder ¶
func (*JSONLRecorder) Close ¶
func (r *JSONLRecorder) Close() error
func (*JSONLRecorder) Path ¶
func (r *JSONLRecorder) Path() string
func (*JSONLRecorder) Switch ¶
func (r *JSONLRecorder) Switch(path string) error
type ScanResult ¶ added in v0.4.0
type ScanResult struct {
Summary Summary `json:"summary"`
GOGO []*parsers.GOGOResult `json:"gogo,omitempty"`
Spray []*parsers.SprayResult `json:"spray,omitempty"`
Artifacts []ArtifactResult `json:"artifacts,omitempty"`
Loots []Loot `json:"loots,omitempty"`
Errors []Error `json:"errors,omitempty"`
}
ScanResult is private collector state. Scanner-native records leave a node only as canonical aop.tool.Artifact messages.
type Summary ¶
type Summary struct {
Inputs int `json:"inputs"`
Ports int `json:"ports"`
Web int `json:"web"`
URLs int `json:"urls"`
Findings int `json:"findings"`
Errors int `json:"errors"`
Tasks int64 `json:"tasks"`
Requests int64 `json:"requests"`
Duration string `json:"duration"`
StartedAt time.Time `json:"started_at,omitempty"`
FinishedAt time.Time `json:"finished_at,omitempty"`
}
Click to show internal directories.
Click to hide internal directories.