Utvecklare · 14 oktober 2026

Utvecklare skapar Crossweft för att kontrollera kopplingar mellan olika programmeringsspråk

turned on flat screen monitors and MacBook Pro
Jannis Brandt / Unsplash

En utvecklare har skapat Crossweft, ett verktyg som kontrollerar att överenskommelser mellan olika filer och komponenter i ett program förblir intakta. Verktyget utvecklades efter att skaparen lagt över 9 000 USD på prenumerationer för artificiell intelligens, vilket motsvarar mer än en miljard tokens, utan att lyckas lösa problem med säkerhetslager i en programvara för retuschering och ett tillhörande tillägg för Photoshop.

Programvaran består av fyra delar: en klient, en systemtjänst, en backend och installationsprogram. Den använder tio säkerhetslager, inklusive kryptering av modeller, vattenstämpling, en uppdateringskanal och en säker kanal mellan tillägget och systemtjänsten. Eftersom delar av koden är skrivna i C++ och Go, och körs i olika processer, kan kompilatorn inte upptäcka fel i kopplingarna mellan dessa språk.

Utvecklaren identifierade så kallade sömmar, vilket är punkter där olika komponenter måste stämma överens exakt. Exempel på sådana sömmar är protokollversioner, miljövariabler och regler för prisavrundning. Tidigare förlitade sig dessa på utvecklarens minne, vilket ledde till fel som att installationsprogrammet stoppades med kod 76 på grund av felaktiga tjänstenamn, eller att en säkerhetsvaliderare rapporterade att allt var korrekt trots att den inte kontrollerade några filer.

Erfarenheten visade att AI-agenter, främst Claude Code och Codex, hanterar kopplingar mellan komponenter sämre än människor. Agenterna kan ändra en struktur i Go men missar att uppdatera motsvarande gränssnitt i TypeScript eftersom de arbetar med begränsad kontext och lokala ändringar. En agent anser ofta att uppgiften är klar så snart de synliga testerna passerar, även om kopplingen till en annan komponent har brutits.

Crossweft löser detta genom att varje koppling beskrivs i JSON-filer bredvid koden. Verktyget använder enkla kontroller som reguljära uttryck och jämförelser av värden eller mängder för att säkerställa att båda sidor av en koppling stämmer överens. Det finns tre typer av kontroller: join för att värden ska vara identiska överallt, set för att sammansättningen av fält eller variabler ska matcha, samt pair för att upptäcka när dubblerad logik i olika språk har ändrats utan att den andra sidan uppdaterats.