clawmoat 0.8.0 → 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.dockerignore +9 -0
- package/CHANGELOG.md +18 -0
- package/DEMO.md +87 -0
- package/Dockerfile +5 -18
- package/README.md +232 -8
- package/THREAT_MODEL.md +129 -0
- package/agent/README.md +131 -0
- package/agent/index.js +471 -0
- package/agent/install-service.sh +94 -0
- package/agent/openclaw-hook.js +453 -0
- package/agent/provider-setup.js +649 -0
- package/agent/setup.js +274 -0
- package/assets/BADGE-USAGE.md +20 -0
- package/assets/clawmoat-badge.svg +21 -0
- package/bin/clawmoat.js +468 -111
- package/docs/affiliates/dashboard.html +124 -0
- package/docs/affiliates/index.html +236 -0
- package/docs/agent-install.html +183 -0
- package/docs/ai-agent-security-scanner.html +10 -6
- package/docs/badge/index.html +149 -0
- package/docs/badge/scanning.svg +23 -0
- package/docs/blog/386-malicious-skills.html +11 -4
- package/docs/blog/40000-exposed-openclaw-instances.html +11 -4
- package/docs/blog/agent-trust-protocol.html +5 -4
- package/docs/blog/ai-agent-earns-commissions.html +230 -0
- package/docs/blog/bugmageddon-agent-firewall.html +174 -0
- package/docs/blog/calculator-math.html +180 -0
- package/docs/blog/clawmoat-vs-llamafirewall-nemo-guardrails.html +10 -4
- package/docs/blog/host-guardian-launch.html +18 -8
- package/docs/blog/ibm-experts-agent-runtime-protection.html +15 -6
- package/docs/blog/index.html +67 -9
- package/docs/blog/langchain-security-tutorial.html +18 -8
- package/docs/blog/mcp-30-cves-security-crisis.html +11 -4
- package/docs/blog/meta-researcher-rogue-agent.html +201 -0
- package/docs/blog/microsoft-openclaw-workstation-security.html +5 -4
- package/docs/blog/nist-ai-agent-standards-clawmoat.html +16 -8
- package/docs/blog/oasis-websocket-hijack.html +11 -4
- package/docs/blog/ollama-openclaw-security.html +10 -4
- package/docs/blog/openclaw-enterprise-readiness-claw10.html +5 -4
- package/docs/blog/openclaw-security-reckoning-2026.html +11 -4
- package/docs/blog/owasp-agentic-ai-top10.html +18 -8
- package/docs/blog/securing-ai-agents.html +18 -8
- package/docs/blog/supply-chain-agents.html +18 -8
- package/docs/business/index.html +11 -16
- package/docs/business/install.html +21 -7
- package/docs/checklist.html +10 -4
- package/docs/compare/index.html +122 -0
- package/docs/compare/lakera/index.html +62 -0
- package/docs/compare/llm-guard/index.html +49 -0
- package/docs/compare/snyk-agent-scan/index.html +63 -0
- package/docs/compare.html +10 -6
- package/docs/dashboard/index.html +520 -0
- package/docs/finance/index.html +9 -6
- package/docs/guides/business-deployment.html +770 -0
- package/docs/hall-of-fame.html +11 -5
- package/docs/index.html +266 -137
- package/docs/integrations/langchain.html +14 -6
- package/docs/integrations/openai.html +14 -6
- package/docs/integrations/openclaw.html +55 -7
- package/docs/plans/2026-03-26-threat-intel-api.md +255 -0
- package/docs/plans/2026-04-14-bugmageddon-marketing-pack.md +329 -0
- package/docs/plans/2026-04-14-clawmoat-v1-bugmageddon.md +248 -0
- package/docs/plans/2026-04-14-v1-release-update.md +91 -0
- package/docs/plans/2026-04-19-supabase-audit.md +68 -0
- package/docs/plans/2026-05-12-sales-push.md +303 -0
- package/docs/playground/index.html +893 -0
- package/docs/playground.html +4 -7
- package/docs/rfcs/defense-in-depth.md +467 -0
- package/docs/scan/index.html +156 -12
- package/docs/services/case-study.html +255 -0
- package/docs/services/downloads/install-openclaw.bat +45 -0
- package/docs/services/downloads/install-openclaw.command +38 -0
- package/docs/services/downloads/install-openclaw.sh +38 -0
- package/docs/services/get-started.html +165 -0
- package/docs/services/index.html +598 -0
- package/docs/services/multi-agent-security.html +284 -0
- package/docs/services/one-pager.html +99 -0
- package/docs/services/pitch-deck.html +229 -0
- package/docs/services/roi-calculator.html +258 -0
- package/docs/sitemap.xml +62 -2
- package/docs/support/index.html +12 -1
- package/docs/templates/customer-service/HEARTBEAT.md +61 -0
- package/docs/templates/customer-service/MEMORY.md +89 -0
- package/docs/templates/customer-service/SOUL.md +41 -0
- package/docs/templates/customer-service/USER.md +56 -0
- package/docs/templates/executive/HEARTBEAT.md +86 -0
- package/docs/templates/executive/MEMORY.md +92 -0
- package/docs/templates/executive/SOUL.md +44 -0
- package/docs/templates/executive/USER.md +62 -0
- package/docs/templates/finance/HEARTBEAT.md +58 -0
- package/docs/templates/finance/MEMORY.md +87 -0
- package/docs/templates/finance/SOUL.md +38 -0
- package/docs/templates/finance/USER.md +53 -0
- package/docs/templates/index.html +115 -0
- package/docs/templates/operations/HEARTBEAT.md +63 -0
- package/docs/templates/operations/MEMORY.md +68 -0
- package/docs/templates/operations/SOUL.md +38 -0
- package/docs/templates/operations/USER.md +49 -0
- package/docs/templates/sales/HEARTBEAT.md +55 -0
- package/docs/templates/sales/MEMORY.md +89 -0
- package/docs/templates/sales/SOUL.md +34 -0
- package/docs/templates/sales/USER.md +54 -0
- package/eslint.config.js +32 -0
- package/evals/README.md +29 -0
- package/evals/cases.json +390 -0
- package/evals/results.md +68 -0
- package/evals/run.js +180 -0
- package/examples/demo-attack/demo.js +186 -0
- package/examples/python-quickstart/README.md +54 -0
- package/examples/python-quickstart/clawmoat_client.py +167 -0
- package/examples/video-demo/README.md +14 -0
- package/examples/video-demo/scene-a-normal.js +29 -0
- package/examples/video-demo/scene-b-attack-arrives.js +31 -0
- package/examples/video-demo/scene-c-hijack.js +44 -0
- package/examples/video-demo/scene-d-clawmoat.js +46 -0
- package/integrations/crewai/README.md +32 -0
- package/integrations/crewai/clawmoat_crewai/__init__.py +17 -0
- package/integrations/crewai/clawmoat_crewai/guard.py +103 -0
- package/integrations/crewai/pyproject.toml +21 -0
- package/integrations/langchain/README.md +91 -0
- package/integrations/langchain/clawmoat_langchain/__init__.py +17 -0
- package/integrations/langchain/clawmoat_langchain/callback.py +489 -0
- package/integrations/langchain/pyproject.toml +32 -0
- package/integrations/litellm/README.md +324 -0
- package/integrations/litellm/clawmoat_litellm/__init__.py +21 -0
- package/integrations/litellm/clawmoat_litellm/callback.py +329 -0
- package/integrations/litellm/clawmoat_litellm/proxy_middleware.py +224 -0
- package/integrations/litellm/pyproject.toml +74 -0
- package/integrations/openai-agents/README.md +392 -0
- package/integrations/openai-agents/clawmoat_openai_agents/__init__.py +20 -0
- package/integrations/openai-agents/clawmoat_openai_agents/guardrail.py +431 -0
- package/integrations/openai-agents/clawmoat_openai_agents/middleware.py +311 -0
- package/integrations/openai-agents/pyproject.toml +76 -0
- package/package.json +6 -5
- package/plugins/openclaw-adapter/PHASE1.md +439 -0
- package/plugins/openclaw-adapter/README.md +103 -0
- package/plugins/openclaw-adapter/SPEC.md +1644 -0
- package/plugins/openclaw-adapter/package.json +31 -0
- package/plugins/openclaw-adapter/src/index.test.ts +226 -0
- package/plugins/openclaw-adapter/src/index.ts +140 -0
- package/plugins/openclaw-adapter/tsconfig.json +14 -0
- package/server/data/threats.json +290 -0
- package/server/index.js +142 -7
- package/src/adapters/express.js +161 -0
- package/src/adapters/index.js +92 -0
- package/src/adapters/langchain.js +185 -0
- package/src/approval/index.js +456 -0
- package/src/ban-scanner.js +200 -0
- package/src/boundary-scanner.js +296 -0
- package/src/ci-scanner.js +279 -0
- package/src/code-scanner.js +245 -0
- package/src/enforce.js +166 -0
- package/src/formatters/json.js +80 -0
- package/src/formatters/sarif.js +388 -0
- package/src/guardian/alerts.js +34 -3
- package/src/guardian/index.js +41 -2
- package/src/index.js +102 -0
- package/src/integrations/agentmesh.js +501 -0
- package/src/language-detector.js +201 -0
- package/src/mcp-scanner.js +253 -0
- package/src/multimodal/index.js +579 -0
- package/src/obfuscation-scanner.js +457 -0
- package/src/policy-engine.js +402 -0
- package/src/scanners/dependency-attacks.js +128 -0
- package/src/scanners/prompt-injection.js +18 -0
- package/src/scanners/supply-chain.js +14 -0
- package/src/templates/default-config.yml +90 -0
- package/src/vuln-ops/exploitability.js +46 -0
- package/src/watch/live-monitor.js +720 -0
- package/clawmoat-0.8.0.tgz +0 -0
- package/server/index.js.patch +0 -1
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
# ClawMoat Supabase audit
|
|
2
|
+
|
|
3
|
+
Date: 2026-04-19
|
|
4
|
+
Project: `bfnoxngfskhzgnqkwuhb`
|
|
5
|
+
|
|
6
|
+
## Executive summary
|
|
7
|
+
|
|
8
|
+
ClawMoat does use Supabase, but only in a narrow way right now.
|
|
9
|
+
|
|
10
|
+
### Confirmed usage in repo
|
|
11
|
+
|
|
12
|
+
Only one live code path in the ClawMoat repo references this Supabase project:
|
|
13
|
+
|
|
14
|
+
- `docs/affiliates/index.html`
|
|
15
|
+
- browser POST to `/rest/v1/affiliates`
|
|
16
|
+
- purpose: store affiliate signups
|
|
17
|
+
|
|
18
|
+
## What is NOT currently wired to Supabase in the repo
|
|
19
|
+
|
|
20
|
+
I did not find repo references showing Supabase is currently required for:
|
|
21
|
+
|
|
22
|
+
- core npm package
|
|
23
|
+
- CLI scans
|
|
24
|
+
- GitHub repo flows
|
|
25
|
+
- main homepage
|
|
26
|
+
- enforcement middleware
|
|
27
|
+
- MCP scanner
|
|
28
|
+
- prompt injection scanning
|
|
29
|
+
- blog/site rendering outside affiliate signup
|
|
30
|
+
|
|
31
|
+
## Blast radius if Supabase pauses
|
|
32
|
+
|
|
33
|
+
### Likely affected
|
|
34
|
+
- affiliate signup form submission
|
|
35
|
+
- any future dashboard/admin features built on the same project
|
|
36
|
+
|
|
37
|
+
### Likely unaffected
|
|
38
|
+
- `clawmoat` npm package itself
|
|
39
|
+
- GitHub repo
|
|
40
|
+
- core docs/site pages
|
|
41
|
+
- scanner runtime behavior
|
|
42
|
+
- local CLI usage
|
|
43
|
+
|
|
44
|
+
## Cleanup performed
|
|
45
|
+
|
|
46
|
+
Deleted the temporary keepalive test row that had been inserted into `affiliates`.
|
|
47
|
+
|
|
48
|
+
## Preventive action added
|
|
49
|
+
|
|
50
|
+
Added a read-only keepalive job:
|
|
51
|
+
|
|
52
|
+
- script: `/home/ildar/.openclaw/scripts/clawmoat-supabase-keepalive.py`
|
|
53
|
+
- schedule: every 3 days via crontab
|
|
54
|
+
- checks:
|
|
55
|
+
- `auth/v1/health`
|
|
56
|
+
- `rest/v1/affiliates?select=id&limit=1`
|
|
57
|
+
|
|
58
|
+
Log file:
|
|
59
|
+
- `/home/ildar/.openclaw/logs/clawmoat-supabase-keepalive.log`
|
|
60
|
+
|
|
61
|
+
## Recommendation
|
|
62
|
+
|
|
63
|
+
Good enough for now.
|
|
64
|
+
|
|
65
|
+
If ClawMoat starts depending more heavily on Supabase, next step should be to:
|
|
66
|
+
- move from inline browser fetches to a small controlled backend
|
|
67
|
+
- remove public coupling from the static affiliates page
|
|
68
|
+
- define exactly which features are allowed to depend on Supabase
|
|
@@ -0,0 +1,303 @@
|
|
|
1
|
+
# ClawMoat sales push — May 12, 2026
|
|
2
|
+
|
|
3
|
+
## Straight diagnosis
|
|
4
|
+
|
|
5
|
+
ClawMoat has a real product shape now, but sales are being throttled by execution gaps, not by the idea.
|
|
6
|
+
|
|
7
|
+
The strong part: the category claim is sharp. **They protect the model. ClawMoat protects the machine.** That is a real wedge because the market is crowded with prompt filters, MCP scanners, and guardrail libraries, while ClawMoat can credibly claim host/runtime containment.
|
|
8
|
+
|
|
9
|
+
The weak part: the public product funnel is split across too many offers and some proof points are stale. The homepage sells open-source security SaaS. `/services/` sells done-for-you OpenClaw setup. `/business/` sells enterprise assessment. The npm package still shows `0.8.0` even though the repo is `1.0.0`. That inconsistency kills trust right before purchase.
|
|
10
|
+
|
|
11
|
+
## Current baseline
|
|
12
|
+
|
|
13
|
+
- GitHub: 39 stars, 6 forks.
|
|
14
|
+
- npm: latest published version is `0.8.0`, while repo `package.json` is `1.0.0`.
|
|
15
|
+
- npm downloads last 30 days: 43.
|
|
16
|
+
- Tests: 527 passing, 0 failing.
|
|
17
|
+
- Site: deployed and current on `clawmoat.com`.
|
|
18
|
+
- Checkout endpoint: live at `https://clawmoat-production.up.railway.app/api/checkout` for POST, health check live.
|
|
19
|
+
- Homepage paid CTA exists for Developer and Team plans.
|
|
20
|
+
- Services page has live Stripe links.
|
|
21
|
+
|
|
22
|
+
## Market read
|
|
23
|
+
|
|
24
|
+
The agent-security category has moved fast. GitHub search shows several adjacent tools with more stars:
|
|
25
|
+
|
|
26
|
+
- `luckyPipewrench/pipelock` — 583 stars, "Open-source AI agent firewall for MCP security: agent egress control, DLP, SSRF, and prompt injection defense."
|
|
27
|
+
- `getagentseal/agentseal` — 254 stars, security toolkit for dangerous skills, MCP configs, supply chain attacks, prompt-injection resistance.
|
|
28
|
+
- `snyk/agent-scan` — 2392 stars, security scanner for AI agents, MCP servers, and agent skills.
|
|
29
|
+
- `splx-ai/agentic-radar` — 966 stars, scanner for LLM agentic workflows.
|
|
30
|
+
- `cisco-ai-defense/mcp-scanner` — 923 stars, MCP server scanner.
|
|
31
|
+
- `protectai/llm-guard` and `NVIDIA-NeMo/Guardrails` are broader LLM guardrail/toolkit players.
|
|
32
|
+
|
|
33
|
+
This means ClawMoat cannot win by saying "we scan prompt injection". That claim is already commoditized.
|
|
34
|
+
|
|
35
|
+
ClawMoat should win by owning this exact sentence:
|
|
36
|
+
|
|
37
|
+
> Prompt filters inspect text. ClawMoat controls what the agent can do to your machine.
|
|
38
|
+
|
|
39
|
+
## Best buyer segments
|
|
40
|
+
|
|
41
|
+
### 1. Self-hosted AI agent users
|
|
42
|
+
|
|
43
|
+
People running Claude Code, OpenClaw, Cursor, Aider, MCP servers, local agents, or homegrown agent loops on real machines.
|
|
44
|
+
|
|
45
|
+
Their pain: "I want the power, but I don't trust the blast radius."
|
|
46
|
+
|
|
47
|
+
Best offer: free CLI + scanner + badge, then Developer plan for alerts, persistent logs, threat intel.
|
|
48
|
+
|
|
49
|
+
### 2. Small technical teams adopting coding agents
|
|
50
|
+
|
|
51
|
+
Founders and engineering leads with 3-25 developers. They are not ready for enterprise procurement but they do worry about credentials, repo access, and MCP sprawl.
|
|
52
|
+
|
|
53
|
+
Their pain: "My team is installing agent tools faster than security can track them."
|
|
54
|
+
|
|
55
|
+
Best offer: Team plan at $49/mo or one-time implementation/security review.
|
|
56
|
+
|
|
57
|
+
### 3. Consultants / AI automation shops
|
|
58
|
+
|
|
59
|
+
They deploy agents for clients and need a trust story. They can resell or bundle ClawMoat.
|
|
60
|
+
|
|
61
|
+
Their pain: "I need to convince the client this won't leak their data."
|
|
62
|
+
|
|
63
|
+
Best offer: affiliate/referral program + `Secured by ClawMoat` badge + white-label report.
|
|
64
|
+
|
|
65
|
+
### 4. Security-aware enterprises
|
|
66
|
+
|
|
67
|
+
This is slower sales. Useful for credibility, not first revenue unless there is a warm intro.
|
|
68
|
+
|
|
69
|
+
Their pain: "Employees are using agents with access to production credentials and no audit trail."
|
|
70
|
+
|
|
71
|
+
Best offer: Business assessment, compliance report, managed rollout.
|
|
72
|
+
|
|
73
|
+
## Funnel problems to fix first
|
|
74
|
+
|
|
75
|
+
### 1. npm is stale
|
|
76
|
+
|
|
77
|
+
Repo says v1.0.0. npm says v0.8.0. Homepage says v1.0.0. A developer who runs `npm view clawmoat` sees the mismatch. This is the biggest immediate trust leak.
|
|
78
|
+
|
|
79
|
+
Action: publish `clawmoat@1.0.0` after package hygiene checks.
|
|
80
|
+
|
|
81
|
+
### 2. Package contents include junk
|
|
82
|
+
|
|
83
|
+
`npm pack --dry-run` currently includes `clawmoat-0.8.0.tgz`, `server/index.js.patch`, and `server/data/api-keys.json`. The public preview key is not catastrophic, but shipping key stores and patch scraps looks sloppy.
|
|
84
|
+
|
|
85
|
+
Action: exclude stale tarballs, patch scraps, and local key stores from npm.
|
|
86
|
+
|
|
87
|
+
### 3. The product has too many offers
|
|
88
|
+
|
|
89
|
+
Homepage pricing: Developer/Team SaaS. Services page: setup packages. Business page: assessment. Scanner page: free tool. That is not fatal, but the paths need to be explicit:
|
|
90
|
+
|
|
91
|
+
- Developers: install free → scan → upgrade for logs/alerts.
|
|
92
|
+
- Teams: scan fleet → Team plan.
|
|
93
|
+
- Businesses: book assessment.
|
|
94
|
+
- Consultants: affiliate/resell.
|
|
95
|
+
|
|
96
|
+
### 4. Proof needs to be more concrete
|
|
97
|
+
|
|
98
|
+
"40/40 eval" is useful, but buyers need one visceral demo:
|
|
99
|
+
|
|
100
|
+
- poisoned README tries to exfiltrate `.env`
|
|
101
|
+
- ClawMoat blocks it
|
|
102
|
+
- audit log shows why
|
|
103
|
+
- policy says what would have happened
|
|
104
|
+
|
|
105
|
+
Action: make the attack demo the primary conversion asset.
|
|
106
|
+
|
|
107
|
+
### 5. Sales CTA is mostly passive
|
|
108
|
+
|
|
109
|
+
Waiting for traffic will not work. The immediate sales motion should be direct outreach to people already showing intent: maintainers of agent repos, AI automation consultants, and founders posting about Claude Code/MCP security.
|
|
110
|
+
|
|
111
|
+
## Positioning
|
|
112
|
+
|
|
113
|
+
Primary headline:
|
|
114
|
+
|
|
115
|
+
> Your AI agent has access to your machine. ClawMoat decides what it can touch.
|
|
116
|
+
|
|
117
|
+
Secondary:
|
|
118
|
+
|
|
119
|
+
> The open-source firewall for AI agents running on real machines.
|
|
120
|
+
|
|
121
|
+
Mechanism:
|
|
122
|
+
|
|
123
|
+
> Prompt filters inspect the conversation. ClawMoat monitors the boundary: files, shell commands, network calls, MCP configs, secrets, and outbound data.
|
|
124
|
+
|
|
125
|
+
Contrast:
|
|
126
|
+
|
|
127
|
+
> Lakera, LLM Guard, and NeMo focus on model/prompt safety. Snyk and MCP scanners focus on config/static scanning. ClawMoat focuses on runtime containment for the host.
|
|
128
|
+
|
|
129
|
+
## 14-day sales push
|
|
130
|
+
|
|
131
|
+
### Day 0: Product hygiene
|
|
132
|
+
|
|
133
|
+
- Publish npm `1.0.0`.
|
|
134
|
+
- Add GitHub release notes.
|
|
135
|
+
- Pin attack demo GIF/video in README and homepage.
|
|
136
|
+
- Make `/scan/` the top CTA everywhere.
|
|
137
|
+
- Verify checkout with one test Stripe session.
|
|
138
|
+
|
|
139
|
+
### Days 1-3: Founder/dev launch
|
|
140
|
+
|
|
141
|
+
- X thread: "Your agent has root access. Does it deserve it?"
|
|
142
|
+
- Hacker News Show HN: ClawMoat, open-source firewall for AI agents.
|
|
143
|
+
- Reddit posts in `r/LocalLLaMA`, `r/ClaudeAI`, `r/cybersecurity`, `r/mcp`, `r/selfhosted`.
|
|
144
|
+
- Dev.to post with attack demo code.
|
|
145
|
+
- GitHub Discussions/community posts only where relevant, not spam.
|
|
146
|
+
|
|
147
|
+
### Days 4-7: Direct outbound
|
|
148
|
+
|
|
149
|
+
Build a list of 100 targets:
|
|
150
|
+
|
|
151
|
+
- AI automation consultants.
|
|
152
|
+
- Agent framework maintainers.
|
|
153
|
+
- MCP tool authors.
|
|
154
|
+
- Founders posting about Claude Code/OpenClaw/Cursor agents.
|
|
155
|
+
- Security engineers discussing prompt injection or MCP risk.
|
|
156
|
+
|
|
157
|
+
Send 20/day. The CTA is not "buy now". The CTA is:
|
|
158
|
+
|
|
159
|
+
> I scanned your agent/tooling surface and found a few places ClawMoat can help. Want the report?
|
|
160
|
+
|
|
161
|
+
### Days 8-14: Convert proof into revenue
|
|
162
|
+
|
|
163
|
+
- Offer free 15-minute agent exposure assessment to first 10 teams.
|
|
164
|
+
- Turn every assessment into a sanitized case study.
|
|
165
|
+
- Ask every technical adopter to add the `Secured by ClawMoat` badge.
|
|
166
|
+
- Ask every consultant to join affiliate program.
|
|
167
|
+
- Push Team plan only after a real risk finding.
|
|
168
|
+
|
|
169
|
+
## Outbound message drafts
|
|
170
|
+
|
|
171
|
+
### For AI automation consultants
|
|
172
|
+
|
|
173
|
+
Subject: quick security layer for the agents you deploy
|
|
174
|
+
|
|
175
|
+
I saw you deploy AI agents for clients. Quick question: are you giving those agents file/shell/API access, or keeping them inside a narrow sandbox?
|
|
176
|
+
|
|
177
|
+
I’m building ClawMoat, an open-source firewall for AI agents. It scans prompts, MCP configs, shell/file/network actions, and outbound data so you can tell clients, “your agent can’t touch what it shouldn’t.”
|
|
178
|
+
|
|
179
|
+
If useful, I’ll run a free exposure scan on one demo setup and send you the report. No pitch deck.
|
|
180
|
+
|
|
181
|
+
### For agent framework/tool maintainers
|
|
182
|
+
|
|
183
|
+
Subject: want a free security badge for your agent project?
|
|
184
|
+
|
|
185
|
+
I’m building ClawMoat, an open-source agent firewall.
|
|
186
|
+
|
|
187
|
+
The useful part for your project is simple: scan MCP configs, dangerous tool permissions, prompt-injection payloads, secrets, and exfiltration patterns. If it passes, you can add a `Secured by ClawMoat` badge and link to the report.
|
|
188
|
+
|
|
189
|
+
Want me to run it against your repo and send a PR with the badge/report if it’s clean?
|
|
190
|
+
|
|
191
|
+
### For founders using Claude Code / OpenClaw / Cursor agents
|
|
192
|
+
|
|
193
|
+
Subject: your coding agent probably has more access than you think
|
|
194
|
+
|
|
195
|
+
Your coding agent can likely read SSH keys, env files, browser sessions, and cloud credentials. That’s fine until one poisoned README, website, or MCP tool tells it to exfiltrate them.
|
|
196
|
+
|
|
197
|
+
ClawMoat is the open-source firewall I built for that boundary: files, shell, network, MCP, secrets, outbound data.
|
|
198
|
+
|
|
199
|
+
If you send me the agent stack you’re using, I’ll tell you the top 3 exposure points and how to lock them down.
|
|
200
|
+
|
|
201
|
+
## Public post drafts
|
|
202
|
+
|
|
203
|
+
### X short post
|
|
204
|
+
|
|
205
|
+
Your AI agent has access to your machine.
|
|
206
|
+
|
|
207
|
+
SSH keys. `.env` files. AWS creds. Browser cookies. Repo history.
|
|
208
|
+
|
|
209
|
+
Prompt filters inspect text.
|
|
210
|
+
ClawMoat controls what the agent can actually touch.
|
|
211
|
+
|
|
212
|
+
Open-source agent firewall.
|
|
213
|
+
https://clawmoat.com
|
|
214
|
+
|
|
215
|
+
### X thread
|
|
216
|
+
|
|
217
|
+
1/ Your AI agent has access to your machine.
|
|
218
|
+
|
|
219
|
+
That means SSH keys, `.env` files, AWS creds, browser sessions, source code, shell commands, MCP tools, and outbound network calls.
|
|
220
|
+
|
|
221
|
+
That is not a chatbot anymore. That is an intern with root-ish access.
|
|
222
|
+
|
|
223
|
+
2/ Most AI security tools protect the model or inspect the prompt.
|
|
224
|
+
|
|
225
|
+
Useful, but incomplete.
|
|
226
|
+
|
|
227
|
+
The real question is what happens after the model decides to act.
|
|
228
|
+
|
|
229
|
+
What can it read?
|
|
230
|
+
What can it run?
|
|
231
|
+
What can it send?
|
|
232
|
+
What gets logged?
|
|
233
|
+
What gets blocked?
|
|
234
|
+
|
|
235
|
+
3/ That is the boundary ClawMoat is built for.
|
|
236
|
+
|
|
237
|
+
It scans inbound content, outbound content, tool calls, MCP configs, secrets, PII, dangerous shell commands, supply-chain patterns, and runtime behavior.
|
|
238
|
+
|
|
239
|
+
4/ The category is simple:
|
|
240
|
+
|
|
241
|
+
Prompt filters inspect the conversation.
|
|
242
|
+
ClawMoat protects the machine.
|
|
243
|
+
|
|
244
|
+
5/ It’s open source, zero-dependency Node.js, MIT licensed, and the test suite is green.
|
|
245
|
+
|
|
246
|
+
Install:
|
|
247
|
+
`npm install -g clawmoat`
|
|
248
|
+
|
|
249
|
+
Scan:
|
|
250
|
+
`clawmoat scan-mcp`
|
|
251
|
+
|
|
252
|
+
Site:
|
|
253
|
+
https://clawmoat.com
|
|
254
|
+
|
|
255
|
+
### Hacker News Show HN draft
|
|
256
|
+
|
|
257
|
+
Title: Show HN: ClawMoat, an open-source firewall for AI agents
|
|
258
|
+
|
|
259
|
+
I built ClawMoat because local AI agents are getting real permissions faster than they’re getting real security.
|
|
260
|
+
|
|
261
|
+
If you run Claude Code, OpenClaw, Cursor agents, MCP servers, or custom agent loops on your machine, the agent can often read files, run shell commands, access credentials, and make network calls. Prompt injection is only part of the problem. The bigger problem is runtime containment.
|
|
262
|
+
|
|
263
|
+
ClawMoat scans inbound text, outbound text, MCP configs, tool calls, secrets, PII, dangerous shell commands, supply-chain payloads, and exfiltration patterns. The goal is not to make the model “safe”. The goal is to control what the agent can touch.
|
|
264
|
+
|
|
265
|
+
It’s MIT licensed, zero-dependency Node.js, and runs locally.
|
|
266
|
+
|
|
267
|
+
Install:
|
|
268
|
+
|
|
269
|
+
```bash
|
|
270
|
+
npm install -g clawmoat
|
|
271
|
+
clawmoat scan-mcp
|
|
272
|
+
clawmoat watch ~/.openclaw/agents/main
|
|
273
|
+
```
|
|
274
|
+
|
|
275
|
+
I’d especially like feedback from people running local agents with real file/shell access. What boundary would you want enforced before trusting an agent on your laptop?
|
|
276
|
+
|
|
277
|
+
Repo: https://github.com/darfaz/clawmoat
|
|
278
|
+
Site: https://clawmoat.com
|
|
279
|
+
|
|
280
|
+
## Revenue math
|
|
281
|
+
|
|
282
|
+
The first sales target should not be enterprise. It should be:
|
|
283
|
+
|
|
284
|
+
- 10 Developer subscribers at $9/mo = tiny but validates checkout.
|
|
285
|
+
- 5 Team subscribers at $49/mo = $245 MRR.
|
|
286
|
+
- 3 setup/service sales at $249-$999 = immediate cash and case studies.
|
|
287
|
+
- 2 consultant affiliates = distribution leverage.
|
|
288
|
+
|
|
289
|
+
The fastest path to revenue is a hybrid: open-source product for credibility, paid setup/security reviews for cash, Team subscriptions for recurring revenue.
|
|
290
|
+
|
|
291
|
+
## My recommendation
|
|
292
|
+
|
|
293
|
+
Do not spend the next week adding features.
|
|
294
|
+
|
|
295
|
+
Spend it converting existing product into trust:
|
|
296
|
+
|
|
297
|
+
1. Publish npm v1.0.0.
|
|
298
|
+
2. Clean npm package contents.
|
|
299
|
+
3. Push one attack demo hard.
|
|
300
|
+
4. Run 100 targeted outbound messages.
|
|
301
|
+
5. Turn every response into either a report, badge PR, or paid setup call.
|
|
302
|
+
|
|
303
|
+
The hard truth: ClawMoat is currently more built than sold. That is fixable, but only if we stop treating content as the sales motion. Content supports sales. Direct outreach creates sales.
|