Add server subnet discovery store, API, and agent policy push.
Some checks failed
CI Docker Mining Proof / Linux agent hashrate proof (push) Has been cancelled

This commit is contained in:
AetherForge
2026-06-07 12:13:51 -07:00
parent 825bf81131
commit 1f63824199
13 changed files with 695 additions and 15 deletions

View File

@@ -16,11 +16,6 @@ type RelayScanRequest struct {
UDPGuess bool `json:"udp_guess,omitempty"`
}
type UDPHint struct {
Port int `json:"port"`
Open bool `json:"open"`
Service string `json:"service"`
}
type RelayScanReport struct {
Host string `json:"host"`
@@ -97,7 +92,7 @@ func LocalRelayScan(req RelayScanRequest) (*RelayScanReport, error) {
return &RelayScanReport{
Host: host, ScannedAt: time.Now().UTC(), LocalReachable: true, ScannedVia: "server",
Ports: ports, UDPHints: udp, PathTracerHints: PathTracerHintsFromUDP(udp),
Recommendations: BuildRecommendations(ports, nil, nil, host, false),
Recommendations: BuildRecommendations(ports, nil, nil, shell.Host, false),
}, nil
}

View File

@@ -24,6 +24,12 @@ type PortResult struct {
Open bool `json:"open"`
}
type UDPHint struct {
Port int `json:"port"`
Open bool `json:"open"`
Service string `json:"service"`
}
type PortBanner struct {
Port int `json:"port"`
Service string `json:"service,omitempty"`
@@ -60,6 +66,23 @@ type URLFieldFinding struct {
Hint string `json:"hint"`
}
type UploadHunterFinding struct {
PageURL string `json:"page_url"`
Target string `json:"target,omitempty"`
Source string `json:"source"`
Method string `json:"method,omitempty"`
Tags []string `json:"tags,omitempty"`
Score int `json:"score"`
StatusCode int `json:"status_code,omitempty"`
}
type AdminSurfaceFinding struct {
Path string `json:"path"`
URL string `json:"url"`
StatusCode int `json:"status_code"`
Signal string `json:"signal"`
}
type PageFinding struct {
URL string `json:"url"`
StatusCode int `json:"status_code"`
@@ -67,14 +90,15 @@ type PageFinding struct {
}
type CrawlReport struct {
PagesFetched int `json:"pages_fetched"`
Pages []PageFinding `json:"pages,omitempty"`
FileInputs []FormFinding `json:"file_inputs,omitempty"`
MultipartForms []FormFinding `json:"multipart_forms,omitempty"`
URLFields []URLFieldFinding `json:"url_fields,omitempty"`
SSRFScore int `json:"ssrf_score"`
CMSFingerprints []string `json:"cms_fingerprints,omitempty"`
Stack []StackEntry `json:"stack,omitempty"`
PagesFetched int `json:"pages_fetched"`
Pages []PageFinding `json:"pages,omitempty"`
FileInputs []FormFinding `json:"file_inputs,omitempty"`
MultipartForms []FormFinding `json:"multipart_forms,omitempty"`
URLFields []URLFieldFinding `json:"url_fields,omitempty"`
SSRFScore int `json:"ssrf_score"`
CMSFingerprints []string `json:"cms_fingerprints,omitempty"`
Stack []StackEntry `json:"stack,omitempty"`
UploadHunter []UploadHunterFinding `json:"upload_hunter,omitempty"`
}
type DeployRecommendation struct {
@@ -111,6 +135,10 @@ type ScanReport struct {
Stack []StackEntry `json:"stack,omitempty"`
DeployKitLane string `json:"deploy_kit_lane,omitempty"`
Crawl *CrawlReport `json:"crawl,omitempty"`
AdminSurface []AdminSurfaceFinding `json:"admin_surface,omitempty"`
RelayVia string `json:"relay_via,omitempty"`
UDPHints []UDPHint `json:"udp_hints,omitempty"`
PathTracerHints []string `json:"path_tracer_hints,omitempty"`
Message string `json:"message,omitempty"`
Recommendations []DeployRecommendation `json:"recommendations,omitempty"`
}