Documentation
¶
Index ¶
- Constants
- type CrawlCreateResponse
- type CrawlError
- type CrawlFlow
- type CrawlForm
- type CrawlGetResponse
- type CrawlPollResponse
- type CrawlSeedResponse
- type CrawlSession
- type CrawlSessionsResponse
- type CrawlStatusResponse
- type FlowEntry
- type FormInput
- type OastCreateResponse
- type OastEvent
- type OastGetResponse
- type OastListResponse
- type OastPollResponse
- type OastSession
- type OastSummaryEntry
- type ProxyGetResponse
- type ProxyPollResponse
- type ReplayGetResponse
- type ReplaySendResponse
- type RequestLine
- type ResponseDetails
- type RuleEntry
- type RuleListResponse
- type SummaryEntry
Constants ¶
const ( WorkflowModeNone = "none" WorkflowModeExplore = "explore" WorkflowModeTestReport = "test-report" WorkflowModeCLI = "cli" // undocumented, for CLI client use only )
Workflow mode constants
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type CrawlCreateResponse ¶
type CrawlCreateResponse struct {
SessionID string `json:"session_id"`
Label string `json:"label,omitempty"`
State string `json:"state"`
CreatedAt string `json:"created_at"`
}
CrawlCreateResponse is the response for crawl_create.
type CrawlError ¶
type CrawlError struct {
URL string `json:"url"`
Status int `json:"status,omitempty"`
Error string `json:"error"`
}
CrawlError is a crawl error.
type CrawlFlow ¶
type CrawlFlow struct {
FlowID string `json:"flow_id"`
Method string `json:"method"`
Host string `json:"host"`
Path string `json:"path"`
Status int `json:"status"`
ResponseLength int `json:"response_length"`
Duration string `json:"duration"`
FoundOn string `json:"found_on,omitempty"`
}
CrawlFlow is a crawled request/response summary.
type CrawlForm ¶
type CrawlForm struct {
FormID string `json:"form_id"`
URL string `json:"url"`
Action string `json:"action"`
Method string `json:"method"`
HasCSRF bool `json:"has_csrf"`
Inputs []FormInput `json:"inputs"`
}
CrawlForm is a discovered form.
type CrawlGetResponse ¶
type CrawlGetResponse struct {
FlowID string `json:"flow_id"`
Method string `json:"method"`
URL string `json:"url"`
FoundOn string `json:"found_on,omitempty"`
Depth int `json:"depth"`
ReqHeaders string `json:"request_headers"`
ReqHeadersParsed map[string][]string `json:"request_headers_parsed,omitempty"`
ReqBody string `json:"request_body"`
ReqSize int `json:"request_size"`
Status int `json:"status"`
StatusLine string `json:"status_line"`
RespHeaders string `json:"response_headers"`
RespHeadersParsed map[string][]string `json:"response_headers_parsed,omitempty"`
RespBody string `json:"response_body"`
RespSize int `json:"response_size"`
Truncated bool `json:"truncated,omitempty"`
Duration string `json:"duration"`
}
CrawlGetResponse is the response for crawl_get.
type CrawlPollResponse ¶
type CrawlPollResponse struct {
SessionID string `json:"session_id"`
State string `json:"state,omitempty"`
Duration string `json:"duration,omitempty"` // summary only
Aggregates []SummaryEntry `json:"aggregates,omitempty"`
Flows []CrawlFlow `json:"flows,omitempty"`
Forms []CrawlForm `json:"forms,omitempty"`
Errors []CrawlError `json:"errors,omitempty"`
}
CrawlPollResponse is the unified response for crawl_poll.
type CrawlSeedResponse ¶
type CrawlSeedResponse struct {
AddedCount int `json:"added_count"`
}
CrawlSeedResponse is the response for crawl_seed.
type CrawlSession ¶
type CrawlSession struct {
SessionID string `json:"session_id"`
Label string `json:"label,omitempty"`
State string `json:"state"`
CreatedAt string `json:"created_at"`
}
CrawlSession is a crawl session entry.
type CrawlSessionsResponse ¶
type CrawlSessionsResponse struct {
Sessions []CrawlSession `json:"sessions"`
}
CrawlSessionsResponse is the response for crawl_sessions.
type CrawlStatusResponse ¶
type CrawlStatusResponse struct {
State string `json:"state"`
URLsQueued int `json:"urls_queued"`
URLsVisited int `json:"urls_visited"`
URLsErrored int `json:"urls_errored"`
FormsDiscovered int `json:"forms_discovered"`
Duration string `json:"duration"`
LastActivity string `json:"last_activity"`
ErrorMessage string `json:"error_message,omitempty"`
}
CrawlStatusResponse is the response for crawl_status.
type FlowEntry ¶
type FlowEntry struct {
FlowID string `json:"flow_id"`
Method string `json:"method"`
Scheme string `json:"scheme"`
Host string `json:"host"`
Port int `json:"port,omitempty"`
Path string `json:"path"`
Status int `json:"status"`
ResponseLength int `json:"response_length"`
Source string `json:"source,omitempty"` // "proxy" or "replay"
}
FlowEntry represents a single proxy history entry in list view.
type FormInput ¶
type FormInput struct {
Name string `json:"name"`
Type string `json:"type"`
Value string `json:"value,omitempty"`
Required bool `json:"required,omitempty"`
}
FormInput is a form input field.
type OastCreateResponse ¶
type OastCreateResponse struct {
OastID string `json:"oast_id"`
Domain string `json:"domain"`
Label string `json:"label,omitempty"`
}
OastCreateResponse is the response for oast_create.
type OastEvent ¶
type OastEvent struct {
EventID string `json:"event_id"`
Time string `json:"time"`
Type string `json:"type"`
SourceIP string `json:"source_ip"`
Subdomain string `json:"subdomain,omitempty"`
Details map[string]interface{} `json:"details,omitempty"`
}
OastEvent represents a single OAST interaction event.
type OastGetResponse ¶
type OastGetResponse struct {
EventID string `json:"event_id"`
Time string `json:"time"`
Type string `json:"type"`
SourceIP string `json:"source_ip"`
Subdomain string `json:"subdomain,omitempty"`
Details map[string]interface{} `json:"details,omitempty"`
}
OastGetResponse is the response for oast_get.
type OastListResponse ¶
type OastListResponse struct {
Sessions []OastSession `json:"sessions"`
}
OastListResponse is the response for oast_list.
type OastPollResponse ¶
type OastPollResponse struct {
Aggregates []OastSummaryEntry `json:"aggregates,omitempty"` // summary mode
Events []OastEvent `json:"events,omitempty"` // list mode
DroppedCount int `json:"dropped_count,omitempty"`
}
OastPollResponse is the response for oast_poll.
type OastSession ¶
type OastSession struct {
OastID string `json:"oast_id"`
Domain string `json:"domain"`
Label string `json:"label,omitempty"`
CreatedAt string `json:"created_at"`
}
OastSession represents an active OAST session.
type OastSummaryEntry ¶
type OastSummaryEntry struct {
Subdomain string `json:"subdomain"`
SourceIP string `json:"source_ip"`
Type string `json:"type"`
Count int `json:"count"`
}
OastSummaryEntry represents aggregated OAST events by (subdomain, source_ip, type).
type ProxyGetResponse ¶
type ProxyGetResponse struct {
FlowID string `json:"flow_id"`
Method string `json:"method"`
URL string `json:"url"`
ReqHeaders string `json:"request_headers"`
ReqHeadersParsed map[string][]string `json:"request_headers_parsed,omitempty"`
ReqLine *RequestLine `json:"request_line,omitempty"`
ReqBody string `json:"request_body"`
ReqSize int `json:"request_size"`
Status int `json:"status"`
StatusLine string `json:"status_line"`
RespHeaders string `json:"response_headers"`
RespHeadersParsed map[string][]string `json:"response_headers_parsed,omitempty"`
RespBody string `json:"response_body"`
RespSize int `json:"response_size"`
}
ProxyGetResponse is the response for proxy_get.
type ProxyPollResponse ¶
type ProxyPollResponse struct {
Aggregates []SummaryEntry `json:"aggregates,omitempty"` // summary mode
Flows []FlowEntry `json:"flows,omitempty"` // list mode
}
ProxyPollResponse is the unified response for proxy_poll.
type ReplayGetResponse ¶
type ReplayGetResponse struct {
ReplayID string `json:"replay_id"`
Duration string `json:"duration"`
Status int `json:"status"`
StatusLine string `json:"status_line"`
RespHeaders string `json:"response_headers"`
RespHeadersParsed map[string][]string `json:"response_headers_parsed,omitempty"`
RespBody string `json:"response_body"`
RespSize int `json:"response_size"`
}
ReplayGetResponse is the response for replay_get.
type ReplaySendResponse ¶
type ReplaySendResponse struct {
ReplayID string `json:"replay_id"`
Duration string `json:"duration"`
ResponseDetails
}
ReplaySendResponse is the response for replay_send.
type RequestLine ¶
RequestLine contains path and version from the HTTP request line.
type ResponseDetails ¶
type ResponseDetails struct {
Status int `json:"status"`
StatusLine string `json:"status_line"`
RespHeaders string `json:"response_headers"`
RespPreview string `json:"response_preview,omitempty"`
RespSize int `json:"response_size"`
}
ResponseDetails contains HTTP response summary fields.
type RuleEntry ¶
type RuleEntry struct {
RuleID string `json:"rule_id"`
Type string `json:"type"`
Label string `json:"label,omitempty"`
IsRegex bool `json:"is_regex,omitempty"`
Match string `json:"match,omitempty"`
Replace string `json:"replace,omitempty"`
}
RuleEntry represents a match/replace rule.
type RuleListResponse ¶
type RuleListResponse struct {
Rules []RuleEntry `json:"rules"`
}
RuleListResponse is the response for proxy_rule_list.