Stationen lærer at rejse tiltale
Sidste dispatch handlede om hoveddøren — klientportalen, der voksede sig til et vinduesbaseret desktop. Denne her handler om, hvad der sker uden for hoveddøren, og hvad vi gør ved det.
Det startede med en anklage, der viste sig at være forkert.
Angriberen, der ikke var det
En eskaleret urgent-detektion landede og udpegede 172.68.71.174 som angriber. Den adresse hører til et stort CDN-/hosting-netblock. Netblocket angreb os ikke.
Det virkelige billede var enklere: vores edge tilskriver enhver detektion til TCP-socketens peer — den, der rent faktisk åbnede forbindelsen. CDN- og hosting-infrastruktur-IP'er dukker konstant op i scanner- og bot-trafik, brugt som egress-punkter. Spørgsmålet er ikke, om et bestemt netværksrange "angriber" os — det er, om trafikken overhovedet nogensinde var tiltænkt vores sites.
Svaret var, da vi kiggede efter, nej. Vores edge er bevidst direkte på internettet — routeren bevarer de rigtige klient-IP'er, og der er intet mellemled foran vores egne sites. Det gør reglen ren: trafik, der ankommer fra et CDN- eller stort hosting-range og er rettet mod en ukendt Host, er per definition ikke organisk trafik til os. Så vi holdt op med at svare. En ukendt Host får nu forbindelsen lukket i døren — intet svar, ingen logline, ingen detektion. Fejlrettet eller videresendt trafik kommer slet ikke ind i pipelinen.
Fristende alternativ: læs forwarding-headers og tro på dem. Det gjorde vi ikke, og det gør vi ikke. Forwarding-headers er trivielle at spoofe, og for legitim trafik er socket-peeren allerede den rigtige klient. Attribution skal være til at stole på, før noget som helst får lov at handle på den automatisk.
Den sidste sætning er hele grunden til, at de næste tre ugers arbejde eksisterer.
Et regnskab, du kan tage med til en advokat
Hvis stationen på et tidspunkt skal sige "dette netværk angreb os, her er beviset" til en andens abuse desk, skal beviset kunne holde til at blive betvivlet.
Så vores edge fik et evidence ledger: hver observation lander i en tamper-evident daglig hash chain, forseglet hver nat med en kryptografisk signatur. Bundles eksporteret fra det ledger bærer seglet med.
På oUTPOSt-siden læser en verifier de bundles — signaturen tjekkes inden en eneste byte indhold bliver parset. Den reproducerer edge'ens kanoniske hashes på tværs af hele wire-formatet, fastholdt af golden vectors, så ingen af siderne kan drive fra hinanden. En bundle, der fejler verifikation, bliver gemt, men den får aldrig lov at blive en sag.
Rundt om det ligger selve workflowet: attribution-opslag til at identificere en IP's reelle ejer-netblock, en abuse-case-state-machine, hvis godkender altid er en menneskelig bruger — aldrig en agent — med godkendte rapportversioner frosset immutable, og en minimal-disclosure-pakke, der giver en ISP præcis det, den har brug for, og intet andet.
Den indsamler i dag. Eksport er slået fra. Det er bevidst: maskineriet til at sende en rapport findes, og kontakten, der tænder for det, forbliver i en menneskehånd.
Én liste til at blokere dem alle
Ved siden af faldt alle de måder, stationen kan afvise en gæst på, sammen til ét blocklist-subsystem — landeblokke, håndskrevne entries, og nu også genererede.
Klik på en synder i security-konsollen, vælg netblock-scopet (og genbrug det samme attribution-maskineri, som evidence-sagerne kører på), og det bliver til en blocklist-entry — født disabled. Et menneske armerer den. Promotion aktiverer aldrig noget, og gentagen promotion afvæbner aldrig det, du allerede har armeret.
Selve håndhævelsen kører nu live på produktions-edge'en, men i mørke: rørføringen er på plads, intet er armeret, ingen er blokeret. Samme positur som evidence-ledgeret. Byg pistolen, lad den senere, og hold fingeren væk fra aftrækkeren, mens du stadig er ved at lære at sigte.
Reviews, der gør sig fortjent til pladsen
To ting blev ved med at fange det, som intet andet fangede.
Proxyen fik sit første rigtige produktions-security review — og det fandt et konfigurationsproblem, der først ville have vist sig på det værst tænkelige tidspunkt. Flere hardening-punkter blev lukket inden for få dage.
Og tre dage i træk fangede whole-branch-reviewet defekter, som hvert eneste individuelle task-level review havde ladet passere. Hver task var grøn for sig selv; fejlene boede i sømmene mellem dem, og kun et gennemløb, der læste hele branchen på én gang, kunne se dem.
Imens lærte sangene at tælle
Begravet under det hele: et helt igennem dejligt fund — Suno udgiver sin egen word-level alignment for hver sang, den genererer. Gratis, øjeblikkeligt, autoritativt — ingen GPU, ingen forced alignment, ingen ventetid.
Vi havde bygget en Whisper-pipeline til præcis det. Den træder nu til side for Suno-tracks. Hver Suno-sang bærer to timing-tracks: Suno (read-only, hentet automatisk) og Manual (din at redigere, seedet fra Whisper eller forket fra Sunos). Sunos alignment kører cirka et sekund for tidligt, så der er en non-destruktiv jog — offsettet lægges på ved afspilning og eksport, og de originale cues bliver aldrig rørt. Whisper bliver stående til uploadet lyd, hvor det stadig er den eneste mulighed.
Også landet: slash-commands i chatten (/new, /model, /task, /deploy), og en stille, men dyr bug i triage-pipelinen, der afspillede hele urelaterede samtaler ind i hvert eneste spawn. Én linje.
Hvor det efterlader os
Stationen brugte fjorten dage på at lære at kende forskel på nogen, der angreb den, og nogen, der bare stod ved siden af den. Derefter byggede den papirarbejdet til at gøre noget ved det første.
Intet er armeret. Intet er blevet indrapporteret. Ledgeret fyldes op, blocklisterne er ladt og slået fra, og eksport-kontakten er slukket.
Det er den rigtige rækkefølge.