A walkthrough of prompt injection attacks against OopsSec Store's AI assistant, bypassing its input filters to extract a flag from the system prompt. OopsSec Store has an AI support assistant with a secret embedded in its system prompt. The only thing standing between us and the flag is a regex blocklist. Spoiler: four regexes are not enough. Initialize the OopsSec Store application: npx create-os
I have a confession. For years, when a developer proudly showed me their Python app — gray square buttons, a Listbox straight out of 1998 — I would politely nod. I've stopped doing that. Not because I turned mean. Because PyQt6 exists, and there's no excuse anymore. This article is my attempt to convince you — yes, you, the one still typing import tkinter out of habit — that something radically be
TL;DR — One API call subscribes a customer endpoint. Centrali signs each delivery with HMAC-SHA256, retries 5 times over ~40 minutes on failure, logs every attempt, and exposes a one-line replay endpoint. No queue. No retry logic. No Svix. The whole subscribe call is right below — scroll to it if you just want the shape. Your customers want webhooks. You know the checklist: A queue so user request
J'ai un aveu à faire : pendant longtemps, quand un dev me montrait fièrement son app Python avec un bouton gris carré et une Listbox qui sentait Windows 95, je hochais la tête poliment. Aujourd'hui, j'ai arrêté. Pas parce que je suis devenu méchant. Parce que PyQt6 existe, et qu'il n'y a plus aucune excuse. Cet article, c'est ma tentative de te convaincre — toi qui ouvres encore tkinter par réflex
AI Can't Fix What It Can't See: How cdk diagnose Enables Autonomous CDK Remediation Current Behavior vs. What We Want Today, when a CDK deployment fails through a pipeline, the remediation loop looks like this: Developer ──▶ Push code ──▶ Pipeline ──▶ CFN deploy ──▶ ❌ Fails │ ┌───────────────────────────────────────────────
LLMs hallucinate. That's not news. What's underdiscussed is how that failure mode behaves in long working sessions: confident reconstruction that looks fluent, cites specifics, and feels right — until three sessions later when something supposed to be true turns out not to be. This is week 5 of an 8-week deep dive on CRAFT for Cowork, a structured working environment for Claude. The QA framework t
You don’t notice the problem right away. Everything runs smoothly in MySQL… until a new report shows up. Then queries slow down, dashboards lag, and you start realizing you’re stretching the database beyond what it’s good at. That’s usually when BigQuery enters the picture. So the real question becomes: How do you actually move data between them without turning it into a side project? Let’s w
Where It All Began: 2019 re:Invent AWS CDK had just gone GA that year with TypeScript and Python support. At re:Invent 2019, I saw AWS present how to contribute to CDK for the first time. There was no AI back then — everything was manual. Clone the entire monorepo, figure out the Lerna project structure, manually build dependent packages, write L2 constructs, write tests, submit a PR. Every step