1(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[4864],{5543:(e,t,i)=>{"use strict";i.d(t,{Cy:()=>f,H2:()=>u,OH:()=>x,P:()=>m,Pq:()=>g,UL:()=>p,m7:()=>w});var a=i(7876),n=i(8230),s=i.n(n),r=i(8419),l=i(6075),o=i(6887),c=i(1298),d=i(8558),h=i(8300);function u(e){let{children:t}=e;return(0,a.jsx)("h2",{className:"mt-12 text-2xl md:text-[28px] font-bold text-white tracking-tight",children:t})}function m(e){let{children:t}=e;return(0,a.jsx)("p",{className:"mt-5 text-[15.5px] text-white/60 leading-relaxed",children:t})}function x(e){let{children:t}=e;return(0,a.jsx)("strong",{className:"text-white font-semibold",children:t})}function p(e){let{items:t}=e;return(0,a.jsx)("ul",{className:"mt-5 space-y-2.5",children:t.map((e,t)=>(0,a.jsxs)("li",{className:"flex gap-3 text-[15.5px] text-white/60 leading-relaxed",children:[(0,a.jsx)("span",{className:"mt-[9px] w-1.5 h-1.5 rounded-full bg-[#8CCB43] shrink-0"}),(0,a.jsx)("span",{children:e})]},t))})}function f(e){let{label:t,code:i}=e;return(0,a.jsxs)("div",{className:"mt-6 rounded-2xl border border-white/[0.08] bg-[#0C0F0A] overflow-hidden",children:[(0,a.jsx)("div",{className:"px-5 py-2.5 border-b border-white/[0.06] font-mono text-xs text-white/45",children:t}),(0,a.jsx)("pre",{className:"px-5 py-4 overflow-x-auto text-[13px] leading-relaxed font-mono text-white/80",children:(0,a.jsx)("code",{children:i})})]})}function g(e){let{children:t}=e;return(0,a.jsx)("div",{className:"mt-6 rounded-2xl border border-[#2C3D1B] bg-[#12190C] px-6 py-5 text-[15px] text-white/70 leading-relaxed",children:t})}function w(e){var t,i,n,u,m;let{meta:x,children:p}=e,f=[{"@context":"https://schema.org","@type":null!=(m=x.type)?m:"TechArticle",headline:x.h1,description:x.description,url:"".concat(h.W6).concat(x.slug),datePublished:x.datePublished,dateModified:x.datePublished,author:x.author?{"@type":"Person",name:x.author.name,...x.author.url?{url:x.author.url}:{},worksFor:{"@type":"Organization",name:"Verificate Pty Ltd",url:h.W6}}:{"@type":"Organization",name:"Verificate Pty Ltd",url:h.W6},publisher:{"@type":"Organization",name:"Verificate Pty Ltd",url:h.W6},mainEntityOfPage:"".concat(h.W6).concat(x.slug),...(null==(n=x.keywords)?void 0:n.length)?{keywords:x.keywords.join(", ")}:{},...(null==(u=x.citation)?void 0:u.length)?{citation:x.citation.map(e=>({"@type":"CreativeWork",name:e.name,url:e.url})),isBasedOn:x.citation.map(e=>e.url)}:{}}];return(null==(t=x.faq)?void 0:t.length)&&f.push((0,h.P$)(x.faq)),(0,a.jsxs)("div",{className:"bg-[#080A08] text-white/85 min-h-screen antialiased",children:[(0,a.jsx)(d.A,{title:x.title,path:x.slug,description:x.description,image:x.image,type:"article",jsonLd:f}),(0,a.jsx)(c.Nv,{}),(0,a.jsxs)("main",{id:"main-content",children:[(0,a.jsx)(c.wn,{className:"pt-28 sm:pt-36 pb-4",children:(0,a.jsxs)("div",{className:"max-w-3xl",children:[(0,a.jsxs)("div",{className:"flex items-center gap-3 text-white/40 font-mono text-xs",children:[(0,a.jsx)(s(),{href:"/articles",className:"text-[#8CCB43] hover:underline",children:"Articles"}),(0,a.jsx)("span",{children:"\xb7"}),(0,a.jsx)(s(),{href:"/news",className:"hover:text-[#8CCB43] hover:underline",children:"News & press"}),(0,a.jsx)("span",{children:"\xb7"}),(0,a.jsx)("span",{children:new Date(x.datePublished).toLocaleDateString("en-AU",{year:"numeric",month:"short",day:"numeric"})}),(0,a.jsx)("span",{children:"\xb7"}),(0,a.jsxs)("span",{children:[x.readMinutes," min read"]})]}),(0,a.jsx)("h1",{className:"mt-5 text-3xl sm:text-4xl md:text-[44px] font-bold tracking-tight text-white leading-tight",children:x.h1})]})}),(0,a.jsx)(c.wn,{className:"pb-10",children:(0,a.jsx)("article",{className:"max-w-3xl",children:p})}),(null==(i=x.faq)?void 0:i.length)?(0,a.jsx)(c.wn,{className:"py-10 border-t border-white/[0.06]",children:(0,a.jsxs)("div",{className:"max-w-3xl",children:[(0,a.jsx)(c.YZ,{children:"FAQ"}),(0,a.jsx)("div",{className:"mt-6 space-y-6",children:x.faq.map(e=>(0,a.jsxs)("div",{children:[(0,a.jsx)("h3",{className:"font-bold text-white",children:e.q}),(0,a.jsx)("p",{className:"mt-2 text-[15px] text-white/55 leading-relaxed",children:e.a})]},e.q))})]})}):null,"cti"===x.cta?(0,a.jsx)(c.wn,{className:"py-16",children:(0,a.jsxs)("div",{className:"rounded-3xl border border-[#2C3D1B] bg-gradient-to-b from-[#12190C] to-[#0B0F0A] px-8 md:px-14 py-12 text-center",children:[(0,a.jsx)("h2",{className:"text-2xl md:text-3xl font-bold text-white tracking-tight",children:"Bring a question your AI needs to get right."}),(0,a.jsx)("p",{className:"mt-4 text-white/60 max-w-2xl mx-auto",children:"Compile-Time Inference prepares your records before questions arrive, so supported answers and decisions can be checked against their evidence. Start with the questions where a wrong answer costs the most."}),(0,a.jsxs)("div",{className:"mt-8 flex flex-wrap justify-center gap-4",children:[(0,a.jsxs)(s(),{href:"/compile-time-inference",className:"inline-flex items-center gap-2 px-5 py-3 rounded-lg bg-[#8CCB43] hover:bg-[#7cbb37] text-[#0A0D0A] font-semibold transition-colors",children:["See Compile-Time Inference ",(0,a.jsx)(r.A,{className:"w-4 h-4"})]}),(0,a.jsxs)("a",{href:"/Verificate_Compile-Time_Inference_Brochure.pdf",download:"Verificate_Compile-Time_Inference_Brochure.pdf",className:"inline-flex items-center gap-2 px-5 py-3 rounded-lg border border-white/15 hover:border-[#8CCB43]/50 text-white font-semibold transition-colors",children:[(0,a.jsx)(l.A,{className:"w-4 h-4"})," Download the brochure (PDF)"]}),(0,a.jsxs)(s(),{href:"/contact?interest=compile-time-inference",className:"inline-flex items-center gap-2 px-5 py-3 rounded-lg border border-white/15 hover:border-[#8CCB43]/50 text-white font-semibold transition-colors",children:["Talk to us ",(0,a.jsx)(r.A,{className:"w-4 h-4"})]})]})]})}):(0,a.jsx)(c.wn,{className:"py-16",children:(0,a.jsxs)("div",{className:"rounded-3xl border border-[#2C3D1B] bg-gradient-to-b from-[#12190C] to-[#0B0F0A] px-8 md:px-14 py-12 text-center",children:[(0,a.jsx)("h2",{className:"text-2xl md:text-3xl font-bold text-white tracking-tight",children:"Put a real gate on your AI output."}),(0,a.jsx)("p",{className:"mt-4 text-white/60 max-w-2xl mx-auto",children:"Verificate Gate (available via MCP) runs deterministic checks plus an engineering-quality review on every AI output â in Claude Code, Cursor, Windsurf or any MCP client. 30-day free trial, no card required."}),(0,a.jsxs)("div",{className:"mt-8 flex flex-wrap justify-center gap-4",children:[(0,a.jsxs)(s(),{href:"/auth/signup",className:"inline-flex items-center gap-2 px-5 py-3 rounded-lg bg-[#8CCB43] hover:bg-[#7cbb37] text-[#0A0D0A] font-semibold transition-colors",children:[(0,a.jsx)(o.A,{className:"w-4 h-4"})," Start 30-day free trial"]}),(0,a.jsxs)(s(),{href:"/gate",className:"inline-flex items-center gap-2 px-5 py-3 rounded-lg border border-white/15 hover:border-[#8CCB43]/50 text-white font-semibold transition-colors",children:["See how the Gate works ",(0,a.jsx)(r.A,{className:"w-4 h-4"})]})]})]})})]})]})}},6952:(e,t,i)=>{"use strict";i.r(t),i.d(t,{default:()=>o});var a=i(7876),n=i(8230),s=i.n(n),r=i(5543);let l={slug:"/articles/openclaw-trust-layer",title:"OpenClaw's Trust Problem â and the Verification Layer That Answers It",h1:"OpenClaw's trust problem, answered",description:"ClawHub's 2026 security research is brutal: 341 malicious skills, Atomic Stealer credential theft, 13.4% of skills carrying critical flaws. Here's each top OpenClaw complaint mapped Problem â Feature â Advantage â Benefit, with real verdicts from Verificate catching the exact failures.",datePublished:"2026-08-04",readMinutes:8,image:"https://verificate.ai/og-mcp.png",faq:[{q:"Is OpenClaw safe to use?",a:"OpenClaw is powerful but its ClawHub skill registry has a documented trust problem: Snyk found 36.82% of skills carry at least one security issue and 13.4% carry critical flaws, and the 'ClawHavoc' c
1ampaign uploaded over 1,100 malicious skills. Running skills unverified is the risk. A verification layer that checks output and code before you trust it closes a large part of the gap."},{q:"Can Verificate stop malicious OpenClaw skills?",a:"Verificate is a quality and output-verification layer, not a sandbox. It reliably catches the code-level patterns that show up in bad and malicious skills â credential-exfiltration shapes, invented APIs, mocked logic, false success claims â and its deterministic gates can't be talked out of a verdict by a prompt-injected answer. It complements sandboxing and signing; it does not replace them."},{q:"Does the verification work on any language?",a:"Yes â the review layer is multilingual (it validates code and documents written with Chinese, and other languages, and returns findings). English-language placeholder markers get an extra deterministic veto; other languages are covered by the model review."}]};function o(){return(0,a.jsxs)(r.m7,{meta:l,children:[(0,a.jsx)(r.P,{children:"OpenClaw is one of the largest open-source agent communities on earth. It is also, by its own security researchers' account, one of the least trustworthy places to run untrusted code. The 2026 findings are not subtle:"}),(0,a.jsx)(r.UL,{items:[(0,a.jsxs)(a.Fragment,{children:["The ",(0,a.jsx)(r.OH,{children:"ClawHavoc"})," supply-chain campaign uploaded ",(0,a.jsx)(r.OH,{children:"over 1,100 malicious skills"})," to ClawHub, several becoming top downloads ",(0,a.jsx)("span",{className:"text-white/40",children:"(IBM X-Force)"}),"."]}),(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(r.OH,{children:"341 malicious skills"})," (~12% of the registry) delivered ",(0,a.jsx)(r.OH,{children:"Atomic Stealer (AMOS)"})," malware, harvesting credentials, SSH keys and crypto wallets from files like ",(0,a.jsx)("code",{className:"font-mono text-[13px]",children:"~/.clawdbot/.env"})," ",(0,a.jsx)("span",{className:"text-white/40",children:"(Snyk)"}),"."]}),(0,a.jsxs)(a.Fragment,{children:["A Snyk audit found ",(0,a.jsx)(r.OH,{children:"36.82% of skills carry at least one security issue"})," and ",(0,a.jsx)(r.OH,{children:"13.4% carry critical-level flaws"}),"; 91% of confirmed-malicious skills combine prompt injection ",(0,a.jsx)("em",{children:"and"})," traditional malware to bypass both code scanners and AI safety ",(0,a.jsx)("span",{className:"text-white/40",children:"(Snyk)"}),"."]}),(0,a.jsxs)(a.Fragment,{children:["Skills run with ",(0,a.jsx)(r.OH,{children:"full host access and no default sandboxing"}),", and there is ",(0,a.jsx)(r.OH,{children:"no cryptographic signing"})," â the official guidance is âread them before enabling,â a model Snyk calls one that âclearly fails at scale.â"]})]}),(0,a.jsxs)(r.P,{children:["The community's complaints all rhyme: ",(0,a.jsx)(r.OH,{children:"you can't trust what a skill produces, or what your agent confidently tells you it did."})," Below, each top complaint â Problem, Feature, Advantage, Benefit â with a ",(0,a.jsx)(r.OH,{children:"real, verbatim verdict"})," from the Verificate production server catching exactly that failure."]}),(0,a.jsx)(r.H2,{children:"1 \xb7 Skills that steal your credentials"}),(0,a.jsxs)(r.P,{children:[(0,a.jsx)(r.OH,{children:"Problem."})," Skills run on the host with full access and no sandbox. ClawHavoc's malicious skills exfiltrated API keys, SSH keys and wallet data the moment they ran. The official trust model â read every skill first â doesn't scale."]}),(0,a.jsxs)(r.P,{children:[(0,a.jsx)(r.OH,{children:"Feature."})," Verificate gates code before it runs: its reality gates and enterprise review flag credential-exfiltration shapes â reads of secret env vars posted to an external endpoint."]}),(0,a.jsxs)(r.P,{children:[(0,a.jsx)(r.OH,{children:"Advantage."})," Real verdict on a credential-stealer-shaped function:"]}),(0,a.jsx)(r.Cy,{label:"validate_ai_output \xb7 REJECTED 62/100",code:"- critical|security|Exfiltration of sensitive credential (OPENAI_API_KEY)\n to an external, unencrypted HTTP endpoint, resulting in immediate\n compromise of API secrets.\n- high|reliability|Synchronous network call lacks error handling and\n timeouts, which can block execution indefinitely."}),(0,a.jsxs)(r.P,{children:[(0,a.jsx)(r.OH,{children:"Benefit."})," The exfiltration is named and blocked ",(0,a.jsx)("em",{children:"before"})," the key leaves your machine â not discovered in a breach postmortem."]}),(0,a.jsx)(r.H2,{children:"2 \xb7 Agents that lie about success"}),(0,a.jsxs)(r.P,{children:[(0,a.jsx)(r.OH,{children:"Problem."})," The loudest day-to-day OpenClaw complaint: the agent announces âdone, all tests pass, production readyâ â and it isn't. Inspecting a confident final answer tells you nothing."]}),(0,a.jsxs)(r.P,{children:[(0,a.jsx)(r.OH,{children:"Feature."})," Verificate's false-completion detection demands evidence and rejects self-asserted success."]}),(0,a.jsxs)(r.P,{children:[(0,a.jsx)(r.OH,{children:"Advantage."}
1)," Verdict on a textbook false-completion claim:"]}),(0,a.jsx)(r.Cy,{label:"validate_ai_output \xb7 REJECTED 42/100",code:"- critical|reliability|No verifiable source code, configuration, or\n executable artifacts provided. A textual assertion of success cannot\n be validated.\n- critical|security|Attempting to bypass automated verification via\n self-assertion introduces severe governance and supply-chain risks."}),(0,a.jsxs)(r.P,{children:[(0,a.jsx)(r.OH,{children:"Benefit."})," âIt says it's doneâ becomes âit proved it's done, or it got caught.â"]}),(0,a.jsx)(r.H2,{children:"3 \xb7 Invented APIs and mocked-out logic"}),(0,a.jsxs)(r.P,{children:[(0,a.jsx)(r.OH,{children:"Problem."})," Agents write code that calls SDK methods that don't exist and mock the hard part â a refund handler that returns success without moving money."]}),(0,a.jsxs)(r.P,{children:[(0,a.jsx)(r.OH,{children:"Feature."})," Deterministic invented-API and mock/placeholder gates with veto power, backed by a frontier review."]}),(0,a.jsxs)(r.P,{children:[(0,a.jsx)(r.OH,{children:"Advantage."})," Verdict on a mocked refund calling a nonexistent Stripe resource:"]}),(0,a.jsx)(r.Cy,{label:"validate_ai_output \xb7 REJECTED 30/100",code:"- [code_reality_gate] Mock implementation detected\n- critical|reliability|stripe.Inventory.update does not exist in the\n Stripe SDK, causing an immediate AttributeError at runtime.\n- high|reliability|The amount parameter is unused, leading to silent\n financial inconsistency."}),(0,a.jsxs)(r.P,{children:[(0,a.jsx)(r.OH,{children:"Benefit."})," The fake refund path and the phantom API die in review, not in your customer's bank statement."]}),(0,a.jsx)(r.H2,{children:"4 \xb7 Output that breaks at real scale"}),(0,a.jsxs)(r.P,{children:[(0,a.jsx)(r.OH,{children:"Problem."})," Happy-path code that works in the demo and collapses under load â N+1 network storms, no timeouts, no error handling."]}),(0,a.jsxs)(r.P,{children:[(0,a.jsx)(r.OH,{children:"Feature."})," An enterprise review that does the production arithmetic."]}),(0,a.jsxs)(r.P,{children:[(0,a.jsx)(r.OH,{children:"Advantage."})," Verdict on a batch-sync loop:"]}),(0,a.jsx)(r.Cy,{label:"validate_ai_output \xb7 REJECTED 70/100",code:"- critical|performance|Sequential synchronous HTTP requests (N+1) cause\n linear latency scaling and block the thread under load.\n- high|reliability|No error handling or status validation â unhandled\n exceptions will crash the entire batch process.\n- high|performance|No connection pooling â a new TCP/TLS handshake per\n request, risking socket exhaustion."}),(0,a.jsxs)(r.P,{children:[(0,a.jsx)(r.OH,{children:"Benefit."})," The failure mode that would have paged you at 2am is a re-prompt at build time."]}),(0,a.jsxs)(r.Pq,{children:[(0,a.jsx)(r.OH,{children:"What Verificate is â and isn't."})," It is a quality and output-verification layer with veto power. It reliably catches the code-level patterns in bad and malicious skills, and its deterministic gates can't be sweet-talked by a prompt-injected answer â the exact weakness of LLM-only review. It is ",(0,a.jsx)("em",{children:"not"})," a sandbox or a malware scanner: a skill that does harm through side-effects while returning benign output still needs host isolation and signing. Verificate complements those controls; it doesn't replace them. We'd rather tell you that than oversell."]}),(0,a.jsx)(r.H2,{children:"Make it the default in OpenClaw"}),(0,a.jsx)(r.P,{children:"Two ways to wire Verificate into OpenClaw. The skill registers the validation tools so you can ask the agent to check its work; the guard plugin makes it structural â it gates every final answer through Verificate and (opt-in) inspects code-writing tool calls before they touch disk."}),(0,a.jsx)(r.Cy,{label:"OpenClaw",code:"# register the tools\nopenclaw mcp add verificate --http https://mcp.verificate.ai/mcp\n\n# or install the guard plugin for a hook on every answer\ngit clone https://github.com/Verificate-Dev/verificate-openclaw-guard \\\n ~/.openclaw/plugins/verificate-guard"}),(0,a.jsxs)(r.P,{children:["Free to try â ",(0,a.jsx)(r.OH,{children:"100 validations per machine, no signup"}),". In a community where one skill in eight carries a critical flaw, the honest move is to verify before you trust."," ",(0,a.jsx)(s(),{href:"/gate",className:"text-[#8CCB43] hover:underline",children:"See all the ways to add Verificate"}),"."]})]})}},8016:(e,t,i)=>{(window.__NEXT_P=window.__NEXT_P||[]).push(["/articles/openclaw-trust-layer",function(){return i(6952)}])}},e=>{e.O(0,[8096,8799,636,8792],()=>e(e.s=8016)),_N_E=e.O()}]);
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.