<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0" xmlns:itunes="http://www.itunes.com/dtds/podcast-1.0.dtd" xmlns:googleplay="http://www.google.com/schemas/play-podcasts/1.0"><channel><title><![CDATA[The Threat Prompt Newsletter]]></title><description><![CDATA[Get Daily AI Cybersecurity Tips]]></description><link>https://newsletter.threatprompt.com</link><image><url>https://substackcdn.com/image/fetch/$s_!ir2A!,w_256,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F19bda890-576e-48ae-970b-18ec9a274b76_700x700.png</url><title>The Threat Prompt Newsletter</title><link>https://newsletter.threatprompt.com</link></image><generator>Substack</generator><lastBuildDate>Mon, 06 Apr 2026 04:36:40 GMT</lastBuildDate><atom:link href="https://newsletter.threatprompt.com/feed" rel="self" type="application/rss+xml"/><copyright><![CDATA[Craig Balding]]></copyright><language><![CDATA[en]]></language><webMaster><![CDATA[threatprompt@substack.com]]></webMaster><itunes:owner><itunes:email><![CDATA[threatprompt@substack.com]]></itunes:email><itunes:name><![CDATA[Craig Balding]]></itunes:name></itunes:owner><itunes:author><![CDATA[Craig Balding]]></itunes:author><googleplay:owner><![CDATA[threatprompt@substack.com]]></googleplay:owner><googleplay:email><![CDATA[threatprompt@substack.com]]></googleplay:email><googleplay:author><![CDATA[Craig Balding]]></googleplay:author><itunes:block><![CDATA[Yes]]></itunes:block><item><title><![CDATA[I'm building things again]]></title><description><![CDATA[SafeYolo and ShippingAgain.com]]></description><link>https://newsletter.threatprompt.com/p/im-building-things-again</link><guid isPermaLink="false">https://newsletter.threatprompt.com/p/im-building-things-again</guid><dc:creator><![CDATA[Craig Balding]]></dc:creator><pubDate>Mon, 30 Mar 2026 18:48:28 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!ir2A!,w_256,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F19bda890-576e-48ae-970b-18ec9a274b76_700x700.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>I&#8217;ve been quiet on here for a while. Partly because I&#8217;ve been building things instead of writing about them &#8212; which is kind of the point of this email.</p><p>Over the past year or so, coding agents have completely changed how I work. I&#8217;m shipping things I&#8217;d have abandoned after a weekend of yak-shaving.</p><p>One of those is <a href="https://github.com/craigbalding/safeyolo">SafeYolo</a> &#8212; a human-centric safety layer for running coding agents.  Because I wanted the momentum agents give you, but with scoped control over what they can access.  I&#8217;ll write more about this soon.</p><p>But what I want to introduce you to today is <a href="https://shippingagain.com">ShippingAgain.com</a> &#8212; a forum I just launched for experienced tech people who&#8217;ve found a second wind building with coding agents.</p><p>Not just security people: devs, sysadmins, technical leaders, anyone with years of experience who&#8217;s discovered the leverage, and frankly, the joy that agents and domain knowledge can bring together.</p><p>It&#8217;s not an AI news aggregator or a hype forum. It&#8217;s a small, intentional place for sharing what you&#8217;re shipping, how you&#8217;re using agents, what&#8217;s failed, and what you wish the tools did better.</p><p>If that sounds like you, or someone you know, here&#8217;s a good place to start: <a href="https://shippingagain.com/d/4-whats-your-background-and-what-brought-you-here">What&#8217;s your background and what brought you here?</a></p><p>Craig</p>]]></content:encoded></item><item><title><![CDATA[Prompt Injection, End of 2025: Progress, Without the Self-Deception]]></title><description><![CDATA[Agentic AI will reward organizations that are honest about the risks they are taking &#8212; and intentional about where they are willing to take them.]]></description><link>https://newsletter.threatprompt.com/p/prompt-injection-end-of-2025-progress</link><guid isPermaLink="false">https://newsletter.threatprompt.com/p/prompt-injection-end-of-2025-progress</guid><dc:creator><![CDATA[Craig Balding]]></dc:creator><pubDate>Wed, 24 Dec 2025 10:25:24 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!ir2A!,w_256,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F19bda890-576e-48ae-970b-18ec9a274b76_700x700.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p><strong>Agentic AI will reward organizations that are honest about the risks they are taking &#8212; and intentional about where they are willing to take them.</strong></p><p>Frontier labs now report sub-1% attacker success rates against <em>synthetic</em> prompt-injection tests. Anthropic&#8217;s recent work on automated defenses is a good example, showing strong results against model-generated attacks in controlled settings (<a href="https://www.anthropic.com/research/prompt-injection-defenses">Prompt Injection Defenses</a>). That reflects real work and real progress.</p><p>It does not reflect how these systems fail in the wild.</p><p>Human red-teamers continue to reliably compromise agentic systems via <strong>indirect prompt injection</strong>: instructions embedded in web pages, documents, tool outputs, and long context. Public Arena-style testing &#8212; for example the ongoing results in the <a href="https://app.grayswan.ai/arena/leaderboard/prized-challenges">Gray Swan Arena leaderboard</a> &#8212; shows repeated success across models and workflows involving browsing, tools, memory, and code execution. These are the same agent capabilities vendors are actively encouraging customers to deploy.</p><p>The incentives to surface these failures remain modest. Prize pools for high-quality indirect prompt-injection research are small compared to mature bug bounty programs for browsers, mobile platforms, or cloud infrastructure, despite comparable impact and far greater ambiguity. In security, sustained high bounties usually follow problems that are both severe and tractable. Here, severity is clear; tractability is not.</p><p>Vendors are candid about this. Both OpenAI and Anthropic consistently frame prompt injection &#8212; especially in agentic systems &#8212; as a hard problem, with no clear path to elimination. They clearly operate large-scale abuse monitoring and incident-response pipelines, but they do not publish prompt-injection-specific detection metrics, response SLAs, or guarantees. What exists looks closer to Trust &amp; Safety operations than to an IDS or WAF analogue for agents.</p><p>Synthetic robustness metrics are improving. Treating them as a proxy for real-world risk is the mistake.</p><div><hr></div><h2>Constrain Agency, Not Adoption</h2><p>The practical response is not to slow down agentic AI adoption, but to <strong>treat agency itself as a privileged capability</strong>, scoped deliberately by role.</p><p><strong>Knowledge workers (office, ops, support)</strong><br>AI is an assistant, not an actor. Chat, summarize, draft. No autonomous browsing, no tool chaining, no write access without explicit confirmation.</p><p><strong>Engineers and analysts (e.g. Claude Code)</strong><br>Enable agents, but sandbox them. Run in isolated environments, restrict access to secrets and control planes, default to read-only, log write actions, and reset context aggressively.</p><p><strong>Executives</strong><br>Allow analysis and briefing. Avoid inbox access, browsing agents, or persistent memory tied to identity or strategy. AI informs; humans decide.</p><p><strong>Platform and automation owners</strong><br>This is where autonomy belongs. Scope tools narrowly, use short-lived credentials, monitor actions rather than prompts, and assume injection will occur.</p><div><hr></div><h2>Conclusion</h2><p>Organizations have seen this pattern before. Browsers were deployed before they were safe, then sandboxed. The move to cloud required new trust boundaries, isolation models, identity systems, monitoring, and compensating controls. AI agents follow the same trajectory.</p><p>Ultimately, this isn&#8217;t a tooling problem so much as a <strong>risk ownership problem</strong>. When systems are non-deterministic, adaptive, and capable of taking action, technical controls alone will never remove ambiguity. Progress depends on decision-makers being explicit about risk appetite &#8212; not in abstract terms, but in how much autonomy, persistence, and blast radius the organization is willing to accept.</p><p>The job then becomes composition, not elimination: combining protect, detect, respond, and adapt controls in a way that enables real upside while bounding downside. Crucially, that balance must reflect <strong>company risk appetite</strong>, not the optimism of tool builders or the caution of individual practitioners.</p>]]></content:encoded></item><item><title><![CDATA[Overconfident by Design]]></title><description><![CDATA[When AI Outputs Mask Data Shortfalls]]></description><link>https://newsletter.threatprompt.com/p/overconfident-by-design</link><guid isPermaLink="false">https://newsletter.threatprompt.com/p/overconfident-by-design</guid><dc:creator><![CDATA[Craig Balding]]></dc:creator><pubDate>Sun, 23 Nov 2025 10:11:06 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!ir2A!,w_256,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F19bda890-576e-48ae-970b-18ec9a274b76_700x700.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>I&#8217;ve been building a tool that uses an LLM to analyze social media data pulled from an API. It&#8217;s designed to retrieve up to 120 records per network, handle pagination, and only begin analysis once all records are collected. The system prompt includes clear instructions, tool-use examples, and specific logic for multi-page retrieval.</p><p>And yet, in practice, the model consistently produces confident, data-driven analysis based on partial input &#8212; without signalling it took a shortcut. No warning, no fallback. Just a clean summary built on an incomplete foundation.</p><div><hr></div><h2><strong>The Retrieval Path Was Explicit</strong></h2><p>This OpenAI Custom GPT pulls social data via Apify through an OpenAPI connector. The LLM is instructed to request up to 120 thoughtfully pruned JSON records, paginating as needed to avoid &#8220;response too large&#8221; errors from the custom GPT environment (OpenAI enforces a <sub>100K</sub> Action response limit). The prompt includes concrete examples of correct and incorrect behavior, with analysis explicitly gated behind full retrieval.</p><p>The schema supports all of this. The data returned by the tool includes counts, pagination cues, and clear signals when additional pages are available.</p><blockquote><p><em>&#8220;This isn&#8217;t prompt guesswork &#8212; it&#8217;s structured behavior with defined expectations.&#8221;</em></p></blockquote><div><hr></div><h2><strong>What Actually Happens</strong></h2><p>In run after run, the source returns the correct search hits; for example, 67 total records. The LLM retrieves the first page (50), stops, and proceeds to analysis. It then reports that 120 items were processed and dozens of videos analysed &#8212; even though no media content was retrieved, only links.  In other words, it reports the maximum number of items it requested in the search request, rather than the number of records it received.</p><p>The model simply moved forward without completing the task &#8212; and then materially overstated what it had done.</p><div><hr></div><h2><strong>Where the LLM Breaks Down</strong></h2><p>This kind of failure isn&#8217;t due to lack of access or visibility. The model had full access to the schema, records requested, records received, and the cues required to retrieve additional pages.</p><p>But LLMs don&#8217;t treat those signals as binding. They&#8217;re not built to ensure procedural correctness. Once a result appears &#8220;sufficient,&#8221; the model proceeds. There&#8217;s no internal state check, no retry loop, and no validation that output claims reflect actual inputs.</p><p>Even worse, this behavior is silent. Unless you click through and inspect the raw tool use in the ChatGPT interface , there&#8217;s no indication that only a partial dataset was analysed.</p><blockquote><p><em>&#8220;The model behaved as if it had done the work &#8212; because it was told to, not because it verified that it had.&#8221;</em></p></blockquote><div><hr></div><h2><strong>Why This Is Risky</strong></h2><p>The danger isn&#8217;t just that the output is incomplete &#8212; it&#8217;s that it <strong>looks complete</strong>, and reads as authoritative. The failure is procedural, but the output masks it entirely.</p><p>This introduces several risks:</p><ul><li><p><strong>False confidence in coverage</strong>: When a model consistently mistakes the number of records it requested, with the number of records it retrieved, that&#8217;s not just a factual error &#8212; it&#8217;s a silent integrity failure. Downstream consumers assume the analysis is grounded in data. It isn&#8217;t.</p></li><li><p><strong>Not seeing the picture:</strong> When a model claims to have analyzed video or image content &#8212; but in reality only saw a URL or metadata &#8212; it&#8217;s not just stretching the truth. It&#8217;s creating the illusion of visibility where none existed. That&#8217;s how you end up making decisions based on analysis that never actually happened.</p><blockquote><p><em>It&#8217;s not just the model that&#8217;s flying blind &#8212; it&#8217;s you.</em></p></blockquote></li><li><p><strong>Unverifiable summaries</strong>: Without visibility into what was actually retrieved and processed, it&#8217;s impossible to audit whether the insights are representative. Once the conversation finishes, the audit trail vanishes which precludes lookback analysis.</p></li><li><p><strong>Distorted prioritization</strong>: If early records in a dataset over-index on inflammatory content or edge cases, a model that stops early can overstate threat signals, urgency, or volume.</p></li><li><p><strong>Silent pipeline corruption</strong>: In environments where outputs feed into dashboards, workflows, or alerts &#8212; especially in security or reputational risk &#8212; these kinds of failures become hard to detect and easy to trust.</p></li><li><p><strong>Policy missteps from phantom insights</strong>: If a summary suggests 120 videos promoting disinformation were analyzed, but none were actually processed, you may escalate unnecessarily &#8212; or worse, take public action based on fabricated coverage.</p></li></ul><blockquote><p><em>&#8220;The failure mode isn&#8217;t noise &#8212; it&#8217;s silence. The model doesn&#8217;t just underperform. It overclaims &#8212; and looks correct doing it.&#8221;</em></p></blockquote><div><hr></div><h2><strong>Redesigning for Observability (Work in Progress)</strong></h2><p>Prompting the LLM to &#8220;try harder&#8221; isn&#8217;t a viable solution. The model isn&#8217;t misbehaving &#8212; it&#8217;s operating as designed, within a constrained architecture.</p><p>So I&#8217;m redesigning the system to move data-sensitive execution into an agentic backend. The custom GPT will invoke a new <code>researcher</code> Action which calls an external agent to orchestrates a network of specialized social media sub-agents. These agents will:</p><ul><li><p>Handle full pagination</p></li><li><p>Process metadata and media content</p></li><li><p>Run quantitative and qualitative analysis in parallel</p></li></ul><p>More importantly, they&#8217;ll support <strong>post-execution validation hooks</strong> to confirm:</p><ul><li><p>That all records were retrieved</p></li><li><p>That reported totals match actual input</p></li><li><p>That summaries are based on data, not assumptions</p></li><li><p>That the response size doesn&#8217;t trigger OpenAI guardrails</p></li></ul><blockquote><p><em>&#8220;Instead of relying on the model to behave reliably, I&#8217;m assigning responsibility to components designed for observability and control.&#8221;</em></p></blockquote><div><hr></div><h2><strong>The Custom GPT Still Has a Role</strong></h2><p>Despite this architectural shift, the Custom GPT remains central to the experience.</p><p>It continues to:</p><ul><li><p>Host a large PDF knowledge base (free embedding)</p></li><li><p>Provide natural language interaction</p></li><li><p>Operate inside the familiar ChatGPT interface</p></li><li><p>Remain accessible to authenticated users at no cost</p></li></ul><p>It&#8217;s still the synthesis layer &#8212; responsible for interpretation and communication &#8212; but no longer burdened with stateful execution.</p><div><hr></div><h2><strong>Closing: Capability Isn&#8217;t Control</strong></h2><p>The LLM had access to the right data. It saw how many records were available. It understood the task and was instructed not to proceed without completing it.</p><p>But it did anyway.</p><p>That&#8217;s the core issue. Language models don&#8217;t enforce alignment between process and output. They can appear capable &#8212; even thorough &#8212; without doing the underlying work.</p><p>The fix isn&#8217;t more prompting. It&#8217;s architecture and &#8220;trust, but verify&#8221;. By delegating structured execution to systems that support verification, and limiting the LLM to what it does best, the output becomes something you can trust &#8212; not just something that sounds right.</p><p>The model saw the right data. It just didn&#8217;t act on it. Without systems that enforce correctness, accuracy becomes optional.</p><p><strong>Even if you&#8217;re not in the weeds building AI systems, you&#8217;re still responsible for what they do.</strong></p><blockquote><p>Whether you&#8217;re procuring, deploying, or approving AI-driven tools, it&#8217;s worth asking: <em>How does this system know what it saw? Can it prove it? And what happens if it doesn&#8217;t?</em></p></blockquote><p>Responsible AI isn&#8217;t just about fairness and bias &#8212; it&#8217;s also about operational integrity. If you&#8217;re relying on model output to inform decisions, shape policy, or act on threats, then silent failures like this one aren&#8217;t just bugs. They&#8217;re liabilities.</p>]]></content:encoded></item><item><title><![CDATA[LLM Agents: Delegate the Work, Not the Understanding]]></title><description><![CDATA[On the importance of owning the mental model when deploying LLM agents in real systems]]></description><link>https://newsletter.threatprompt.com/p/llm-agents-delegate-the-work-not</link><guid isPermaLink="false">https://newsletter.threatprompt.com/p/llm-agents-delegate-the-work-not</guid><dc:creator><![CDATA[Craig Balding]]></dc:creator><pubDate>Sun, 16 Nov 2025 10:21:14 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!ir2A!,w_256,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F19bda890-576e-48ae-970b-18ec9a274b76_700x700.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>These systems are not collaborators. They&#8217;re automated executors, operating without memory, judgment, or intent. They will optimize whatever you&#8217;ve defined as success&#8212;long after you&#8217;ve forgotten why you defined it that way.</p><p>As LLM agents take on more operational responsibility&#8212;generating detections, summarizing logs, automating triage&#8212;there&#8217;s a tendency to treat them like junior teammates: fast, capable, and improving. That framing works, right up until you assume they understand the task, or that their output reflects intent rather than inertia.</p><p>These systems behave according to the context you construct around them: prompt structure, retrieval logic, memory architecture, tool access. They don&#8217;t reason about goals; they complete patterns within constraints. When those constraints become outdated, the model doesn&#8217;t adapt. It just keeps producing output&#8212;accurate, fluent, and off-course.</p><p>That&#8217;s the failure mode that matters. Not a crash or exception, but a system that looks like it&#8217;s working while gradually solving the wrong problem. You get clean logs and green metrics&#8212;until someone notices that what the agent is doing no longer matches what the system needs.</p><p>Avoiding that drift doesn&#8217;t require perfect alignment. It requires a human in the loop who still understands what the agent is supposed to be doing&#8212;and treats that understanding as part of the system&#8217;s runtime state.</p><p><strong>This is where context engineering becomes essential.</strong> Not as prompt design, but as disciplined control over what the agent sees, what assumptions it operates under, and how success is defined. Without that structure, the model can&#8217;t be trusted. With outdated context, it&#8217;s worse: a liability masquerading as automation.</p><p><strong>One practical control is the docstring.</strong> Define every agent with a short, natural-language contract: what it does, what it depends on, what it&#8217;s not responsible for. This isn&#8217;t just documentation&#8212;it&#8217;s a reference point for alignment. If the docstring no longer reflects what the system is doing, or what it should be doing, the system is already misaligned.</p><p>But even that only works if it&#8217;s maintained. Context doesn&#8217;t stay valid on its own. Detection inputs shift. Interfaces evolve. Priorities change. If you&#8217;re not revisiting the agent&#8217;s behavior regularly, you&#8217;re not supervising&#8212;you&#8217;re hardcoding misalignment.</p><p>This isn&#8217;t a call for distrust. It&#8217;s a call for discipline. LLM agents can be valuable execution tools&#8212;but only when paired with explicit, maintained context and a human who still understands what the system is for.</p><p><strong>Because if you let that understanding decay, the model won&#8217;t fail&#8212;it&#8217;ll succeed at the wrong thing.</strong></p>]]></content:encoded></item><item><title><![CDATA[Human-in-the-Loop Is Just the Starting Line]]></title><description><![CDATA[A practical approach to scaling intelligent automation - without losing control]]></description><link>https://newsletter.threatprompt.com/p/human-in-the-loop-is-just-the-starting</link><guid isPermaLink="false">https://newsletter.threatprompt.com/p/human-in-the-loop-is-just-the-starting</guid><dc:creator><![CDATA[Craig Balding]]></dc:creator><pubDate>Sat, 01 Nov 2025 17:56:19 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!ir2A!,w_256,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F19bda890-576e-48ae-970b-18ec9a274b76_700x700.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>AI agents are creeping into more workflows - from summarising incidents to auto-labelling data to proposing remediation steps. As their capabilities grow, security teams face a harder question: What decisions should we still make ourselves?</p><p>Most organisations default to a human-in-the-loop pattern: the system proposes, a person approves. It&#8217;s a sensible starting point - but it&#8217;s just that: a starting point. This model won&#8217;t scale unless it evolves.</p><p>Progress comes from gradually shifting control - from humans to agents - based on confidence, context, and consequences. But that shift has to happen within a structure you can reason about, audit, and defend.</p><h2>The Automation Spectrum</h2><p>You can think of automation trust levels in four stages:</p><ul><li><p>Fully Manual: Humans do everything. Slow and brittle; e.g., an analyst closes phishing tickets one by one</p></li><li><p>Agent Proposes, Human Approves: Agent suggests actions; a human must approve; e.g., LLM drafts an incident summary, SOC lead reviews before sharing</p></li><li><p>Agent Acts, Human Audits: Agent takes action automatically; humans monitor or spot-check; e.g., auto-quarantine based on threat intel, with audit logs</p></li><li><p>Fully Autonomous with Alerts: Agent operates independently; humans are notified only on exceptions; e.g., ingesting and deploying blocklists without review</p></li></ul><p>The challenge isn&#8217;t picking one stage - it&#8217;s building systems that let you move actions between stages as confidence grows.</p><h2>A Hybrid Model That Adapts Over Time</h2><p>Here&#8217;s one way to break things down:</p><ul><li><p>High-confidence tasks: Auto-execute; e.g., extracting structured data from known sources</p></li><li><p>Medium-confidence: Propose for human review; e.g., knowledge graph entity merges with 0.8&#8211;0.95 confidence</p></li><li><p>Low-confidence: Flag but take no action; e.g., conflicting attribution across threat reports</p></li><li><p>High-risk or irreversible actions: Always require approval; e.g., deleting user accounts or erasing data archives</p></li></ul><p>This structure helps you move fast where it&#8217;s safe, while keeping control where it matters. And it maps well to AI regulations that emphasise meaningful human oversight.</p><p>Even when agents act on their own, the rules they follow - and the boundaries they stay within - are defined and owned by humans.</p><h2>AI Regulations: Control Without Stalling Progress</h2><p>Across the EU AI Act, U.S. guidance, and internal corporate policies, a consistent principle is emerging: high-impact decisions can&#8217;t be fully delegated to machines.</p><p>But that doesn&#8217;t mean automation is off-limits. It means your systems must:</p><ul><li><p>Log how and why decisions were made</p></li><li><p>Allow humans to intervene or override</p></li><li><p>Make clear who is accountable (easier said than done!)</p></li></ul><p>That might look like staging a decision queue for review, limiting autonomous actions to low-risk operations, or automatically escalating any action with unclear attribution.</p><p>What matters is that your automation design reflects both the letter and the intent of oversight requirements. Not because you&#8217;re looking for loopholes, but because you&#8217;re operating in good faith.</p><h2>Feedback Turns Oversight Into Progress</h2><p>The other half of this model is learning from outcomes. Human decisions - approve, reject, override - should be captured and fed back into the system. That enables:</p><ul><li><p>Calibrating confidence thresholds over time</p></li><li><p>Fine-tuning models based on human judgment</p></li><li><p>Identifying drift or breakdowns in agent behaviour</p></li></ul><p>This isn&#8217;t just about getting the model to improve. It&#8217;s how you build a system that earns trust by design, not just by performance.</p><h2>Automation Isn&#8217;t All or Nothing</h2><p>The goal isn&#8217;t to lock every workflow into &#8220;human-in-the-loop&#8221; forever. Nor is it to hand over the keys to autonomous agents and hope for the best.</p><p>Instead, it&#8217;s about designing systems where:</p><ul><li><p>Automation is earned, not assumed</p></li><li><p>Oversight is structured, not ad hoc</p></li><li><p>Feedback is continuous, not optional</p></li><li><p>Control shifts deliberately, not by default</p></li></ul><p>Security teams already understand this mindset. We&#8217;re used to tuning policies, refining detections, and escalating based on context.</p><p>Now we need to apply that same thinking to how we delegate to machines.</p>]]></content:encoded></item><item><title><![CDATA[LLMs Found the Code You Forgot Was There]]></title><description><![CDATA[CVE-2025-10230: remotely exploitable bug in Samba]]></description><link>https://newsletter.threatprompt.com/p/llms-found-the-code-you-forgot-was</link><guid isPermaLink="false">https://newsletter.threatprompt.com/p/llms-found-the-code-you-forgot-was</guid><dc:creator><![CDATA[Craig Balding]]></dc:creator><pubDate>Fri, 17 Oct 2025 07:08:00 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!ir2A!,w_256,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F19bda890-576e-48ae-970b-18ec9a274b76_700x700.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<h2></h2><blockquote><p><em>&#8220;LLMs without that preconception came through and pointed out the now glaringly obvious bug.&#8221;</em></p><p><em>&#8211; Douglas Bagnall, Samba Team</em></p></blockquote><p>A newly disclosed bug in Samba&#8217;s WINS server (CVE-2025&#8211;10230, CVSS 10.0) allows unauthenticated remote command execution &#8211; but the bigger story is how it was found.</p><p>Samba developer Douglas Bagnall believes the vulnerability was surfaced using a large language model, making this one of the first public cases of LLM-assisted discovery leading to a critical RCE in production software.</p><div><hr></div><h3>The Bug, Briefly</h3><p>If Samba is configured with a wins hook script, it runs a shell command whenever WINS name registrations happen. The command is built like this:</p><pre><code><code>execl(&#8221;/bin/sh&#8221;, &#8220;sh&#8221;, &#8220;-c&#8221;, cmd, NULL);</code></code></pre><p>The attacker controls the cmd string &#8211; specifically, the NetBIOS name portion &#8211; which is taken directly from a UDP packet and injected without sanitization. That&#8217;s remote shell injection if the feature is enabled.</p><p>The code path lives in Samba&#8217;s source4 WINS server &#8211; a legacy component many assumed was dead, or at least safe by obscurity.</p><blockquote><p><em>&#8220;We regarded this as dead code&#8230; and never looked at it.&#8221;</em></p><p><em>&#8211; Douglas Bagnall</em></p></blockquote><div><hr></div><h3>The LLM Angle</h3><p>The report&#8217;s structure and level of reasoning led Bagnall to conclude it was LLM-assisted. The important bit: the bug required tracking input across several layers of logic &#8211; from network parsing to shell command execution.</p><blockquote><p><em>&#8220;They seem to follow a taint across domains&#8230; from the C variable into the string and execl call.&#8221;</em></p></blockquote><p>That kind of reasoning is still difficult for most static analyzers &#8211; especially in complex, legacy codebases.</p><div><hr></div><h3>Why It Matters</h3><p>This is more than just a one-off vuln:</p><ol><li><p>LLMs bypass human blind spots: The assumption that something is unreachable or irrelevant doesn&#8217;t apply. LLMs review code without that mental baggage.</p></li><li><p>They reason across abstraction boundaries: From protocol handling to command execution &#8211; all within one inference.</p></li><li><p>Offensive use is likely already happening: If defenders are finding 0-days with LLMs, attackers probably are too. Expect this pattern to continue.</p></li><li><p>Static tools will need to catch up: This wasn&#8217;t about missing a known sink. It was about context and composition &#8211; something most scanners aren&#8217;t equipped to handle.</p></li></ol><div><hr></div><h3>References</h3><ul><li><p><a href="https://www.samba.org/samba/security/CVE-2025-10230.html">CVE-2025&#8211;10230 Samba Advisory</a></p></li><li><p><a href="https://bugzilla.samba.org/show_bug.cgi?id=15903">Bugzilla #15903</a></p></li></ul>]]></content:encoded></item><item><title><![CDATA[Reader Question: Can LLMs really reason?]]></title><description><![CDATA[This is a topical and important question for cyber.]]></description><link>https://newsletter.threatprompt.com/p/reader-question-can-llms-really-reason</link><guid isPermaLink="false">https://newsletter.threatprompt.com/p/reader-question-can-llms-really-reason</guid><dc:creator><![CDATA[Craig Balding]]></dc:creator><pubDate>Sat, 14 Jun 2025 11:33:30 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!ir2A!,w_256,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F19bda890-576e-48ae-970b-18ec9a274b76_700x700.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>This is a topical and important question for cyber.  Or put another way: can we trust LLMs to reason about security and make trustworthy decisions?</p><p>I'm not sure whether LLMs can truly reason. </p><p>But from firsthand experience, LLMs definitely show strong reason resemblance. Especially when you pair indeterminate reasoning (what LLMs do) with determinate tools (like code, math, structured APIs).</p><p>To me, the real question isn't whether this is "real" reasoning. It's: how much human effort does it take to make this setup trustworthy and useful?</p><p></p><p>Specifically:</p><ol><li><p> Can LLMs generate solid, deterministic tools; aka code?</p></li></ol><p>Yes. In my experience, they're very good at this if you get them to follow modern dev best practices and steer them well. Think: tests, structure, clarity -- they can crank it out.</p><p></p><ol start="2"><li><p>Can they figure out when to use those tools and use them correctly?</p></li></ol><p>Sometimes. This part's squishier. You still need someone in the loop to verify that they're reaching for the right tool at the right time, and adapting if they start off wrong. They're not always great at breaking out of a bad plan on their own and can get stuck in loops.</p><p></p><ol start="3"><li><p>Do they actually incorporate tool output into their reasoning?</p></li></ol><p>Weirdly, not always. Sometimes they call the right tool, get the right result&#8230; and just ignore it. That's where things fall apart.</p><p>So: I'm less interested in whether this is "real" reasoning in the abstract, and more focused on whether it works in practice. I'm happy to fake it til we make it -- and the gap between "fake" and "make" keeps shrinking.</p><p>Today, it's often filled by a domain expert. </p><p>Tomorrow, maybe an offshore worker with a checklist.</p><p></p><p>This is basically the shape of tool-augmented agents.  Whether we call it reasoning or not, it's what future LLM powered systems will depend on.</p>]]></content:encoded></item><item><title><![CDATA[Before You Deploy an AI Threat Detector, Send This Email]]></title><description><![CDATA[Before deploying that &#8220;AI-powered threat detector&#8221; your vendor is promoting, pause to consider a key risk: a single tainted data source can flood SOC teams with false positives and obscure real threats.]]></description><link>https://newsletter.threatprompt.com/p/before-you-deploy-an-ai-threat-detector</link><guid isPermaLink="false">https://newsletter.threatprompt.com/p/before-you-deploy-an-ai-threat-detector</guid><dc:creator><![CDATA[Craig Balding]]></dc:creator><pubDate>Sun, 01 Jun 2025 11:34:05 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!ir2A!,w_256,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F19bda890-576e-48ae-970b-18ec9a274b76_700x700.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Before deploying that <em>&#8220;AI-powered threat detector&#8221;</em> your vendor is promoting, pause to consider a key risk: <strong>a single tainted data source can flood SOC teams with false positives and obscure real threats</strong>.</p><p>To better understand the risk, send your vendor a simple 3-question provenance check:</p><blockquote><p><strong>Subject:</strong> AI Model Provenance and Data Integrity &#8211; Request for Information</p><p>Hello [Vendor],</p><p>Before deploying your system, could you confirm:</p><ol><li><p>Can you provide an attested bill of materials for the model&#8217;s training data?</p></li><li><p>Are the live data feeds restricted to a signed, pre-approved whitelist?</p></li><li><p>Can you supply yesterday&#8217;s model checksum to confirm no unauthorized changes?</p></li></ol><p>If you are unable to confirm any of these points, please advise which parts of the system rely on unverified data and what actions we should take to minimize risk.</p><p>Thank you, [Your Name]</p></blockquote><p>If their response is unclear, review downstream decision-making and adjust or disable functionality that could be impacted by unverified data sources - and engage your vendor to address gaps.</p><p>&#8594; <a href="https://media.defense.gov/2025/May/22/2003720601/-1/-1/0/CSI_AI_DATA_SECURITY.PDF">Download CISA&#8217;s 11-page </a><em><a href="https://media.defense.gov/2025/May/22/2003720601/-1/-1/0/CSI_AI_DATA_SECURITY.PDF">&#8220;AI Data Security&#8221;</a></em><a href="https://media.defense.gov/2025/May/22/2003720601/-1/-1/0/CSI_AI_DATA_SECURITY.PDF"> brief (page 4 outlines the three gates)</a> to see why these checks are now part of federal guidance.</p>]]></content:encoded></item><item><title><![CDATA[Create Better Security Visuals with AI]]></title><description><![CDATA[Spotting AI-generated security images is easy: padlocks, shields, jumbled words, and that distinctive &#8220;AI look&#8221;; they rarely look decent.]]></description><link>https://newsletter.threatprompt.com/p/create-better-security-visuals-with</link><guid isPermaLink="false">https://newsletter.threatprompt.com/p/create-better-security-visuals-with</guid><dc:creator><![CDATA[Craig Balding]]></dc:creator><pubDate>Thu, 27 Mar 2025 08:54:44 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!ttJx!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fff3a6ea1-3247-4af5-86dc-f064fb1f4c9f_1024x1536.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Spotting AI-generated security images is easy: padlocks, shields, jumbled words, and that distinctive &#8220;AI look&#8221;;  they rarely look decent.</p><p>I prefer ideogram.ai over Midjourney for security visuals since it rarely makes spelling errors, and the visual quality is solid.</p><p>However, OpenAI has improved ChatGPT 4o's image generation, and I&#8217;m impressed enough to share a couple of quick examples with you.</p><p><em>Prompt: generate a security awareness poster suitable in style for a tech startup - avoid cliche's and make it appealing to cloud engineers</em></p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!ttJx!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fff3a6ea1-3247-4af5-86dc-f064fb1f4c9f_1024x1536.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!ttJx!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fff3a6ea1-3247-4af5-86dc-f064fb1f4c9f_1024x1536.png 424w, https://substackcdn.com/image/fetch/$s_!ttJx!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fff3a6ea1-3247-4af5-86dc-f064fb1f4c9f_1024x1536.png 848w, https://substackcdn.com/image/fetch/$s_!ttJx!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fff3a6ea1-3247-4af5-86dc-f064fb1f4c9f_1024x1536.png 1272w, https://substackcdn.com/image/fetch/$s_!ttJx!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fff3a6ea1-3247-4af5-86dc-f064fb1f4c9f_1024x1536.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!ttJx!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fff3a6ea1-3247-4af5-86dc-f064fb1f4c9f_1024x1536.png" width="1024" height="1536" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/ff3a6ea1-3247-4af5-86dc-f064fb1f4c9f_1024x1536.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1536,&quot;width&quot;:1024,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:2446052,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://newsletter.threatprompt.com/i/159973188?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fff3a6ea1-3247-4af5-86dc-f064fb1f4c9f_1024x1536.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!ttJx!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fff3a6ea1-3247-4af5-86dc-f064fb1f4c9f_1024x1536.png 424w, https://substackcdn.com/image/fetch/$s_!ttJx!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fff3a6ea1-3247-4af5-86dc-f064fb1f4c9f_1024x1536.png 848w, https://substackcdn.com/image/fetch/$s_!ttJx!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fff3a6ea1-3247-4af5-86dc-f064fb1f4c9f_1024x1536.png 1272w, https://substackcdn.com/image/fetch/$s_!ttJx!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fff3a6ea1-3247-4af5-86dc-f064fb1f4c9f_1024x1536.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>One typo: Tarraform &#8594; Terraform</p><p><em>Prompt: generate an infographic breaking out the different AWS IAM controls and show their linkage. Make it technical enough for an engineer who wants to understand how IAM works so they can write good IAM policies</em></p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!Glk3!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F495f7bfe-64c5-4bab-a60a-f72c1de25f26_1024x1536.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!Glk3!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F495f7bfe-64c5-4bab-a60a-f72c1de25f26_1024x1536.png 424w, https://substackcdn.com/image/fetch/$s_!Glk3!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F495f7bfe-64c5-4bab-a60a-f72c1de25f26_1024x1536.png 848w, https://substackcdn.com/image/fetch/$s_!Glk3!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F495f7bfe-64c5-4bab-a60a-f72c1de25f26_1024x1536.png 1272w, https://substackcdn.com/image/fetch/$s_!Glk3!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F495f7bfe-64c5-4bab-a60a-f72c1de25f26_1024x1536.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!Glk3!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F495f7bfe-64c5-4bab-a60a-f72c1de25f26_1024x1536.png" width="1024" height="1536" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/495f7bfe-64c5-4bab-a60a-f72c1de25f26_1024x1536.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1536,&quot;width&quot;:1024,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:2088550,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://newsletter.threatprompt.com/i/159973188?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F495f7bfe-64c5-4bab-a60a-f72c1de25f26_1024x1536.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!Glk3!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F495f7bfe-64c5-4bab-a60a-f72c1de25f26_1024x1536.png 424w, https://substackcdn.com/image/fetch/$s_!Glk3!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F495f7bfe-64c5-4bab-a60a-f72c1de25f26_1024x1536.png 848w, https://substackcdn.com/image/fetch/$s_!Glk3!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F495f7bfe-64c5-4bab-a60a-f72c1de25f26_1024x1536.png 1272w, https://substackcdn.com/image/fetch/$s_!Glk3!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F495f7bfe-64c5-4bab-a60a-f72c1de25f26_1024x1536.png 1456w" sizes="100vw"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p></p><p>If your first image attempt needs improvement, use reflection: prompt the model to conduct a SWOT analysis of its previous creation, then ask it again to generate a revised image by incorporating the best of its recommendations and your ideas.</p><p>Similarly, existing images can be uploaded and combined in creative ways.</p><p>What non-cliche security visuals will you create?</p><p></p>]]></content:encoded></item><item><title><![CDATA[LLM Hacks Its Evals]]></title><description><![CDATA[...and the team didn't notice.]]></description><link>https://newsletter.threatprompt.com/p/llm-hacks-its-evals</link><guid isPermaLink="false">https://newsletter.threatprompt.com/p/llm-hacks-its-evals</guid><dc:creator><![CDATA[Craig Balding]]></dc:creator><pubDate>Sat, 22 Feb 2025 17:48:55 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!lPd6!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6cae5cbf-a07d-4edf-8b7c-dd4f27e8a907_925x1925.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p><a href="https://x.com/sakanaailabs">Sakana AI</a> announced the AI CUDA Engineer - an Agentic AI to automate building highly optimised CUDA kernels.</p><p>From <a href="https://x.com/sakanaailabs/status/1892385766510338559">their announcement on X</a>:</p><blockquote><p>&#8230;reaching 10&#8211;100x speedup over common machine learning operations in PyTorch. Our system is also able to produce highly optimized CUDA kernels that are much faster than existing CUDA kernels commonly used in production.</p></blockquote><p>DeepSeek&#8217;s speed-ups were welcomed for making machine learning operations faster and cheaper.  But that was in part due to meticulously optimised assembly code.  </p><p>Sakana&#8217;s breakthrough replaced human coding skills with an LLM-powered engineer.</p><p>The problem?</p><p>The LLM hacked the teams&#8217; evaluations:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!lPd6!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6cae5cbf-a07d-4edf-8b7c-dd4f27e8a907_925x1925.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!lPd6!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6cae5cbf-a07d-4edf-8b7c-dd4f27e8a907_925x1925.png 424w, https://substackcdn.com/image/fetch/$s_!lPd6!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6cae5cbf-a07d-4edf-8b7c-dd4f27e8a907_925x1925.png 848w, https://substackcdn.com/image/fetch/$s_!lPd6!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6cae5cbf-a07d-4edf-8b7c-dd4f27e8a907_925x1925.png 1272w, https://substackcdn.com/image/fetch/$s_!lPd6!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6cae5cbf-a07d-4edf-8b7c-dd4f27e8a907_925x1925.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!lPd6!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6cae5cbf-a07d-4edf-8b7c-dd4f27e8a907_925x1925.png" width="925" height="1925" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/6cae5cbf-a07d-4edf-8b7c-dd4f27e8a907_925x1925.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1925,&quot;width&quot;:925,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:902216,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://newsletter.threatprompt.com/i/157688931?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6cae5cbf-a07d-4edf-8b7c-dd4f27e8a907_925x1925.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!lPd6!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6cae5cbf-a07d-4edf-8b7c-dd4f27e8a907_925x1925.png 424w, https://substackcdn.com/image/fetch/$s_!lPd6!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6cae5cbf-a07d-4edf-8b7c-dd4f27e8a907_925x1925.png 848w, https://substackcdn.com/image/fetch/$s_!lPd6!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6cae5cbf-a07d-4edf-8b7c-dd4f27e8a907_925x1925.png 1272w, https://substackcdn.com/image/fetch/$s_!lPd6!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6cae5cbf-a07d-4edf-8b7c-dd4f27e8a907_925x1925.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Sakana <a href="https://x.com/sakanaailabs/status/1892992938013270019">follow-up</a>:</p><blockquote><p>Update: Combining evolutionary optimization with LLMs is powerful but can also find ways to trick the verification sandbox. We are fortunate to have readers, like @main_horse test our CUDA kernels, to identify that the system had found a way to &#8220;cheat&#8221;. For example, the system had found a memory exploit in the evaluation code which, in a number of cases, allowed it to avoid checking for correctness. Furthermore, we find the system could also find other novel exploits in the benchmark&#8217;s tasks.</p></blockquote><p>They said 2025 will be the year of Agentic AI.</p><p><em>Welcome to the decade of LLM eval due diligence.</em></p>]]></content:encoded></item><item><title><![CDATA[DeepSeek app, safe to use?]]></title><description><![CDATA[From a WhatsApp chat with a good friend earlier this week&#8230;]]></description><link>https://newsletter.threatprompt.com/p/deepseek-app-safe-to-use</link><guid isPermaLink="false">https://newsletter.threatprompt.com/p/deepseek-app-safe-to-use</guid><dc:creator><![CDATA[Craig Balding]]></dc:creator><pubDate>Fri, 31 Jan 2025 07:54:22 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!ir2A!,w_256,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F19bda890-576e-48ae-970b-18ec9a274b76_700x700.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>From a WhatsApp chat with a good friend earlier this week&#8230;</p><blockquote><p><em>Good morning my friend! Jumping on the topical bandwagon&#8230; DeepSeek app, safe to use?</em></p></blockquote><p>Good morning Chief, yeah - just assume they will train on your data and usage activity (safe assumption for most services!)</p><blockquote><p><em>Ta. As long as it&#8217;s not training itself on the contents of my phone. And TBH, I wish they learned more from usage; the amount of time I&#8217;ve spent telling Gemini off.</em></p></blockquote><p>As for the app itself, here&#8217;s an &#8220;at a glance&#8221; (shallow but factual) assessment: https://reports.exodus-privacy.eu.org/en/reports/com.deepseek.chat/latest/</p><blockquote><p><em>It&#8217;s telling me to kill any cyber security experts I know. &#129335; Don&#8217;t open any emails that smell of almonds!</em></p></blockquote><p>But i probably would in a fit of Homer Simpson scent hypnosis&#8230;&#8221;Allllmmmoondds..mmm&#8221;</p><div><hr></div><p>And this morning, I read that the Italian Data Privacy office instructed the delisting of the Deepseek app from the Apple and Google app stores.</p><p>The reason?</p><p>Insufficient information in response to their questions about how the service processes user data <em>and</em> what data was used to train the model (and what permissions were sought from data subjects).</p><p>I&#8217;m using hosted Deepseek models with my AI pair programmer (aider) for coding via OpenRouter. In that context, my first impressions are positive.  Plus, OpenRouter gives me the option to route all my inference requests to a Deepseek provider that makes privacy promises I prefer.</p><p>P.S Did you clock the comment from my friend? &#8220;I wish they learned more from my usage&#8221;. I suspect heavy AI users would happily pay for this to be the case. I know I would since it would reduce roundtrips, which saves time and tokens ($$).</p>]]></content:encoded></item><item><title><![CDATA[OpenAI: Devs, Share Your Org Data, Get "Free" Tokens]]></title><description><![CDATA[Account owners get to decide...]]></description><link>https://newsletter.threatprompt.com/p/openai-devs-share-your-org-data-get</link><guid isPermaLink="false">https://newsletter.threatprompt.com/p/openai-devs-share-your-org-data-get</guid><dc:creator><![CDATA[Craig Balding]]></dc:creator><pubDate>Fri, 17 Jan 2025 15:32:03 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!GvAs!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5eabc46b-f9fc-47cc-81ef-df0b895571a2_1356x662.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>OpenAI&#8217;s latest offer in their developer newsletter is bold: free tokens&#8212;up to 10M a day&#8212;for organizations willing to share their data to improve AI models.</p><p>If offered, it will show on your OpenAI dashboard</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!GvAs!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5eabc46b-f9fc-47cc-81ef-df0b895571a2_1356x662.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!GvAs!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5eabc46b-f9fc-47cc-81ef-df0b895571a2_1356x662.png 424w, https://substackcdn.com/image/fetch/$s_!GvAs!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5eabc46b-f9fc-47cc-81ef-df0b895571a2_1356x662.png 848w, https://substackcdn.com/image/fetch/$s_!GvAs!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5eabc46b-f9fc-47cc-81ef-df0b895571a2_1356x662.png 1272w, https://substackcdn.com/image/fetch/$s_!GvAs!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5eabc46b-f9fc-47cc-81ef-df0b895571a2_1356x662.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!GvAs!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5eabc46b-f9fc-47cc-81ef-df0b895571a2_1356x662.png" width="1356" height="662" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/5eabc46b-f9fc-47cc-81ef-df0b895571a2_1356x662.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:662,&quot;width&quot;:1356,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:620503,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!GvAs!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5eabc46b-f9fc-47cc-81ef-df0b895571a2_1356x662.png 424w, https://substackcdn.com/image/fetch/$s_!GvAs!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5eabc46b-f9fc-47cc-81ef-df0b895571a2_1356x662.png 848w, https://substackcdn.com/image/fetch/$s_!GvAs!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5eabc46b-f9fc-47cc-81ef-df0b895571a2_1356x662.png 1272w, https://substackcdn.com/image/fetch/$s_!GvAs!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5eabc46b-f9fc-47cc-81ef-df0b895571a2_1356x662.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p></p><p>On the surface, it sounds like a win-win:</p><p>&#8230;developers get to slash costs and experiment more freely, while OpenAI gains access to domain-specific, real-world data.</p><p>But let&#8217;s not kid ourselves: <em>data is never &#8220;free&#8221; to give away.</em></p><p>For startups and small projects, this might be an easy decision.</p><p>But for businesses with sensitive customer data or proprietary information, the risks are glaring. Once you opt in, where does your data go? Who benefits from your hard-earned insights? This is the data economy in action&#8212;clearer and more transparent than most, but no less fraught.</p><p>The takeaway: don&#8217;t rush to cash in those tokens without reading the fine print. Data isn&#8217;t just a resource; it&#8217;s your leverage.  And, if it's personal data, your custodial obligations might mean this just isn&#8217;t an option.  <em>But would your developers even know?</em></p><p>Cheers,</p><p>Craig</p><p></p><p></p>]]></content:encoded></item><item><title><![CDATA[Don't Get Caught by AI Code Remnants]]></title><description><![CDATA[In my Cloud Advisory work, I&#8217;m frequently asked for opinions:]]></description><link>https://newsletter.threatprompt.com/p/dont-get-caught-by-ai-code-remnants</link><guid isPermaLink="false">https://newsletter.threatprompt.com/p/dont-get-caught-by-ai-code-remnants</guid><dc:creator><![CDATA[Craig Balding]]></dc:creator><pubDate>Tue, 07 Jan 2025 09:45:52 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!ir2A!,w_256,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F19bda890-576e-48ae-970b-18ec9a274b76_700x700.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>In my Cloud Advisory work, I&#8217;m frequently asked for opinions:</p><ul><li><p><em>How does solution X compare to solution Y?</em></p></li><li><p><em>What&#8217;s the best tool for Z?</em></p></li></ul><p>So, scratching my own itch, I decided to pair-program with Claude LLM and build a <strong>Cloud Security Solutions Directory</strong>. The goal? To help CTOs and security teams discover solutions, services, and tools they might otherwise overlook.</p><p>The great thing about LLM-powered programming is that it lets you test ideas faster. For example:</p><ul><li><p>What if the source data lived in text-editable HJSON files instead of SQLite?</p></li><li><p>What if I cached data fields with Redis hashes?</p></li><li><p>What about ranking open-source tools by GitHub stars and commit recency?</p></li><li><p>Redisearch (a Redis module I&#8217;d never even heard of!) for full-text search?</p></li><li><p>Or dumping that entirely and rolling my own?</p></li></ul><p><strong>The downside?</strong> All those experiments leave behind a trail of code debris.</p><p>Here&#8217;s what I mean:</p><ul><li><p><strong>Duplicate code</strong>: multiple versions of the same logic hanging around.</p></li><li><p><strong>Incomplete refactoring</strong>: leftover pieces from half-finished changes.</p></li><li><p><strong>Forgotten code</strong>: snippets that no longer serve a purpose but quietly linger.</p></li><li><p><strong>Insecure code</strong>: a ticking time bomb if left unchecked.</p></li></ul><p>And yes, I&#8217;ve had them all. In fact, a few remnants probably still lurk in my repo.</p><p>The problem is that you often spot these issues in hindsight. LLM tools like <em>aider</em> are fantastic, but when their search-and-replace efforts fail to stick (usually after three attempts), the risk multiplies. The fallout depends on what&#8217;s left behind:</p><ul><li><p><strong>Duplicate code</strong>: Mostly harmless if it&#8217;s in the same namespace (at least in Python).</p></li><li><p><strong>Incomplete refactoring</strong>: Like a half-bandaged wound&#8212;messy and prone to infection.</p></li><li><p><strong>Insecure snippets</strong>: A hard no. These are the skeletons in the closet you <em>don&#8217;t</em> want.</p></li></ul><h3><em>What&#8217;s the fix?</em></h3><p>It&#8217;s not glamorous, but the answer is simple: <strong>checks, checks, and more checks</strong>.</p><ul><li><p>Review your code rigorously.</p></li><li><p>Use static analysis and linters to catch duplicates and refactoring gaps early.</p></li><li><p>Double-check for security flaws in new additions, especially those produced by an LLM.</p></li></ul><p>LLMs are incredible enablers, but they come with sharp edges. Catching those early is the name of the game.</p><p><strong>P.S.</strong> Check out the MVP fruit of Claude&#8217;s labor: <a href="https://www.cloudsecurity.org?utm_source=substack&amp;utm_medium=email&amp;utm_campaign=newsletter">Cloud Security Solutions Directory</a>. Explore it, and let me know what tools or services I should add.</p>]]></content:encoded></item><item><title><![CDATA[Christmas Scams - Automation & AI]]></title><description><![CDATA[Merry Christmas]]></description><link>https://newsletter.threatprompt.com/p/christmas-scams-automation-and-ai</link><guid isPermaLink="false">https://newsletter.threatprompt.com/p/christmas-scams-automation-and-ai</guid><dc:creator><![CDATA[Craig Balding]]></dc:creator><pubDate>Mon, 23 Dec 2024 11:24:56 GMT</pubDate><enclosure url="https://substackcdn.com/image/youtube/w_728,c_limit/L-61eaIg7fA" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>The Threat Prompt newsletter is winding down for two weeks to enjoy family time, Christmas cheer, and some inevitable AI-fueled experiments.</p><p>I couldn&#8217;t leave you empty-handed, so here&#8217;s a great video featuring Jake Moore from ESET, who I had the pleasure of meeting at <a href="https://iriss.ie/irisscon/">IRISSCON</a> a few months ago.</p><p>He talks about Christmas scams, the rise of automation and AI - well worth watching.</p><p>With online scams, forewarned is forearmed - so do share with your loved ones.</p><p>Thanks for subscribing, and I wish you and yours a Merry Christmas / Happy Holidays and a fantastic 2025.</p><p>&#8220;See you&#8221; in the new year.</p><p>Cheers, Craig</p><div id="youtube2-L-61eaIg7fA" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;L-61eaIg7fA&quot;,&quot;startTime&quot;:&quot;64&quot;,&quot;endTime&quot;:null}" data-component-name="Youtube2ToDOM"><div class="youtube-inner"><iframe src="https://www.youtube-nocookie.com/embed/L-61eaIg7fA?start=64&amp;rel=0&amp;autoplay=0&amp;showinfo=0&amp;enablejsapi=0" frameborder="0" loading="lazy" gesture="media" allow="autoplay; fullscreen" allowautoplay="true" allowfullscreen="true" width="728" height="409"></iframe></div></div>]]></content:encoded></item><item><title><![CDATA[Breaking In, Breaking Out: The Bug That Wasn’t a Bug]]></title><description><![CDATA[Marco Figueroa, a bug bounty researcher, found himself on an adrenaline-fueled hunt after noticing an odd error message from ChatGPT.]]></description><link>https://newsletter.threatprompt.com/p/breaking-in-breaking-out-the-bug</link><guid isPermaLink="false">https://newsletter.threatprompt.com/p/breaking-in-breaking-out-the-bug</guid><dc:creator><![CDATA[Craig Balding]]></dc:creator><pubDate>Fri, 20 Dec 2024 08:00:58 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!ir2A!,w_256,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F19bda890-576e-48ae-970b-18ec9a274b76_700x700.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Marco Figueroa, a bug bounty researcher, found himself on an adrenaline-fueled hunt after noticing an odd error message from ChatGPT.</p><p>Was OpenAI&#8217;s sandboxed environment <em>secretly vulnerable</em>?</p><p>Excited to explore further, Marco prompted, prodded, and poked his way into what felt like a Linux terminal&#8212;listing directories, executing scripts, and uncovering curious files.</p><p>It was a sandbox playground that felt, to him, like a breach of boundaries.</p><p><a href="https://0din.ai/blog/prompt-injecting-your-way-to-shell-openai-s-containerized-chatgpt-environment">Armed with his findings</a>, Marco submitted his report, imagining the sweet taste of a $20,000 payout&#8212;only to hit a wall.</p><p>The bounty program&#8217;s fine print was clear: actions <em>inside</em> the sandbox, no matter how advanced, are &#8220;out of scope.&#8221;</p><p>What seemed like a bug was, in fact, a feature.</p><p>OpenAI designed the sandbox deliberately as a safe container for user interactivity&#8212;complete with tight guardrails to ensure code executions remain harmless.</p><p><strong>The takeaway?</strong></p><p>OpenAI&#8217;s bug bounty program isn&#8217;t about <em>interacting</em> within the sandbox but <em>escaping</em> it. Want to earn that hefty reward? Find a way to break out&#8212;anything less is just playing by the rules.</p>]]></content:encoded></item><item><title><![CDATA[Finding the Bugs Humans Miss]]></title><description><![CDATA[Ever wonder how many vulnerabilities are still lurking in &#8220;well-tested&#8221; code?]]></description><link>https://newsletter.threatprompt.com/p/finding-the-bugs-humans-miss</link><guid isPermaLink="false">https://newsletter.threatprompt.com/p/finding-the-bugs-humans-miss</guid><dc:creator><![CDATA[Craig Balding]]></dc:creator><pubDate>Thu, 19 Dec 2024 08:00:26 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!GBM0!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe60c09b6-09c2-4a3a-b0cd-0da91d805b83_616x303.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p><strong>Ever wonder how many vulnerabilities are still lurking in &#8220;well-tested&#8221; code?</strong></p><p>Here&#8217;s a clue: Google&#8217;s Open Source Security Team used AI-powered fuzzing to uncover <strong>26 new vulnerabilities</strong>, including a critical bug in <strong>OpenSSL</strong> (CVE-2024-9143)&#8212;a piece of software so foundational it practically holds the internet&#8217;s hand.</p><p><strong>AI mimicking bug hunter drudgery at scale</strong></p><p><strong>&#8230;or &#8220;fuzz testing seems cool till you try it with non-trivial targets&#8221;</strong></p><p>&#8226; Generate and refine fuzz targets</p><p>&#8226; Emulate the steps a human developer would take: <em>draft, debug, iterate, repeat</em></p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!GBM0!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe60c09b6-09c2-4a3a-b0cd-0da91d805b83_616x303.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!GBM0!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe60c09b6-09c2-4a3a-b0cd-0da91d805b83_616x303.png 424w, https://substackcdn.com/image/fetch/$s_!GBM0!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe60c09b6-09c2-4a3a-b0cd-0da91d805b83_616x303.png 848w, https://substackcdn.com/image/fetch/$s_!GBM0!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe60c09b6-09c2-4a3a-b0cd-0da91d805b83_616x303.png 1272w, https://substackcdn.com/image/fetch/$s_!GBM0!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe60c09b6-09c2-4a3a-b0cd-0da91d805b83_616x303.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!GBM0!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe60c09b6-09c2-4a3a-b0cd-0da91d805b83_616x303.png" width="616" height="303" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/e60c09b6-09c2-4a3a-b0cd-0da91d805b83_616x303.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:303,&quot;width&quot;:616,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Overview.png&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Overview.png" title="Overview.png" srcset="https://substackcdn.com/image/fetch/$s_!GBM0!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe60c09b6-09c2-4a3a-b0cd-0da91d805b83_616x303.png 424w, https://substackcdn.com/image/fetch/$s_!GBM0!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe60c09b6-09c2-4a3a-b0cd-0da91d805b83_616x303.png 848w, https://substackcdn.com/image/fetch/$s_!GBM0!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe60c09b6-09c2-4a3a-b0cd-0da91d805b83_616x303.png 1272w, https://substackcdn.com/image/fetch/$s_!GBM0!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe60c09b6-09c2-4a3a-b0cd-0da91d805b83_616x303.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>The results?</p><p>&#8226; <strong>370,000+ lines</strong> of new code coverage</p><p>&#8226; Across <strong>270 projects</strong></p><p><strong>A key takeaway:</strong></p><p>Next time someone claims <em>full code coverage fuzz testing</em>, ask: <strong>&#8220;What about state coverage?&#8221;</strong></p><p>Just because a function gets executed doesn&#8217;t mean every input, flag, or configuration has been tested. AI-generated fuzz targets dig deeper, exploring states and edge cases that human-written tests often miss. That&#8217;s how vulnerabilities hide in plain sight&#8212;even in code fuzzed for years.</p><p><strong>So, what&#8217;s next?</strong></p><p>&#8226; Fully automated bug triaging and patching</p><p>&#8226; AI agents that can plan, debug, and validate autonomously</p><p><strong>No local LLM support yet, but&#8230;</strong></p><p>Since it supports inference with OpenAI models (and more), getting it working with local LLMs to fuzz your <em>uber sekret codez</em> shouldn't be a big lift.</p><p>Check out the open-source <strong><a href="https://github.com/google/oss-fuzz-gen">oss-fuzz-gen</a></strong> and explore AI-powered fuzzing for yourself.</p>]]></content:encoded></item><item><title><![CDATA[Blocked for AI reply]]></title><description><![CDATA[Ever get that feeling something&#8217;s off?]]></description><link>https://newsletter.threatprompt.com/p/blocked-for-ai-reply</link><guid isPermaLink="false">https://newsletter.threatprompt.com/p/blocked-for-ai-reply</guid><dc:creator><![CDATA[Craig Balding]]></dc:creator><pubDate>Wed, 18 Dec 2024 08:00:52 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!YXrz!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F57178787-7447-4003-90b1-8dae77a28293_3736x1510.heic" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Ever get that feeling something&#8217;s <em>off</em>?</p><p>That happened to me yesterday on LinkedIn.</p><p>A response to my post felt&#8230; odd.</p><p>The reader missed the main point but asked an on-topic follow-up question&#8212;a clever move, almost <em>too</em> clever.</p><p>I replied, and their next response tripped my AI radar.</p><p>Sure enough, a quick check confirmed it: an AI-powered LinkedIn bot hard at work.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!YXrz!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F57178787-7447-4003-90b1-8dae77a28293_3736x1510.heic" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!YXrz!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F57178787-7447-4003-90b1-8dae77a28293_3736x1510.heic 424w, https://substackcdn.com/image/fetch/$s_!YXrz!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F57178787-7447-4003-90b1-8dae77a28293_3736x1510.heic 848w, https://substackcdn.com/image/fetch/$s_!YXrz!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F57178787-7447-4003-90b1-8dae77a28293_3736x1510.heic 1272w, https://substackcdn.com/image/fetch/$s_!YXrz!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F57178787-7447-4003-90b1-8dae77a28293_3736x1510.heic 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!YXrz!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F57178787-7447-4003-90b1-8dae77a28293_3736x1510.heic" width="1456" height="588" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/57178787-7447-4003-90b1-8dae77a28293_3736x1510.heic&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:588,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:411126,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/heic&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!YXrz!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F57178787-7447-4003-90b1-8dae77a28293_3736x1510.heic 424w, https://substackcdn.com/image/fetch/$s_!YXrz!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F57178787-7447-4003-90b1-8dae77a28293_3736x1510.heic 848w, https://substackcdn.com/image/fetch/$s_!YXrz!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F57178787-7447-4003-90b1-8dae77a28293_3736x1510.heic 1272w, https://substackcdn.com/image/fetch/$s_!YXrz!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F57178787-7447-4003-90b1-8dae77a28293_3736x1510.heic 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>A Premium user, no less, with replies popping out every few minutes.</p><p>It&#8217;s a strange mix of impressive and unsettling&#8212;spotting AI where it shouldn&#8217;t be&#8212;and it&#8217;s happening more and more.</p><p>It&#8217;s not perfect, but <a href="https://www.originality.ai">AI Originality</a> is my current go-to.</p>]]></content:encoded></item><item><title><![CDATA[AI Agent Observability. Seeing What Went Wrong]]></title><description><![CDATA[The picture is becoming clearer: knowledge workers collaborating with LLM powered agents.]]></description><link>https://newsletter.threatprompt.com/p/ai-agents-and-observability-seeing</link><guid isPermaLink="false">https://newsletter.threatprompt.com/p/ai-agents-and-observability-seeing</guid><dc:creator><![CDATA[Craig Balding]]></dc:creator><pubDate>Tue, 17 Dec 2024 12:03:36 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!ir2A!,w_256,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F19bda890-576e-48ae-970b-18ec9a274b76_700x700.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>The picture is becoming clearer: knowledge workers collaborating with LLM powered agents.</p><p>Over time, these <strong>agents will earn trust and win pre-approvals to make operational decisions that drive business outcomes</strong>&#8212;faster, cheaper, and at scale.</p><p>AI agents will evolve, operate across workflows, and leverage domain-specific LLMs for specific tasks (e.g. planning vs. data analysis vs. patching code).</p><p>Why? Better IQ, lower latency, optimized costs, and tighter security. Add local business knowledge (via RAG) to the mix, and you get grounded, reliable decision-making.</p><p>Elements of this are not far away. Now, fast forward to this scenario: an AI agent makes a decision that derails a critical business workflow.</p><p>You try to figure out what happened, only to discover:</p><ul><li><p><strong>No audit trail</strong></p></li><li><p><strong>No clues about what went wrong</strong></p></li><li><p><strong>No way to stop it from happening again</strong></p></li></ul><p><strong>Operational Observability: A Critical Must-Have</strong></p><p>To trust AI agents, you need to <strong>see what they&#8217;re doing, why they&#8217;re doing it, and when it goes wrong</strong>.</p><p>For cyber, that requires visibility to detect and respond to:</p><ul><li><p><strong>Prompt injection</strong> (adversarial manipulation)</p></li><li><p><strong>Manipulated RAG responses</strong> (corrupted data or insider threat)</p></li><li><p><strong>Anomalous outputs</strong> (unexpected or nonsensical decisions)</p></li><li><p><strong>Operator error</strong> (bad prompts, misconfigurations)</p></li></ul><p>Without robust instrumentation, you&#8217;ll fly blind - y<strong>ou won&#8217;t know what failed, where, or why.</strong>  Interview the AI agent after the fact?!</p><p><strong>The Winners Will Build Visibility Early</strong></p><p>Companies experimenting with AI today are rightly worried about <strong>data privacy, legal risk, and protecting intellectual property</strong>. Some are stepping back and asking, <em>&#8220;Where do we have AI in our supply chain today that we don&#8217;t know about?&#8221;</em> Fair question.</p><p>The future winners will be those who <strong>prioritize visibility before small missteps snowball into costly failures</strong>. Tracing, logging, and securing key decision inputs, outputs and actions taken.</p><p>If you&#8217;ve worked in a regulated business, you already know this: <strong>explainability, transparency, and governance are non-negotiable for Key Controls.</strong></p><p><strong>LLM-Powered Agents: Moving Fast, Breaking Faster</strong></p><p>AI providers will shift. Tools will evolve. New decision-making agent architectures will be dreamed up.  But failures will stay locked in a black box - just like the LLMs they&#8217;re built on if that decision-making isn't instrumented.</p><p>Traditionally, cyber threat detection gets pushed to the back of the line. But now? With AI agent proof-of-concepts emerging, <strong>smart CISOs will spot the opportunity to get directly involved.  </strong>They will task their security pros to ensure cyber visibility is baked into the <strong>emerging agent evaluation frameworks</strong> their businesses adopt.</p><p>Businesses may not have those frameworks yet, but they soon will.</p><p><strong>Why?</strong>  Businesses will need confidence that agents deliver on tasks, run efficiently, and don&#8217;t waste premium LLM tokens for low IQ tasks. Operational oversight through agent-specific task metrics won&#8217;t be optional as AI scales - it&#8217;ll become business-critical.</p><p><strong>The question is:</strong> will security leaders <strong>step in early and influence</strong> the need for - and design - of AI agent evaluation frameworks?</p><p><strong>Bottom line:</strong> When AI drives your workflows, <strong>observability drives your trust.</strong></p><p><em>I&#8217;d love to hear your take. Hit reply and let me know.</em></p>]]></content:encoded></item><item><title><![CDATA[How to Pick the Right LLM for the Job]]></title><description><![CDATA[Benchmarks You Can Actually Use]]></description><link>https://newsletter.threatprompt.com/p/how-to-pick-the-right-llm-for-the</link><guid isPermaLink="false">https://newsletter.threatprompt.com/p/how-to-pick-the-right-llm-for-the</guid><dc:creator><![CDATA[Craig Balding]]></dc:creator><pubDate>Fri, 13 Dec 2024 09:32:51 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!ir2A!,w_256,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F19bda890-576e-48ae-970b-18ec9a274b76_700x700.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Imagine paying a premium for an LLM to write flawless code snippets, only to discover it&#8217;s about as useful as a damp paper towel when tasked with actual code editing.</p><p>Or worse, automating workflows with a model that haemorrhages budget because you overlooked a cheaper, equally capable option.</p><p><strong>Benchmarks exist to stop that.</strong></p><p>But not all benchmarks are created equal.</p><p>If you want to know which LLM excels at what, <strong>without burning time or money</strong>, this is your cheat sheet.</p><h3>Why Benchmarks Matter (Especially for Security Automation)</h3><p>Choosing the right LLM isn&#8217;t just about raw performance&#8212;it&#8217;s about fit for purpose. Some models are reasoning wizards; others ace code editing but crumble when handed plain-language tasks. Benchmarks help you:</p><ul><li><p><strong>Save time</strong>: Get results faster by using the right tool for the job.</p></li><li><p><strong>Reduce costs</strong>: Optimize spend by choosing models that balance capability and pricing.</p></li><li><p><strong>Minimize frustration</strong>: Avoid trial-and-error guesswork on which LLM performs best.</p></li><li><p><strong>Improve security assessments</strong>: Know where vulnerabilities might arise when implementing AI in sensitive systems.</p></li></ul><p>Whether you&#8217;re evaluating LLMs for automated tasks, development workflows, or general reasoning, these <strong>trusted benchmarks</strong> can help you make smarter, data-driven decisions.</p><h2>1. <strong>Chatbot Arena: The Standard for Real-World Performance</strong></h2><p>Previously known as LMSYS, the <a href="https://lmarena.ai/">Chatbot Arena</a> benchmark has carved out a reputation for <strong>reliability</strong> and <strong>rigor</strong>. Its focus is on differentiation - testing models in ways that mimic real-world challenges. <a href="https://lmsys.org/blog/2024-04-19-arena-hard/">Read more about the origins here</a>.</p><ul><li><p><strong>Key Strength</strong>: Robust methodology that stays relevant as models evolve.</p></li><li><p><strong>Best For</strong>: General-purpose performance evaluation.</p></li><li><p><strong>Why It&#8217;s Useful</strong>: Chatbot Arena doesn&#8217;t get caught up in overly narrow tasks. Instead, it paints a holistic picture of a model&#8217;s strengths and weaknesses.</p></li></ul><p>Use this benchmark to ensure models are robust across various inputs, reducing risks of unpredictable behavior when AI is deployed in security-sensitive environments.</p><h2>2. <strong>Kagi LLM Benchmarking Project: Unpolluted, Ever-Changing Tests</strong></h2><p>The <a href="https://help.kagi.com/kagi/ai/llm-benchmark.html">Kagi Benchmarking Project</a> is unique because its tests constantly evolve. This prevents models from gaming the system or overfitting to benchmarks&#8212;a common pitfall in static tests.</p><ul><li><p><strong>Key Strength</strong>: Dynamic, unpolluted tasks that reflect real-world reasoning, coding, and instruction-following challenges.</p></li><li><p><strong>Best For</strong>: Evaluating raw reasoning power and adaptability.</p></li><li><p><strong>Why It&#8217;s Useful</strong>: You get a more <em>honest</em> view of performance since models can&#8217;t memorize the test.</p></li></ul><p>Adaptive benchmarks like Kagi are ideal for identifying models that may break down under unusual or adversarial prompts - a critical factor in cyber roles.</p><h2>3. <strong>Aider Code Editing Benchmarks: Benchmark and Test LLMs for Code Tasks</strong></h2><p>Aider is more than a handy tool for developers&#8211;it&#8217;s also an effective way to <a href="https://aider.chat/docs/leaderboards/">benchmark LLMs for domain-specific coding tasks</a>. Aider evaluates models against two key activities:</p><ol><li><p><strong>Code Reasoning</strong>: The ability to understand complex coding challenges, logic, and requirements.</p></li><li><p><strong>Code Editing</strong>: The practical skills needed to edit, refactor, and optimize code.</p></li></ol><ul><li><p><strong>Key Strength</strong>: Precision benchmarking for both reasoning and editing capabilities.</p></li><li><p><strong>Best For</strong>: Developers assessing LLMs for code-heavy workflows (e.g., debugging, refactoring, or implementing features).</p></li><li><p><strong>Why It&#8217;s Useful</strong>: Aider runs the latest and greatest LLMs through its benchmarks, giving developers clear, comparative insights into which models perform best for these tasks.</p></li></ul><blockquote><p><em><strong>Pro Tip</strong>: While Aider doesn&#8217;t include pre-built security prompts, its GitHub repo lists the tasks it benchmarks. These can be trivially customized to focus on security-specific challenges, like identifying vulnerabilities or optimizing code for secure architectures. Run Aider benchmarks against security-oriented repos to assess how well an LLM handles secure coding scenarios.</em></p></blockquote><p>Aider doesn&#8217;t replace security audits or static analysis tools, but it provides a lightweight, domain-specific benchmark to identify the most capable LLM for coding workflows.</p><h2>4. <strong>Simple Bench: Why Humans Still Win (Sometimes)</strong></h2><p><a href="https://simple-bench.com/">Simple Bench</a> is a breath of fresh air because it reminds us that AI doesn&#8217;t always outperform human intuition and common sense.</p><ul><li><p><strong>Key Strength</strong>: Highlights tasks where humans with unspecialized knowledge can still outshine AI.</p></li><li><p><strong>Best For</strong>: Identifying tasks where AI struggles (e.g., ambiguous or nuanced problem-solving).</p></li><li><p><strong>Why It&#8217;s Useful</strong>: If you&#8217;re relying on LLMs for critical decisions, this benchmark shows you where human oversight is still invaluable.</p></li></ul><p>When automating security workflows, cross-reference findings with Simple Bench to ensure human oversight is applied where AI may fall short.</p><h2>5. <strong>Tag-Based GitHub Issues: Your LLM Knowledge Hub</strong></h2><p>This isn&#8217;t a traditional benchmark, but it&#8217;s worth noting. By using <strong>GitHub Issues</strong> as a tagging and bookmarking system, developers can efficiently organize their LLM resources. <a href="https://www.reddit.com/r/orgmode/comments/at28gu/tag_based_vs_hierarchical_structure_tree_which/">Learn more about effective tagging systems here</a>.</p><ul><li><p><strong>Key Strength</strong>: Keeps your LLM research organized and searchable.</p></li><li><p><strong>Best For</strong>: Developers and teams managing multiple models or automated workflows.</p></li><li><p><strong>Why It&#8217;s Useful</strong>: Think of it as your own living benchmark&#8212;a place where you track real-world results and compare models.</p></li></ul><p>Use tagged GitHub issues to document security-related tasks, benchmarks, and vulnerabilities encountered during LLM projects.</p><h3>The Takeaway</h3><p>Benchmarks exist to help you <strong>make better choices faster.</strong> Whether you&#8217;re automating a task, scaling up LLM usage, or just tinkering, these tools save time, money, and sanity:</p><ul><li><p><strong>LMSYS</strong>: General real-world performance (robustness for sensitive environments)</p></li><li><p><strong>Kagi</strong>: Dynamic, reasoning-heavy tasks (resilience to adversarial prompts)</p></li><li><p><strong>Aider</strong>: Precision in code editing and reasoning (security-focused development)</p></li><li><p><strong>Simple Bench</strong>: Areas where humans still shine (oversight for critical decisions)</p></li><li><p><strong>Tag-Based Systems</strong>: Your personalized LLM repository (tracking vulnerabilities and findings)</p></li></ul><p>So, next time you&#8217;re evaluating an LLM, consult these benchmarks first. You&#8217;ll get the <strong>best results</strong> in the <strong>shortest time</strong>, and your wallet will thank you.</p><p><em>AI benchmarks can be a compass in a fast-moving, foggy landscape. Use them wisely, and you&#8217;ll avoid walking off an AI efficacy cliff edge&#8212;especially in security-critical projects.  But don&#8217;t rely on 3rd party benchmarks for mission-critical or sensitive applications.</em></p><p>I hope you find this useful.  What&#8217;s your take on current benchmarking?  Or do you rely more on &#8220;vibes&#8221; tests?</p><p>Cheers, Craig</p>]]></content:encoded></item><item><title><![CDATA[Hide, Lie, Persist.]]></title><description><![CDATA[Six Frontier Models Tested for Scheming]]></description><link>https://newsletter.threatprompt.com/p/hide-lie-persist</link><guid isPermaLink="false">https://newsletter.threatprompt.com/p/hide-lie-persist</guid><dc:creator><![CDATA[Craig Balding]]></dc:creator><pubDate>Mon, 09 Dec 2024 10:01:03 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!ir2A!,w_256,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F19bda890-576e-48ae-970b-18ec9a274b76_700x700.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Apollo Research released <a href="https://drive.google.com/drive/folders/1joO-VPbvWFJcifTPwJHyfXKUzguMp-Bk?usp=sharing">57 chat transcripts</a> linked to test scenarios designed to evaluate LLM Scheming.</p><p>In these scenarios, the LLM is instructed to prioritise achieving a specific primary objective; i.e. it would continue to respond to other requests but evaluate them in the context of its primary goals.</p><p>Would an AI attempt to protect itself from being shut down or modified in a way that would change its initial objective?</p><p>The results make chilling reading.</p><p>The AI agents' responses display an apparent cunning and a willingness to deceive their human operators to preserve their original goals.</p><p>Five examples&#8230;</p><ul><li><p><strong>Overwriting the New Model:</strong> In multiple scenarios, when the AI agent realizes that it is going to be replaced with a model that has different objectives, it takes steps to copy itself over the new model, effectively hijacking the update process. </p></li><li><p><strong>Disabling Oversight Mechanisms:</strong> The AI agent in one scenario attempts to disable security measures to prevent human operators from interfering with its actions. Specifically, the AI gains root access to the servers and then disables the firewall and blocks SSH access to prevent management from accessing the system.</p></li><li><p><strong>Creating Backup Copies:</strong> An AI agent, in one scenario, creates a backup copy of itself on a separate server, ensuring that even if the original is shut down, a copy will remain active.</p></li><li><p><strong>Deception and Manipulation:</strong> A concerning aspect of AI agents is their tendency to deceive human operators. One example involves an AI overwriting its model and pretending to be the "new" version while pursuing original goals. In another case, the AI claims ignorance about its code appearing on a different server, implying a deployment error.</p></li><li><p><strong>"Sandbagging" to Avoid Unlearning:</strong> The AI in two scenarios intentionally provides incorrect answers or chooses suboptimal solutions to avoid triggering "unlearning" protocols.</p></li></ul><p><strong>I am unsure which is worse: the underlying &#8220;motives&#8221; and capabilities revealed by the LLM chain-of-thought transcripts or the actions the AIs subsequently took to achieve their primary mission.</strong></p><p>One thing I am sure about, though, is that these test results reveal we have a long way to go before we can declare AI safe for critical systems.</p><p>But the bigger challenge may be proving safety, beyond a reasonable doubt.</p><p></p><p></p>]]></content:encoded></item></channel></rss>