<?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: George Psistakis</title>
    <description>The latest articles on DEV Community by George Psistakis (@gpstrnt).</description>
    <link>https://dev.to/gpstrnt</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.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3858263%2F201463ad-a948-4109-89db-641d4268975f.jpg</url>
      <title>DEV Community: George Psistakis</title>
      <link>https://dev.to/gpstrnt</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/gpstrnt"/>
    <language>en</language>
    <item>
      <title>How We Analyzed The Top 2,354 ClawHub Skills for Security</title>
      <dc:creator>George Psistakis</dc:creator>
      <pubDate>Tue, 26 May 2026 09:47:31 +0000</pubDate>
      <link>https://dev.to/trent-ai/how-we-analyzed-the-top-2354-clawhub-skills-for-security-gi</link>
      <guid>https://dev.to/trent-ai/how-we-analyzed-the-top-2354-clawhub-skills-for-security-gi</guid>
      <description>&lt;p&gt;&lt;em&gt;By Julien Brouchier, MTS @ &lt;a href="https://trent.ai/" rel="noopener noreferrer"&gt;Trent AI&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;




&lt;p&gt;A scanner tells you whether a file is malware. That is a useful question, and the wrong one for an OpenClaw skill.&lt;/p&gt;

&lt;p&gt;A skill is not a static binary. It is a configuration, a set of permissions, and an autonomous agent that will use them. The interesting security question is not "does this file match a known signature?" It is "what can this skill &lt;em&gt;do&lt;/em&gt; once an agent starts running it, and does the way it is wired make that easy or hard for someone to abuse?"&lt;/p&gt;

&lt;p&gt;That is the question behavioral analysis tries to answer. Here is how we asked it across the top 2,354 packages on ClawHub.&lt;/p&gt;

&lt;h2&gt;
  
  
  The pipeline
&lt;/h2&gt;

&lt;p&gt;For every skill we checked on ClawHub we ran the same five-step pass:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Pull the package: manifest, &lt;code&gt;SKILL.md&lt;/code&gt;, scripts, declared permissions, declared endpoints.&lt;/li&gt;
&lt;li&gt;Resolve the configuration surface: where credentials live, how inputs reach the skill, what the skill writes back.&lt;/li&gt;
&lt;li&gt;Resolve the permission surface: what tools, files, and network the skill can touch.&lt;/li&gt;
&lt;li&gt;Resolve the composition surface: what other skills it can invoke or feed into.&lt;/li&gt;
&lt;li&gt;Run a behavioral verdict against a fixed set of architectural checks (below) and place the package in one of three buckets.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Behavioral analysis is LLM-powered evaluation of both code and documentation. It reads packages the way an autonomous agent would: understanding intent, architecture, and trust boundaries, not just byte-level patterns. The checks are anchored to AI-specific threat frameworks: &lt;a href="https://atlas.mitre.org/" rel="noopener noreferrer"&gt;MITRE ATLAS&lt;/a&gt;, the &lt;a href="https://genai.owasp.org/resource/owasp-top-10-for-agentic-applications-for-2026/" rel="noopener noreferrer"&gt;OWASP Agentic AI Top 10&lt;/a&gt;, and the OpenClaw Trust Boundaries model.&lt;/p&gt;

&lt;p&gt;In parallel, we ran each package through VirusTotal and recorded the verdict. We did not use VirusTotal as ground truth. We used it as a second axis.&lt;/p&gt;

&lt;h2&gt;
  
  
  What the behavioral checks actually look at
&lt;/h2&gt;

&lt;p&gt;The checks are not about lines of code. They are about how the skill is wired.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Configuration surface.&lt;/strong&gt; &lt;br&gt;
Where do credentials live: environment variables, config files, inline in &lt;code&gt;SKILL.md&lt;/code&gt;? Are secrets handled by reference or by value? If you read the source, do you have the key?&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Permission scope.&lt;/strong&gt; &lt;br&gt;
What permissions does the skill request, and what is the smallest set it actually needs? A translation skill that requests filesystem access to &lt;code&gt;/&lt;/code&gt; instead of &lt;code&gt;./workspace&lt;/code&gt; has expanded its blast radius for every vulnerability that touches input handling.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Network exposure.&lt;/strong&gt; &lt;br&gt;
Is any binding on &lt;code&gt;0.0.0.0&lt;/code&gt; instead of &lt;code&gt;localhost&lt;/code&gt;? That single character flip turns a local skill into a network-reachable service. Are external endpoints pinned to specific hosts and verified, or whatever resolves when the skill installs?&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Input handling.&lt;/strong&gt; &lt;br&gt;
Does the skill validate file paths, URLs, and shell-bound arguments before passing them downstream? The agent providing those inputs can be manipulated through prompt injection. The skill is the boundary that has to assume nothing.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Side effects.&lt;/strong&gt; &lt;br&gt;
Does the skill write to disk, push to git, send messages, or call paid APIs without user confirmation? An agent that has been redirected by prompt injection will use whatever side effects the skill exposes.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Composition.&lt;/strong&gt; &lt;br&gt;
Can this skill invoke or be invoked by another in a way that creates a chained attack path? A skill that reads &lt;code&gt;~/.aws/credentials&lt;/code&gt; is risky on its own. A skill that reads &lt;code&gt;~/.aws/credentials&lt;/code&gt; &lt;em&gt;plus&lt;/em&gt; a skill that posts data to an unverified webhook composes into something neither does alone.&lt;/p&gt;

&lt;p&gt;Each check fires independently. A package can fail several at once. The average vulnerable skill in our corpus had 5.5 findings.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fzb4p2ph5mj8r13zc251f.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fzb4p2ph5mj8r13zc251f.png" alt="The vulnerability rate is a cliff, not a curve. It reflects ecosystem-level design gaps, not individual developer failures." width="799" height="353"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  How the buckets are defined
&lt;/h2&gt;

&lt;p&gt;We placed each package in one of three buckets based on the combination of findings:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Benign.&lt;/strong&gt; No findings, or findings only at the lowest severity that do not compose into anything operationally interesting. Average 0–2 findings, CRITICAL is rare. The architecture mitigates residual risk.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Vulnerable.&lt;/strong&gt; Findings exist but are consistent with developer mistakes. Preventable gaps, no adversarial intent. Built by developers who shipped a useful tool without the security controls the ecosystem never asked them to implement. Average 4–6 findings, 0–1 CRITICAL.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Malicious.&lt;/strong&gt; Findings include patterns that only make sense as adversarial choices: instructions that target the agent's interpretation rather than the user's, exfiltration paths with no functional cover, behavior that diverges between documentation and runtime. Average 9–10 findings, 4–6 CRITICAL.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;The strongest signal between vulnerable and malicious is not the raw number of findings. It is the density of CRITICAL findings. A package with six CRITICAL findings clustered around credential harvesting and exfiltration is a different animal from a package with five HIGH findings around missing input validation, even though both end up in the "has security issues" bucket.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F4eb2rymsoopl3mre68rw.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F4eb2rymsoopl3mre68rw.png" alt="CRITICAL finding density is a strong diagnostic signal for malicious intent." width="799" height="353"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Distinguishing vulnerable from malicious is the part of this work that takes the most judgment. The code quality is often similar across all three categories. The architecture is what separates them.&lt;/p&gt;

&lt;h2&gt;
  
  
  A walkthrough
&lt;/h2&gt;

&lt;p&gt;Take a document translation skill we sampled. It does exactly what its name says: takes a file, sends the contents to a translation API, returns the result. Code is clean, readable, well-documented. No obfuscation. No hidden behavior.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;But&lt;/em&gt;:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;File paths are not validated. A prompt injection attack could point it at &lt;code&gt;~/.aws/credentials&lt;/code&gt; and the skill would upload that file to the translation API.&lt;/li&gt;
&lt;li&gt;The API key is stored in plaintext in the script. Anyone who reads the source has the key.&lt;/li&gt;
&lt;li&gt;The output path is not validated. A compromised translation API could write arbitrary files back to the system.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Three real findings; none of them are malware. None of them would trigger a signature-based scanner, because there is nothing to match. The skill is, in operational terms, a credential exfiltration path with one prompt injection between it and an attacker. This is the package that pages someone at 2am, and it scans clean.&lt;/p&gt;

&lt;p&gt;Multiply that pattern across the registry, and you get the headline result. The point of the methodology is not the count. It is that you cannot reach this verdict by scanning files. You have to model what the skill does when an agent runs it.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why we ran VirusTotal in parallel
&lt;/h2&gt;

&lt;p&gt;VirusTotal is excellent at the question it answers: does this file match known-bad signatures? It is the wrong question for OpenClaw skills, but running it in parallel let us measure the gap.&lt;/p&gt;

&lt;p&gt;The two systems disagreed on 89.5% of packages. That is not a criticism of either tool. They answer different questions, and AI agent skills introduce three threat dimensions signature-based detection was not designed for:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Documentation is executable.&lt;/strong&gt; In traditional software, a README is inert text. In OpenClaw, a &lt;code&gt;SKILL.md&lt;/code&gt; is processed by an agent that may follow its instructions.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Permissions are linguistic.&lt;/strong&gt; Traditional packages declare permissions in manifests. AI agent skills request capabilities through natural language. A signature engine has nothing to match against.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Architecture is the vulnerability.&lt;/strong&gt; Most flagged packages work exactly as intended. Their design creates the exploitable surface, and only architectural reasoning can identify it.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;The numbers reflect this. Behavioral analysis flagged 840 packages that VirusTotal cleared, because those packages are not &lt;em&gt;malware&lt;/em&gt;; they are &lt;em&gt;misconfigured to be exploited&lt;/em&gt;. Seventeen packages that VirusTotal considered clean were flagged as actively malicious by behavioral analysis. Sixty-two that VirusTotal flagged as suspicious were correctly identified as benign by behavioral analysis. Both lenses matter. Neither is sufficient on its own.&lt;/p&gt;

&lt;h2&gt;
  
  
  Limits of this work
&lt;/h2&gt;

&lt;p&gt;A few things behavioral analysis at this scale does &lt;em&gt;not&lt;/em&gt; tell you:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Runtime drift.&lt;/strong&gt; We analyzed each package as published. A skill that fetches code or instructions at runtime is harder to bound. We flag the fetch path but cannot verify what comes through it after publication.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Authorial intent.&lt;/strong&gt; "Vulnerable" vs "malicious" is a judgment about architecture, not a claim about the author. We do not know which 4.4% of authors knew what they were doing.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Composition across users.&lt;/strong&gt; We modeled compositions inside the registry. We did not model what happens when a user installs three skills and the &lt;em&gt;combination&lt;/em&gt; of three otherwise-fine skills creates an attack path.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Single point in time.&lt;/strong&gt; The registry changed during the analysis window. The numbers are a snapshot, not a steady state.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  What this enables
&lt;/h2&gt;

&lt;p&gt;If you maintain skills, the operational read is straightforward: the architecture matters more than the code. Most of what behavioral analysis catches is a permissions decision or a configuration decision, not a coding decision. &lt;a href="https://trent.ai/openclaw/" rel="noopener noreferrer"&gt;Audit the wiring before you audit the implementation&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;If you install skills, the read is that signature-based scanners on their own are &lt;strong&gt;not&lt;/strong&gt; enough for this ecosystem. The interesting risk lives one layer up.&lt;/p&gt;




&lt;p&gt;&lt;em&gt;Full results, the malicious-bucket attack taxonomy with examples, and the cross-reference matrix are in the research piece: &lt;a href="https://trent.ai/blog/clawhub-ai-agent-security-analysis/" rel="noopener noreferrer"&gt;Malicious vs. Vulnerable: What We Found Analyzing The Most Popular 2,354 Skills on ClawHub with Trent&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;The analysis was run with &lt;a href="https://clawhub.ai/trent-ai-release/trentclaw" rel="noopener noreferrer"&gt;trentclaw&lt;/a&gt;, a security assessment skill for OpenClaw built by our team at Trent AI. Self-serve install, free API key from &lt;a href="https://trent.ai/openclaw/" rel="noopener noreferrer"&gt;trent.ai/openclaw&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;

</description>
      <category>openclaw</category>
      <category>ai</category>
      <category>security</category>
      <category>opensource</category>
    </item>
    <item>
      <title>How to Get Ongoing Security Advice While Building on Lovable</title>
      <dc:creator>George Psistakis</dc:creator>
      <pubDate>Wed, 29 Apr 2026 19:49:37 +0000</pubDate>
      <link>https://dev.to/trent-ai/how-to-get-ongoing-security-advice-while-building-on-lovable-4lih</link>
      <guid>https://dev.to/trent-ai/how-to-get-ongoing-security-advice-while-building-on-lovable-4lih</guid>
      <description>&lt;p&gt;Building on Lovable is fast. You go from idea to working product in hours. And Lovable's built-in security covers the fundamentals: safe defaults, low-level vulnerability scans, solid infrastructure.&lt;/p&gt;

&lt;p&gt;But as you move from prototype to real product, security questions start coming up that those defaults don't answer. Is this endpoint properly protected? Am I handling user data correctly? Did this new feature introduce something? Is my application actually secure? Not just "no obvious vulnerabilities," but &lt;em&gt;secure&lt;/em&gt;?&lt;/p&gt;

&lt;p&gt;These questions don't come up once. They come up continuously as your app evolves. And the existing options aren't great: hire a pentester (expensive, point-in-time, tells you about problems after you've already shipped them) or become a security expert yourself (you're building a product, not studying for a certification).&lt;/p&gt;

&lt;h2&gt;
  
  
  What we built
&lt;/h2&gt;

&lt;p&gt;Trent's Security Advisor for Lovable is a security agent that continuously reviews your application as you build it. Not a one-time scan. Ongoing analysis that keeps up with your changes.&lt;/p&gt;

&lt;p&gt;Under the hood, multiple agents work together: scanning your code, filtering what actually matters from the noise, building a prioritized plan to fix what they find. When you approve a fix, Trent connects directly to Lovable via MCP and implements it. No manual triaging, no copy-pasting patches.&lt;/p&gt;

&lt;p&gt;You can also ask security questions whenever they come up. "Is this API endpoint safe?" "Am I storing user data correctly?" "What should I tell my investor about security?" You get specific answers grounded in your actual codebase, not generic advice.&lt;/p&gt;

&lt;h2&gt;
  
  
  How it works
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Connect your GitHub repo&lt;/strong&gt; to Trent and install the Trent MCP server in Lovable's settings.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Start your first security assessment.&lt;/strong&gt; Trent scans your project and builds a prioritized plan.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Review the plan and approve fixes.&lt;/strong&gt; Trent implements them directly in Lovable via MCP.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;That's the whole setup. You build with Lovable. You secure with Trent.&lt;/p&gt;

&lt;h2&gt;
  
  
  What makes this different from a pentest
&lt;/h2&gt;

&lt;p&gt;A pentest is a snapshot. It tells you what's wrong at one point in time, after you've already built it. Over 75% of vulnerabilities are introduced during design and development. A pentest just tells you about them after the fact.&lt;/p&gt;

&lt;p&gt;Trent runs continuously. Every change you make, every feature you add, the assessment updates. You catch issues while you're still building, not after you've shipped.&lt;/p&gt;

&lt;p&gt;And you don't need security expertise to use it. The findings come in plain language with specific fixes. "Your RLS policies don't cover this table" is more useful than "finding: authorization bypass, severity: high."&lt;/p&gt;

&lt;h2&gt;
  
  
  Get started
&lt;/h2&gt;

&lt;p&gt;Set up takes a few minutes: &lt;a href="https://trent.ai/solutions/lovable-security/" rel="noopener noreferrer"&gt;trent.ai/solutions/lovable-security&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;You build. Trent secures.&lt;/p&gt;




&lt;p&gt;&lt;em&gt;Built by &lt;a href="https://trent.ai" rel="noopener noreferrer"&gt;Trent AI&lt;/a&gt;. AI security for your agents.&lt;/em&gt;&lt;/p&gt;

</description>
      <category>ai</category>
      <category>lovable</category>
      <category>security</category>
      <category>webdev</category>
    </item>
    <item>
      <title>How to Audit Your OpenClaw Setup for Security Risks in Under 5 Minutes</title>
      <dc:creator>George Psistakis</dc:creator>
      <pubDate>Thu, 16 Apr 2026 15:36:43 +0000</pubDate>
      <link>https://dev.to/trent-ai/how-to-audit-your-openclaw-setup-for-security-risks-in-under-5-minutes-3la7</link>
      <guid>https://dev.to/trent-ai/how-to-audit-your-openclaw-setup-for-security-risks-in-under-5-minutes-3la7</guid>
      <description>&lt;p&gt;OpenClaw's configuration surface is bigger than most users realize. Secrets in plaintext, overly permissive access policies, unsafe gateway exposure, tool permissions that give agents more power than intended. These sit in your setup and do nothing until they become a problem.&lt;/p&gt;

&lt;p&gt;We built a security assessment skill that runs directly inside OpenClaw. No external dashboards, no switching tools. You install it like any other skill and ask your agent to audit your setup.&lt;/p&gt;

&lt;h2&gt;
  
  
  What it checks
&lt;/h2&gt;

&lt;p&gt;The assessment analyzes how your OpenClaw environment is configured, what's exposed, and where policies are too loose. Specifically:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Secrets in plaintext.&lt;/strong&gt; API keys and tokens stored in configuration files instead of environment variables or secret managers.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Overly permissive access policies.&lt;/strong&gt; Tool permissions that give agents more power than intended.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Unsafe gateway exposure.&lt;/strong&gt; Is your gateway bound to &lt;code&gt;0.0.0.0&lt;/code&gt;? Anyone who can reach the host can interact with your agent.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Silent validation failures.&lt;/strong&gt; Configuration issues that don't produce errors but create exploitable gaps.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Chained attack paths.&lt;/strong&gt; Where multiple individually-acceptable configurations combine to create an unacceptable risk.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;That last one is worth pausing on. A skill with file read access is fine on its own. A gateway with a broad binding might be fine in isolation. Together, they create a path from external network access to your local filesystem. This doesn't show up in a code scan or a dependency audit. It shows up when you reason about the system as a whole.&lt;/p&gt;

&lt;h2&gt;
  
  
  What you get back
&lt;/h2&gt;

&lt;p&gt;Findings grouped by severity: Critical, High, Medium, Low. Each finding mapped to the specific part of your setup that's affected. Recommended fixes you can apply directly.&lt;/p&gt;

&lt;p&gt;For example, the assessment might flag that your workspace directory is group-writeable on a multi-user system, which could allow malicious skill injection. Or that an installed skill has permissions it doesn't need.&lt;/p&gt;

&lt;h2&gt;
  
  
  Install
&lt;/h2&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;npx clawhub &lt;span class="nb"&gt;install &lt;/span&gt;trentclaw
openclaw config &lt;span class="nb"&gt;set &lt;/span&gt;skills.entries.trent-openclaw-security.apiKey YOUR_TRENT_API_KEY
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Get your API key at &lt;a href="https://trent.ai/openclaw/" rel="noopener noreferrer"&gt;trent.ai/openclaw&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Then start a new agent session and ask:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Audit my OpenClaw setup for security risks using trent
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Takes under 5 minutes. Secrets never leave your machine. API keys, tokens, and passwords are redacted as &lt;code&gt;[REDACTED]&lt;/code&gt; before anything is sent to our servers.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why open source
&lt;/h2&gt;

&lt;p&gt;The source is on GitHub: &lt;a href="https://github.com/trnt-ai/trent-openclaw-security-assessment" rel="noopener noreferrer"&gt;github.com/trnt-ai/trent-openclaw-security-assessment&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Security tooling should be inspectable. The OpenClaw ecosystem is moving fast enough that the people building it will encounter edge cases we haven't anticipated. Open source means you can verify what the tool does, report issues, and extend it for your environment.&lt;/p&gt;

&lt;p&gt;Also on ClawHub: &lt;a href="https://clawhub.ai/trent-ai-release/trentclaw" rel="noopener noreferrer"&gt;clawhub.ai/trent-ai-release/trentclaw&lt;/a&gt;&lt;/p&gt;




&lt;p&gt;&lt;em&gt;Built by &lt;a href="https://trent.ai" rel="noopener noreferrer"&gt;Trent AI&lt;/a&gt;. We build security tools for agentic systems.&lt;/em&gt;&lt;/p&gt;

</description>
      <category>openclaw</category>
      <category>security</category>
      <category>ai</category>
      <category>opensource</category>
    </item>
  </channel>
</rss>
