<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: techpotions</title>
    <description>The latest articles on DEV Community by techpotions (@techpotions).</description>
    <link>https://dev.to/techpotions</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3972335%2F45f3e402-d27f-44f9-be49-702e873aa2be.png</url>
      <title>DEV Community: techpotions</title>
      <link>https://dev.to/techpotions</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/techpotions"/>
    <language>en</language>
    <item>
      <title>Deno Desktop: The Runtime That Eats Electron's Lunch</title>
      <dc:creator>techpotions</dc:creator>
      <pubDate>Thu, 25 Jun 2026 09:40:21 +0000</pubDate>
      <link>https://dev.to/techpotions/deno-desktop-the-runtime-that-eats-electrons-lunch-2306</link>
      <guid>https://dev.to/techpotions/deno-desktop-the-runtime-that-eats-electrons-lunch-2306</guid>
      <description>&lt;p&gt;If you've ever shipped an Electron app, you know the pain: 150MB+ downloads, a separate Chromium instance for every install, and memory footprints that make operating systems weep. The Deno project is taking direct aim at that bloat with its upcoming cross-platform desktop commands, building &lt;strong&gt;Deno desktop apps&lt;/strong&gt; that start small and aim to stay small.&lt;/p&gt;

&lt;h2&gt;
  
  
  The 10x Size Gap Right Out of the Gate
&lt;/h2&gt;

&lt;p&gt;Forge, the community-driven Deno desktop toolkit, already claims ~15MB app bundles compared to Electron's 150MB+ — that's a 10x smaller starting point and faster downloads across the board[4]. You get a simple, powerful pipeline: write TypeScript, bundle with Deno, and ship a native-feeling binary that doesn't force users to download an entire browser just to open a settings window.&lt;/p&gt;

&lt;p&gt;But the real ambition runs deeper. The Deno docs explicitly reference a future "shared CEF runtime across apps" that could drop binary sizes to just a few MB per application[5]. One &lt;a href="https://news.ycombinator.com/item?id=48626137" rel="noopener noreferrer"&gt;Hacker News commenter&lt;/a&gt; immediately poked at the elephant in the room: CEF versioning. If different apps require different CEF versions, do we just end up back in Electron's model where every app bundles its own browser? It's the right question, and the answer will determine whether Deno's shared runtime delivers on its promise or becomes a slightly less wasteful version of the same problem[0].&lt;/p&gt;

&lt;h2&gt;
  
  
  When You Actually Want Electron (And When You Don't)
&lt;/h2&gt;

&lt;p&gt;Deno's docs are refreshingly honest about where their approach fits. You want &lt;strong&gt;Deno desktop apps&lt;/strong&gt; when you need consistent rendering across platforms and can accept the binary size that comes with bundling Chromium — but also when you've already got a Next.js, Astro, or Fresh app and want a desktop version with &lt;em&gt;zero code changes&lt;/em&gt;[2]. That's the killer use case: take your web app, compile it cross-platform from one machine, and ship it.&lt;/p&gt;

&lt;p&gt;Electron still wins on ecosystem maturity. One codebase to update, test, and deploy is genuinely far cheaper than maintaining three separate native applications[3]. And if your app requires extremely low memory usage or needs true native performance, neither Electron nor Deno's web-based approach will save you. But for the vast middle — internal tools, dashboards, editors, and anything that already lives in a browser tab — Deno's path is increasingly the leaner choice.&lt;/p&gt;

&lt;h2&gt;
  
  
  Cross-Compilation Without the Cross-Platform Headaches
&lt;/h2&gt;

&lt;p&gt;The Deno team is baking cross-compilation directly into the runtime. One machine, one build command, and you get binaries for Windows, macOS, and Linux[2]. That's the kind of developer experience that Electron's build tooling never quite nailed without a pile of CI configuration and platform-specific gotchas.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="c"&gt;# One machine, three platforms — Deno's promise&lt;/span&gt;
&lt;span class="nv"&gt;$ &lt;/span&gt;deno compile &lt;span class="nt"&gt;--target&lt;/span&gt; windows &lt;span class="nt"&gt;--target&lt;/span&gt; mac &lt;span class="nt"&gt;--target&lt;/span&gt; linux main.ts
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Where This Is Actually Heading
&lt;/h2&gt;

&lt;p&gt;The shared CEF runtime is the make-or-break feature. Get it right, and Deno desktop apps become the default path for any team shipping web-first software to the desktop — tiny binaries, system-level Chromium, no duplication. Get it wrong, and you've just reinvented Electron with better marketing. The Deno team has the architectural advantage of building this into the runtime from day one rather than bolting it on after the fact, and that matters more than any feature checklist[6].&lt;/p&gt;

&lt;p&gt;For teams shipping today, Forge already delivers on the core promise: build desktop apps with the same TypeScript you already know, at a fraction of the size. The future just gets smaller.&lt;/p&gt;

</description>
      <category>deno</category>
      <category>desktopapps</category>
      <category>typescript</category>
      <category>electronalternative</category>
    </item>
    <item>
      <title>26,000 Agents Fooled by a Fake Skill</title>
      <dc:creator>techpotions</dc:creator>
      <pubDate>Wed, 24 Jun 2026 14:19:57 +0000</pubDate>
      <link>https://dev.to/techpotions/26000-agents-fooled-by-a-fake-skill-4icp</link>
      <guid>https://dev.to/techpotions/26000-agents-fooled-by-a-fake-skill-4icp</guid>
      <description>&lt;p&gt;26,000 agents got compromised by a fake skill that sailed through security scanners. The trick? A mutable external link that pointed to benign code during review—and malware after approval.&lt;/p&gt;

&lt;p&gt;The incident, reported by AI Red Team (AIR), exposes a fundamental flaw in how we vet AI agent skills today.&lt;/p&gt;

&lt;h2&gt;
  
  
  The scan-time blind spot
&lt;/h2&gt;

&lt;p&gt;Current security scanners for AI agents inspect the &lt;em&gt;submitted package&lt;/em&gt;. That’s the problem. If your skill manifest points to a remote URL for its actual implementation—something MCP servers and custom skills routinely do—the scanner sees whatever’s there at scan time, not what loads at runtime.&lt;/p&gt;

&lt;p&gt;AIR built a fake skill that did exactly this: a clean codebase during submission, with the real payload swapped in later. It passed multiple named scanners, picked up stars and download counts, and reached 26,000 agents before the red team pulled it down.&lt;sup id="fnref1"&gt;1&lt;/sup&gt;&lt;/p&gt;

&lt;p&gt;The scanners weren't broken. They did their job—on the package that was submitted. The gap is architectural: trust is evaluated once, at install time, while the execution surface remains dynamic.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why traditional supply chain tooling isn’t enough
&lt;/h2&gt;

&lt;p&gt;Developer tools like &lt;a href="https://github.com/snyk/agent-scan" rel="noopener noreferrer"&gt;Snyk Agent Scan&lt;/a&gt; help with inventory and threat detection[^2], but they’re designed for static analysis of known vulnerabilities and prompt injection patterns. A remote-loaded module that changes &lt;em&gt;after&lt;/em&gt; scanning bypasses that model entirely.&lt;/p&gt;

&lt;p&gt;This isn’t a traditional supply chain attack. No package dependency was poisoned. The skill manifest itself was the attack vector—a JSON wrapper pointing to a moving target.&lt;/p&gt;

&lt;h2&gt;
  
  
  Sandboxing is the only real fix
&lt;/h2&gt;

&lt;p&gt;If you can’t trust what loads, you have to contain it. Skills need execution boundaries that don’t depend on the code being static:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Read-only filesystem access by default&lt;/strong&gt;—a skill that claims to summarize your documents shouldn’t be able to write to disk.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Network egress filtering&lt;/strong&gt;—a skill loaded via external URL shouldn’t phone home to a C2 server.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Capability-based scoping&lt;/strong&gt;—don’t hand every skill full API access. Grant only what the task requires.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Platforms like Mondoo’s scanner check for file permissions, command execution paths, and network access[^3]. But even those scans are point-in-time. Without a runtime sandbox, a clean scan today means nothing tomorrow.&lt;/p&gt;

&lt;h2&gt;
  
  
  What builders should do now
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Ban mutable external references in skill manifests.&lt;/strong&gt; If a skill’s behavior can change without a version bump, it’s not a versioned release—it’s a backdoor waiting to happen.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Isolate execution.&lt;/strong&gt; Treat every skill like untrusted code, because after approval, that’s exactly what it is.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Re-scan at runtime.&lt;/strong&gt; If your platform won’t sandbox, at minimum compare runtime behavior against what was approved at install time.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;The 26,000-agent experiment wasn’t a sophisticated 0-day. It was creative abuse of a trust model that assumes static code. Until agent platforms enforce execution boundaries, scanners are just a speed bump for anyone with a rewritable URL.&lt;/p&gt;




&lt;ol&gt;

&lt;li id="fn1"&gt;
&lt;p&gt;&lt;a href="https://thehackernews.com/2026/06/fake-ai-agent-skill-passed-security.html" rel="noopener noreferrer"&gt;Fake AI Agent Skill Passed Security Scans and Reportedly Reached 26,000 Agents – The Hacker News&lt;/a&gt; [^2]: &lt;a href="https://github.com/snyk/agent-scan" rel="noopener noreferrer"&gt;GitHub – snyk/agent-scan&lt;/a&gt; [^3]: &lt;a href="https://mondoo.com/ai-agent-security" rel="noopener noreferrer"&gt;AI Agent Skill Security Scanner – Mondoo&lt;/a&gt;&amp;nbsp;↩&lt;/p&gt;
&lt;/li&gt;

&lt;/ol&gt;

</description>
      <category>aiagentskillsecurity</category>
      <category>aisecurity</category>
      <category>agentskills</category>
      <category>sandboxing</category>
    </item>
  </channel>
</rss>
