mirror of
https://github.com/BigBodyCobain/Shadowbroker.git
synced 2026-06-04 05:18:13 +02:00
668ce16dc7
Gate messages now propagate via the Infonet hashchain as encrypted blobs — every node syncs them through normal chain sync while only Gate members with MLS keys can decrypt. Added mesh reputation system, peer push workers, voluntary Wormhole opt-in for node participation, fork recovery, killwormhole scripts, obfuscated terminology, and hardened the self-updater to protect encryption keys and chain state during updates. New features: Shodan search, train tracking, Sentinel Hub imagery, 8 new intelligence layers, CCTV expansion to 11,000+ cameras across 6 countries, Mesh Terminal CLI, prediction markets, desktop-shell scaffold, and comprehensive mesh test suite (215 frontend + backend tests passing). Community contributors: @wa1id, @AlborzNazari, @adust09, @Xpirix, @imqdcr, @csysp, @suranyami, @chr0n1x, @johan-martensson, @singularfailure, @smithbh, @OrfeoTerkuci, @deuza, @tm-const, @Elhard1, @ttulttul
61 lines
1.8 KiB
TypeScript
61 lines
1.8 KiB
TypeScript
import { afterEach, beforeEach, describe, expect, it, vi } from 'vitest';
|
|
|
|
import { createHttpBackedDesktopRuntime } from '@/lib/desktopRuntimeShim';
|
|
|
|
describe('desktopRuntimeShim enforcement guard', () => {
|
|
const fetchMock = vi.fn();
|
|
const warnMock = vi.spyOn(console, 'warn').mockImplementation(() => {});
|
|
|
|
beforeEach(() => {
|
|
fetchMock.mockReset();
|
|
fetchMock.mockResolvedValue(
|
|
new Response(JSON.stringify({ ok: true }), {
|
|
status: 200,
|
|
headers: { 'Content-Type': 'application/json' },
|
|
}),
|
|
);
|
|
vi.stubGlobal('fetch', fetchMock);
|
|
});
|
|
|
|
afterEach(() => {
|
|
vi.restoreAllMocks();
|
|
});
|
|
|
|
it('refuses strictly enforced commands in the HTTP-backed shim', async () => {
|
|
const runtime = createHttpBackedDesktopRuntime();
|
|
|
|
await expect(
|
|
runtime.invokeLocalControl?.(
|
|
'wormhole.gate.key.rotate',
|
|
{ gate_id: 'infonet', reason: 'operator_reset' },
|
|
{
|
|
capability: 'wormhole_gate_key',
|
|
sessionProfileHint: 'gate_operator',
|
|
enforceProfileHint: true,
|
|
},
|
|
),
|
|
).rejects.toThrow('desktop_runtime_shim_enforcement_inactive');
|
|
|
|
expect(fetchMock).not.toHaveBeenCalled();
|
|
expect(warnMock).toHaveBeenCalledWith(
|
|
'[desktop-shim] strict native session-profile enforcement is unavailable in the HTTP-backed shim',
|
|
expect.objectContaining({
|
|
command: 'wormhole.gate.key.rotate',
|
|
sessionProfileHint: 'gate_operator',
|
|
}),
|
|
);
|
|
expect(runtime.getNativeControlAuditReport?.(5)).toEqual(
|
|
expect.objectContaining({
|
|
totalEvents: 1,
|
|
totalRecorded: 1,
|
|
byOutcome: expect.objectContaining({ shim_refused: 1 }),
|
|
lastDenied: expect.objectContaining({
|
|
command: 'wormhole.gate.key.rotate',
|
|
targetRef: 'infonet',
|
|
outcome: 'shim_refused',
|
|
}),
|
|
}),
|
|
);
|
|
});
|
|
});
|