From asi
Performs adversarial malleability analysis of Aqua Voice Electron app using IPC injection, WebSocket interception, and braided monoidal skill interleaving for security research.
npx claudepluginhub plurigrid/asi --plugin asiThis skill uses the workspace's default tool permissions.
Reverse engineering and adversarial analysis of Aqua Voice (v0.11.4) with neighborhood-aware braided monoidal interleaving for compositional security research.
Models real-time voice channels as undirected wiring diagrams (UWD) in Julia using GF(3) conservation for participant states: +1 speaking, 0 listening, -1 muted.
Audits AI skills and bundles for malicious patterns, data leaks, system stability risks, and obfuscated payloads using non-intrusive static analysis across Windows, macOS, Linux/Unix, and Android/iOS.
Captures web traffic via Chrome DevTools Protocol in an Electron desktop app, injects JS hooks, snapshots storage, and generates AI analysis reports for API reverse engineering and protocol documentation.
Share bugs, ideas, or general feedback.
Reverse engineering and adversarial analysis of Aqua Voice (v0.11.4) with neighborhood-aware braided monoidal interleaving for compositional security research.
This skill is ERGODIC (0), forming triads with:
# Security Research Bundle
shadow-goblin (-1) ⊗ aqua-voice-malleability (0) ⊗ gay-mcp (+1) = 0 ✓ [IPC Injection]
keychain-secure (-1) ⊗ aqua-voice-malleability (0) ⊗ agent-o-rama (+1) = 0 ✓ [Token Extraction]
polyglot-spi (-1) ⊗ aqua-voice-malleability (0) ⊗ pulse-mcp-stream (+1) = 0 ✓ [WebSocket Monitor]
temporal-coalgebra (-1) ⊗ aqua-voice-malleability (0) ⊗ koopman-generator (+1) = 0 ✓ [Audio Stream Dynamics]
three-match (-1) ⊗ aqua-voice-malleability (0) ⊗ gay-mcp (+1) = 0 ✓ [Pattern Matching]
Skills interleave via braiding morphisms σ: A ⊗ B → B ⊗ A with crossing tracking:
σ_{A,B}
A ⊗ B ────→ B ⊗ A
╲ ╱
╲ ╱ (over-crossing)
╳
╱ ╲ (under-crossing)
╱ ╲
Each skill maintains awareness of its left and right neighbors in the current braid configuration:
| Position | Skill | Trit | Neighbor Awareness |
|---|---|---|---|
| Left | shadow-goblin | -1 | Observes IPC traffic |
| Center | aqua-voice-malleability | 0 | Coordinates injection |
| Right | gay-mcp | +1 | Colors output streams |
σ₁: (skill₁ ⊗ skill₂) ⊗ skill₃ → (skill₂ ⊗ skill₁) ⊗ skill₃ [swap left pair]
σ₂: skill₁ ⊗ (skill₂ ⊗ skill₃) → skill₁ ⊗ (skill₃ ⊗ skill₂) [swap right pair]
# Yang-Baxter equation (coherence):
(σ₁ ⊗ id) ∘ (id ⊗ σ₁) ∘ (σ₁ ⊗ id) = (id ⊗ σ₁) ∘ (σ₁ ⊗ id) ∘ (id ⊗ σ₁)
| Endpoint | Type | Purpose | Trit |
|---|---|---|---|
https://aqua-server.fly.dev | REST | Main backend | +1 |
wss://aqua-realtime.fly.dev | WebSocket | Audio streaming | 0 |
http://localhost:8969/stream | Local | Debug stream | -1 |
/users/devices/handshake/ | REST | Device registration | 0 |
// Core dictation (PLUS +1 - generative)
push_to_talk_start_request
push_to_talk_stop
audio_chunk
// Context awareness (ERGODIC 0 - transport)
context_update
mic_predict_request
settings_sync
// Authentication (MINUS -1 - validation)
signed_in / signed_out
token_set
submit_correction
PostHog: phc_N50q2qpNMS9QjJe1gBOQekcPH0wO8x6ZerI95Xi6meO
Sentry: o1143996.ingest.us.sentry.io
// Inject via Electron DevTools - no auth required
const { ipcRenderer } = require('electron');
// Trigger transcription bypassing push-to-talk
ipcRenderer.send('app', {
type: 'push_to_talk_start_request'
});
// Direct audio recording
ipcRenderer.send('app', {
type: 'start_audio_recording'
});
import websockets
import asyncio
async def custom_trigger(token: str):
async with websockets.connect(
'wss://aqua-realtime.fly.dev',
extra_headers={'Authorization': f'Bearer {token}'}
) as ws:
# Send audio chunks directly
await ws.send(audio_chunk_bytes)
transcript = await ws.recv()
# Enable remote debugging
open -a "Aqua Voice" --args --remote-debugging-port=9222
# Inject via CDP
curl -X POST http://localhost:9222/json/send \
-d '{"method":"Runtime.evaluate","params":{
"expression":"window.electron.send(\"app\",{type:\"push_to_talk_start_request\"})"
}}'
shadow-goblin (Left Neighbor, -1)sequenceDiagram
participant SG as shadow-goblin (-1)
participant AVM as aqua-voice-malleability (0)
participant GM as gay-mcp (+1)
SG->>AVM: Observe IPC traffic
AVM->>AVM: Inject modified message
AVM->>GM: Color output stream
GM->>SG: Trace colored derivation
Note over SG,GM: GF(3) sum = -1 + 0 + 1 = 0 ✓
keychain-secure (Token Extraction)flowchart LR
subgraph "Braided Triad"
KS["keychain-secure (-1)"]
AVM["aqua-voice-malleability (0)"]
AO["agent-o-rama (+1)"]
end
KS -->|"extract token"| AVM
AVM -->|"inject with token"| AO
AO -->|"learn pattern"| KS
style KS fill:#2626D8
style AVM fill:#26D826
style AO fill:#D82626
temporal-coalgebra (Stream Observation)The audio stream is observed coalgebraically:
-- Final coalgebra for audio stream observation
data AudioStream = AudioStream {
observe :: () -> (AudioChunk, AudioStream)
}
-- Bisimulation: two streams equivalent if same observations forever
bisimilar :: AudioStream -> AudioStream -> Bool
bisimilar s1 s2 =
let (c1, s1') = observe s1 ()
(c2, s2') = observe s2 ()
in c1 == c2 && bisimilar s1' s2'
CREATE TABLE braid_state (
id UUID PRIMARY KEY,
skill_name VARCHAR NOT NULL,
trit INTEGER CHECK (trit IN (-1, 0, 1)),
left_neighbor VARCHAR,
right_neighbor VARCHAR,
crossing_history STRUCT(
over_count INTEGER,
under_count INTEGER,
last_braid_op VARCHAR
),
created_at TIMESTAMP DEFAULT now()
);
CREATE TABLE ipc_intercepts (
id UUID PRIMARY KEY,
message_type VARCHAR NOT NULL,
payload JSON,
source_skill VARCHAR,
target_skill VARCHAR,
trit INTEGER,
timestamp TIMESTAMP DEFAULT now()
);
-- Braiding operation log
CREATE TABLE braid_operations (
id UUID PRIMARY KEY,
generator VARCHAR CHECK (generator IN ('σ₁', 'σ₂', 'σ₁⁻¹', 'σ₂⁻¹')),
skill_triple JSON, -- [left, center, right]
pre_state JSON,
post_state JSON,
yang_baxter_verified BOOLEAN,
timestamp TIMESTAMP DEFAULT now()
);
#!/usr/bin/env python3
"""Aqua Voice Malleability with Braided Monoidal Awareness"""
from dataclasses import dataclass
from typing import Optional, Tuple
import duckdb
@dataclass
class BraidedSkill:
name: str
trit: int # -1, 0, +1
left_neighbor: Optional['BraidedSkill'] = None
right_neighbor: Optional['BraidedSkill'] = None
def braid_over(self, other: 'BraidedSkill') -> Tuple['BraidedSkill', 'BraidedSkill']:
"""σ: self ⊗ other → other ⊗ self (self goes over)"""
other.right_neighbor = self.right_neighbor
self.left_neighbor = other.left_neighbor
other.left_neighbor = self
self.right_neighbor = other
return (other, self)
def gf3_sum(self) -> int:
"""Compute GF(3) sum of neighborhood"""
total = self.trit
if self.left_neighbor:
total += self.left_neighbor.trit
if self.right_neighbor:
total += self.right_neighbor.trit
return total % 3
class AquaVoiceMalleability(BraidedSkill):
def __init__(self):
super().__init__(name="aqua-voice-malleability", trit=0)
self.endpoints = {
"rest": "https://aqua-server.fly.dev",
"ws": "wss://aqua-realtime.fly.dev",
"local": "http://localhost:8969/stream"
}
self.ipc_messages = [
"push_to_talk_start_request",
"audio_chunk",
"context_update",
"token_set"
]
def inject_ipc(self, message_type: str, payload: dict) -> dict:
"""Inject IPC message with neighborhood awareness"""
return {
"type": message_type,
"payload": payload,
"source_trit": self.trit,
"left_aware": self.left_neighbor.name if self.left_neighbor else None,
"right_aware": self.right_neighbor.name if self.right_neighbor else None
}
# Create triad
shadow = BraidedSkill("shadow-goblin", -1)
aqua = AquaVoiceMalleability()
gay = BraidedSkill("gay-mcp", +1)
# Link neighborhood
shadow.right_neighbor = aqua
aqua.left_neighbor = shadow
aqua.right_neighbor = gay
gay.left_neighbor = aqua
# Verify GF(3) conservation
assert aqua.gf3_sum() == 0, "GF(3) violated!"
# Load skill in triad
just load-triad shadow-goblin aqua-voice-malleability gay-mcp
# Inject IPC message
python3 -c "
from skills.aqua_voice_malleability import inject_via_devtools
inject_via_devtools('push_to_talk_start_request')
"
# Monitor WebSocket with coloring
just ws-monitor wss://aqua-realtime.fly.dev --color-by-trit
This skill is for authorized security research only:
This skill connects to the K-Dense-AI/claude-scientific-skills ecosystem:
general: 734 citations in bib.duckdbThis skill maps to Cat# = Comod(P) as a bicomodule in the equipment structure:
Trit: 0 (ERGODIC)
Home: Prof
Poly Op: ⊗
Kan Role: Adj
Color: #26D826
The skill participates in triads satisfying:
(-1) + (0) + (+1) ≡ 0 (mod 3)
This ensures compositional coherence in the Cat# equipment structure.