Urgent.News

What's breaking now, across thousands of outlets.

Tech

After the Sprint: A 72-Hour Build Retrospective - Spoiler: It Wasn't Secure

I built Charitas Clew for a 72-hour DEV Weekend Challenge. It worked. I submitted it. And then I did something slightly inconvenient: I kept poking at it. Apparently one day is enough historical distance from an event to call what follows a "retrospective," so here we are. lol Charitas Clew takes the sort of bureaucratic notice that can ruin an otherwise perfectly good afternoon---a benefits…

The 72-hour DEV Weekend Challenge resulted in a product called Charitas Clew, which successfully transformed bureaucratic notices into simpler language and provided next steps. The challenge version worked as intended, but the real test came after submission when the focus shifted to security hardening.

Two AI systems, Antigravity and Dr. Kahlo, were employed to assess and enhance the product. Antigravity made changes to the codebase, ran tests, inspected deployment behavior, and exercised the live application, while Dr. Kahlo provided adversarial reviews, challenged proposed fixes, and questioned the relevance of findings.

The first issue identified was the lack of an automated test suite in the sprint version. Antigravity addressed this by adding a minimal Node/Supertest regression harness, which uncovered an unrelated malformed-input hang. Despite adding 143 tests by the final audit, production still presented unexpected behavior.

One significant finding was that the prompt-injection defense implemented during the sprint was mostly ineffective. The filter only looked for specific phrases commonly associated with model manipulation, but this approach proved insufficient when dealing with legitimate notices containing similar keywords. The hardening process therefore moved away from relying on keyword blacklists and instead focused on creating a stronger structural boundary.

Application-controlled instructions were separated from uploaded document content, and runtime validation was added to ensure the model output met the application's rules before reaching the browser.

The second major finding was that despite extensive testing, the production version still had vulnerabilities. During the audit, Antigravity discovered that the Express application's rate limiter was misconfigured, leading to incorrect identification of the client's IP address. This issue, while not directly related to security, could still have potential consequences in a production environment.

Written by urgent.news from Dev.to's reporting — not their text. Machine-written — may contain errors; check the original before relying on it.

Read the original at dev.to →

More in Tech

Build a local call-review panel with Python

An audio analysis response is easier to inspect when you can hear the passage beside its transcript. This tutorial builds a local review page that lets you replay a speaker turn, search the words or…

  • Create local call review panel using Python
  • Use saved response and licensed recording
  • Generate HTML file with audio player

More from Tuesday 8 September →