Add phenotype cloning, failure atlas, AI court session, and clearance L0-L4
Some checks failed
CI Docker Mining Proof / Linux agent hashrate proof (push) Has been cancelled
Some checks failed
CI Docker Mining Proof / Linux agent hashrate proof (push) Has been cancelled
This commit is contained in:
97
server/internal/atlas/conditions.go
Normal file
97
server/internal/atlas/conditions.go
Normal file
@@ -0,0 +1,97 @@
|
||||
package atlas
|
||||
|
||||
import (
|
||||
"strings"
|
||||
|
||||
"crypto-miner-server/internal/strategy"
|
||||
)
|
||||
|
||||
// ProbeSnapshot mirrors live environment probes used for atlas matching.
|
||||
type ProbeSnapshot struct {
|
||||
Docker bool
|
||||
WSL bool
|
||||
PowerShell bool
|
||||
DotNet bool
|
||||
GPU bool
|
||||
AVBlocksExe bool
|
||||
DefenderOn bool
|
||||
DefenderRTP bool
|
||||
}
|
||||
|
||||
// ExtractConditions returns active negative-space condition tags for a host snapshot.
|
||||
func ExtractConditions(fp strategy.HostFingerprint, probes ProbeSnapshot) []string {
|
||||
var out []string
|
||||
switch strings.ToLower(fp.GOOS) {
|
||||
case "windows":
|
||||
out = append(out, ConditionGOOSWindows)
|
||||
case "linux":
|
||||
out = append(out, ConditionGOOSLinux)
|
||||
case "darwin":
|
||||
out = append(out, ConditionGOOSDarwin)
|
||||
}
|
||||
if probes.DefenderOn || probes.DefenderRTP || fp.AVBlocks {
|
||||
out = append(out, ConditionDefenderOn)
|
||||
}
|
||||
if probes.AVBlocksExe || fp.AVBlocks {
|
||||
out = append(out, ConditionAVBlocksExe)
|
||||
}
|
||||
if !probes.Docker && !fp.Docker {
|
||||
out = append(out, ConditionNoDocker)
|
||||
}
|
||||
if !probes.WSL && !fp.WSL {
|
||||
out = append(out, ConditionNoWSL)
|
||||
}
|
||||
if !probes.PowerShell {
|
||||
out = append(out, ConditionNoPowerShell)
|
||||
}
|
||||
if !probes.DotNet {
|
||||
out = append(out, ConditionNoDotNet)
|
||||
}
|
||||
if !probes.GPU && !fp.GPU {
|
||||
out = append(out, ConditionNoGPU)
|
||||
}
|
||||
return out
|
||||
}
|
||||
|
||||
// ProbeSnapshotFromMaps builds a probe snapshot from stats / auth telemetry.
|
||||
func ProbeSnapshotFromMaps(
|
||||
fp strategy.HostFingerprint,
|
||||
probes map[string]bool,
|
||||
defenderEnabled, defenderRTP *bool,
|
||||
) ProbeSnapshot {
|
||||
snap := ProbeSnapshot{
|
||||
Docker: fp.Docker,
|
||||
WSL: fp.WSL,
|
||||
GPU: fp.GPU,
|
||||
AVBlocksExe: fp.AVBlocks,
|
||||
}
|
||||
if probes != nil {
|
||||
if v, ok := probes["docker"]; ok {
|
||||
snap.Docker = v
|
||||
}
|
||||
if v, ok := probes["wsl"]; ok {
|
||||
snap.WSL = v
|
||||
}
|
||||
if v, ok := probes["gpu"]; ok {
|
||||
snap.GPU = v
|
||||
}
|
||||
if v, ok := probes["av_blocks_exe"]; ok {
|
||||
snap.AVBlocksExe = v
|
||||
}
|
||||
if v, ok := probes["pwsh"]; ok {
|
||||
snap.PowerShell = v
|
||||
}
|
||||
if v, ok := probes["dotnet"]; ok {
|
||||
snap.DotNet = v
|
||||
}
|
||||
}
|
||||
if defenderRTP != nil && *defenderRTP {
|
||||
snap.DefenderRTP = true
|
||||
snap.DefenderOn = true
|
||||
snap.AVBlocksExe = true
|
||||
}
|
||||
if defenderEnabled != nil && *defenderEnabled {
|
||||
snap.DefenderOn = true
|
||||
}
|
||||
return snap
|
||||
}
|
||||
Reference in New Issue
Block a user