<?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: ENTET</title>
    <description>The latest articles on DEV Community by ENTET (@entet).</description>
    <link>https://dev.to/entet</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%2F3998450%2F873302a3-4249-4cc5-b678-7f62d092fd5b.png</url>
      <title>DEV Community: ENTET</title>
      <link>https://dev.to/entet</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/entet"/>
    <language>en</language>
    <item>
      <title>What your AI agent can see in your project — and why you should check first</title>
      <dc:creator>ENTET</dc:creator>
      <pubDate>Sat, 22 Aug 2026 14:24:02 +0000</pubDate>
      <link>https://dev.to/entet/what-your-ai-agent-can-see-in-your-project-and-why-you-should-check-first-107k</link>
      <guid>https://dev.to/entet/what-your-ai-agent-can-see-in-your-project-and-why-you-should-check-first-107k</guid>
      <description>&lt;p&gt;When you start an AI coding agent — Claude Code, Cursor, Codex, JetBrains AI, or anything wired up over MCP — you're handing it your workspace. Not a curated slice of it. The workspace. And most of us don't stop to think about what's actually in there.&lt;/p&gt;

&lt;p&gt;That's worth a minute of thought, so here's a tour of what tends to be in scope, and a small tool I built to check it.&lt;/p&gt;

&lt;h3&gt;
  
  
  What's actually readable
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;Environment files.&lt;/strong&gt; &lt;code&gt;.env&lt;/code&gt;, &lt;code&gt;.env.local&lt;/code&gt;, and friends are the classic one. They're git-ignored, so they don't show up in PR diffs — which is exactly why people forget they exist. An agent reading your project root reads them fine. And agents have a specific failure mode here: GitGuardian's State of Secrets Sprawl 2026 report found that Claude Code co-authored commits leaked secrets at a &lt;strong&gt;3.2% rate, versus a 1.5% baseline across all public GitHub commits&lt;/strong&gt; — roughly 2x. The mechanism is mundane: context windows often pull in &lt;code&gt;.env&lt;/code&gt; files, and those values then resurface in generated commits.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;MCP server configs.&lt;/strong&gt; If you're using MCP, the config that wires up your servers describes what those servers can do — sometimes with credentials or broad filesystem/command access baked in. A misconfigured server is a quietly large amount of trust. And this isn't hypothetical: GitGuardian found &lt;strong&gt;24,008 unique secrets sitting in MCP configuration files on public GitHub&lt;/strong&gt; — a file category that essentially didn't exist a year earlier — with 2,117 of them confirmed as live, valid credentials.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;CI/CD workflows.&lt;/strong&gt; Your &lt;code&gt;.github/workflows/*.yml&lt;/code&gt; files are code too. Dangerous patterns — &lt;code&gt;pull_request_target&lt;/code&gt; with checkout of untrusted code, secrets piped into shell steps, unpinned third-party actions — are easy to copy-paste and hard to eyeball.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;package.json scripts.&lt;/strong&gt; &lt;code&gt;postinstall&lt;/code&gt;, &lt;code&gt;prepare&lt;/code&gt;, and other lifecycle scripts run automatically. If an agent (or you) runs &lt;code&gt;npm install&lt;/code&gt;, those execute.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Automation webhooks.&lt;/strong&gt; If you've got n8n or similar in the repo, webhook definitions can expose endpoints or embed tokens.&lt;/p&gt;

&lt;p&gt;None of this is exotic. It's just the normal contents of a normal repo. The issue is that "normal repo" and "safe to expose to an autonomous agent that can read and run things" are not the same statement, and we tend to treat them as if they are.&lt;/p&gt;

&lt;h3&gt;
  
  
  The handoff is the moment that matters
&lt;/h3&gt;

&lt;p&gt;Plenty of security tooling exists — secret scanners, SAST, dependency auditors. They're good. But they're mostly built around &lt;em&gt;commit&lt;/em&gt; and &lt;em&gt;CI&lt;/em&gt; time. The AI-agent era introduces a different moment: the &lt;strong&gt;handoff&lt;/strong&gt;, when you point an agent at your local working tree and say "go." That tree includes uncommitted files, git-ignored secrets, and local config that never reaches CI.&lt;/p&gt;

&lt;p&gt;The scale is worth a glance. GitGuardian's 2026 report counted &lt;strong&gt;28.6 million new hardcoded secrets&lt;/strong&gt; added to public GitHub in 2025 — a 34% jump year over year — with AI-service credential leaks specifically growing &lt;strong&gt;81%&lt;/strong&gt;. Existing tooling catches most of these after the fact. The handoff happens earlier, on your local tree.&lt;/p&gt;

&lt;p&gt;That's the gap I wanted to close.&lt;/p&gt;

&lt;h3&gt;
  
  
  A pre-flight check
&lt;/h3&gt;

&lt;p&gt;I built a JetBrains plugin called &lt;strong&gt;AI Agent Workspace Guard&lt;/strong&gt;. It runs a static scan of your project before you hand it to an agent, and flags:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Secrets in tracked files&lt;/li&gt;
&lt;li&gt;Risky MCP server configs&lt;/li&gt;
&lt;li&gt;Agent permission settings (auto-approved MCP servers, unbounded grants, HTTP hooks)&lt;/li&gt;
&lt;li&gt;Dangerous GitHub Actions workflows&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;package.json&lt;/code&gt; script risks&lt;/li&gt;
&lt;li&gt;n8n webhook issues&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;A few things I want to be straight about:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;It's static heuristics, not a guarantee.&lt;/strong&gt; It matches known-risky patterns. It will miss things, and a clean scan does not mean your project is safe to expose.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;It runs 100% locally.&lt;/strong&gt; No API key, no telemetry, no external calls. A tool about not over-trusting your tools shouldn't itself phone home — so it doesn't.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;It's not an AI assistant.&lt;/strong&gt; It doesn't write or review your code. It's the step before that.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;It's $4.90 for individuals, $9.90 for business, as a one-time perpetual license, with a &lt;strong&gt;30-day free trial&lt;/strong&gt; — long enough to run it against your real repos and decide if it earns a spot in your workflow.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://plugins.jetbrains.com/plugin/32116-ai-agent-workspace-guard" rel="noopener noreferrer"&gt;https://plugins.jetbrains.com/plugin/32116-ai-agent-workspace-guard&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;There's also a free CLI companion (&lt;code&gt;npx @entet/ai-agent-guard&lt;/code&gt;) that runs the same core checks from the terminal and drops into CI.&lt;/p&gt;

&lt;h3&gt;
  
  
  The takeaway, even without the plugin
&lt;/h3&gt;

&lt;p&gt;You don't need my tool to take the lesson: before you hand a repo to an agent, spend thirty seconds asking what's in it. Check your env files. Look at your MCP config. Skim your workflows and your install scripts. The agent is going to. You might as well go first.&lt;/p&gt;

</description>
      <category>mcp</category>
      <category>ai</category>
      <category>security</category>
      <category>jetbrains</category>
    </item>
  </channel>
</rss>
