clawguard 0.1.0__tar.gz

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.
@@ -0,0 +1,34 @@
1
+ # Python
2
+ __pycache__/
3
+ *.py[cod]
4
+ *$py.class
5
+ *.so
6
+ *.egg-info/
7
+ *.egg
8
+ dist/
9
+ build/
10
+ .eggs/
11
+
12
+ # Virtual environments
13
+ .venv/
14
+ venv/
15
+ env/
16
+
17
+ # IDE
18
+ .vscode/
19
+ .idea/
20
+ *.swp
21
+ *.swo
22
+
23
+ # OS
24
+ .DS_Store
25
+ Thumbs.db
26
+
27
+ # Testing
28
+ .pytest_cache/
29
+ .coverage
30
+ htmlcov/
31
+
32
+ # Distribution
33
+ *.tar.gz
34
+ *.whl
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2026 Vishal M
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
@@ -0,0 +1,273 @@
1
+ Metadata-Version: 2.4
2
+ Name: clawguard
3
+ Version: 0.1.0
4
+ Summary: Security scanner for OpenClaw AI agent installations
5
+ Project-URL: Homepage, https://github.com/vman7250/clawguard
6
+ Project-URL: Repository, https://github.com/vman7250/clawguard
7
+ Project-URL: Issues, https://github.com/vman7250/clawguard/issues
8
+ Author: Vishal M
9
+ License: MIT
10
+ License-File: LICENSE
11
+ Keywords: ai-agent,clawdbot,moltbot,openclaw,scanner,security
12
+ Classifier: Development Status :: 3 - Alpha
13
+ Classifier: Environment :: Console
14
+ Classifier: Intended Audience :: Developers
15
+ Classifier: License :: OSI Approved :: MIT License
16
+ Classifier: Programming Language :: Python :: 3
17
+ Classifier: Programming Language :: Python :: 3.11
18
+ Classifier: Programming Language :: Python :: 3.12
19
+ Classifier: Topic :: Security
20
+ Requires-Python: >=3.11
21
+ Requires-Dist: json5>=0.9.0
22
+ Requires-Dist: pydantic>=2.0.0
23
+ Requires-Dist: pyyaml>=6.0
24
+ Requires-Dist: rich>=13.0.0
25
+ Requires-Dist: typer>=0.9.0
26
+ Description-Content-Type: text/markdown
27
+
28
+ # ClawGuard
29
+
30
+ **Security scanner for OpenClaw AI agent installations.**
31
+
32
+ OpenClaw ships with dangerous defaults: sandbox disabled, plaintext API keys in config files, gateway exposed to LAN, and a skills marketplace with [341 known malicious packages](https://clawhub.dev/security). CVE-2026-25253 allows 1-click remote code execution on unpatched installations.
33
+
34
+ ClawGuard scans your local OpenClaw setup, flags every vulnerability with severity ratings, and auto-fixes the most common issues. Think `npm audit` for your AI agent.
35
+
36
+ [![PyPI version](https://img.shields.io/pypi/v/clawguard.svg)](https://pypi.org/project/clawguard/)
37
+ [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
38
+ [![Python 3.11+](https://img.shields.io/badge/python-3.11+-blue.svg)](https://www.python.org/downloads/)
39
+
40
+ ## Why ClawGuard?
41
+
42
+ A default OpenClaw install scores **0/100** on our security checks:
43
+
44
+ - Sandbox mode is **OFF** - agents execute commands directly on your host
45
+ - API keys are stored in **plaintext** in `~/.openclaw/openclaw.json`
46
+ - Gateway binds to **LAN** instead of loopback
47
+ - No exec allowlisting - any tool call runs unrestricted
48
+ - Skills from ClawHub run with whatever permissions they request
49
+ - Session transcripts can leak credentials into `.jsonl` logs
50
+
51
+ Most users don't know this. ClawGuard tells them exactly what's wrong and how to fix it.
52
+
53
+ ## Install
54
+
55
+ ```bash
56
+ pip install clawguard
57
+ ```
58
+
59
+ Or with pipx (recommended for CLI tools):
60
+
61
+ ```bash
62
+ pipx install clawguard
63
+ ```
64
+
65
+ ## Quick Start
66
+
67
+ ```bash
68
+ # Scan your OpenClaw installation (auto-detects ~/.openclaw/)
69
+ clawguard scan
70
+
71
+ # Auto-fix common security issues
72
+ clawguard fix
73
+
74
+ # Verify fixes
75
+ clawguard scan
76
+ ```
77
+
78
+ ## Example Output
79
+
80
+ ```
81
+ ClawGuard v0.1.0 - OpenClaw Security Scanner
82
+
83
+ Scanning /home/user/.openclaw/ ...
84
+
85
+ CRITICAL Plaintext API keys found in configuration
86
+ openclaw.json: Anthropic API key (sk-ant-...) on line 14
87
+ openclaw.json: OpenAI API key (sk-proj-...) on line 18
88
+ credentials/profiles.json: Telegram bot token on line 7
89
+ Fix: Use environment variables: "apiKey": "${ANTHROPIC_API_KEY}"
90
+
91
+ CRITICAL Sandbox mode is disabled
92
+ agents.defaults.sandbox.mode = "off"
93
+ Fix: Set sandbox.mode to "all" in openclaw.json
94
+
95
+ CRITICAL Gateway bound to LAN
96
+ gateway.bind = "lan" (should be "loopback")
97
+ Fix: Set gateway.bind to "loopback" in openclaw.json
98
+
99
+ HIGH Weak gateway auth token
100
+ Token length: 4 characters (minimum: 32)
101
+ Fix: openssl rand -hex 32
102
+
103
+ HIGH Commands execute on host, not in sandbox
104
+ tools.exec.host = "gateway"
105
+ Fix: Set to "sandbox" in openclaw.json
106
+
107
+ MEDIUM Log redaction not enabled
108
+ Fix: Set logging.redactSensitive to "tools" in openclaw.json
109
+
110
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
111
+
112
+ Score: 0/100 CRITICAL RISK
113
+
114
+ Found: 3 critical, 2 high, 1 medium, 0 info
115
+ Run clawguard fix to auto-fix 6 issues
116
+ ```
117
+
118
+ After running `clawguard fix`:
119
+
120
+ ```
121
+ Score: 85/100 GOOD
122
+
123
+ Found: 0 critical, 0 high, 0 medium, 3 info
124
+ ```
125
+
126
+ ## CLI Reference
127
+
128
+ ```bash
129
+ # Full scan (auto-detects ~/.openclaw/, ~/.clawdbot/, ~/.moltbot/)
130
+ clawguard scan
131
+
132
+ # Scan a specific directory
133
+ clawguard scan --path /path/to/openclaw
134
+
135
+ # JSON output for CI/CD pipelines
136
+ clawguard scan --format json
137
+
138
+ # Run only specific check categories
139
+ clawguard scan --check credentials --check gateway --check sandbox
140
+
141
+ # Auto-fix common issues
142
+ clawguard fix
143
+ clawguard fix --path /path/to/openclaw
144
+
145
+ # Show version
146
+ clawguard version
147
+ ```
148
+
149
+ ### Available Check Categories
150
+
151
+ `credentials` `gateway` `sandbox` `permissions` `version` `skills` `memory`
152
+
153
+ ### Exit Codes
154
+
155
+ | Code | Meaning |
156
+ |---|---|
157
+ | 0 | Scan passed, no critical issues |
158
+ | 1 | Error (path not found, invalid args) |
159
+ | 2 | Critical issues found |
160
+
161
+ ## Security Checks
162
+
163
+ ### 25+ checks across 7 categories:
164
+
165
+ | Category | Checks | Severity |
166
+ |---|---|---|
167
+ | **Credentials** | Plaintext API keys in config, `.env`, `.bak` files, session transcripts, log redaction settings | CRITICAL |
168
+ | **Gateway** | Bind address (loopback vs LAN), auth token strength, port exposure on 0.0.0.0 | CRITICAL |
169
+ | **Sandbox** | Sandbox mode, Docker availability, network isolation, exec host, exec allowlisting | CRITICAL |
170
+ | **Version** | OpenClaw version against CVE-2026-25253 (RCE) and CVE-2026-21636, Node.js version | CRITICAL |
171
+ | **Skills** | Malicious patterns, C2 IPs, typosquatted publishers, permission analysis, suspicious binaries | CRITICAL |
172
+ | **Permissions** | Directory (700) and file (600) permissions on sensitive configs and credentials | HIGH |
173
+ | **Memory** | SOUL.md/MEMORY.md injection detection, credential leaks in daily logs | HIGH |
174
+
175
+ ### Credential Patterns
176
+
177
+ Detects 17+ key formats: `sk-ant-` (Anthropic), `sk-proj-` (OpenAI), `gsk_` (Groq), `xai-` (xAI), `AKIA` (AWS), `ghp_`/`gho_` (GitHub), `glpat-` (GitLab), `xoxb-`/`xoxp-` (Slack), Telegram bot tokens, Discord tokens, `sk_live_` (Stripe), OpenRouter, Google AI, and generic Bearer tokens.
178
+
179
+ ### Malicious Skill Detection
180
+
181
+ - Remote code execution patterns (`curl | sh`, `wget | bash`)
182
+ - Base64-encoded payloads over 50 characters
183
+ - Known C2 IP addresses from the ClawHavoc campaign
184
+ - References to paste services (glot.io, pastebin.com, hastebin)
185
+ - Typosquatted ClawHub publisher names
186
+ - Suspicious binary requirements (`nc`, `ncat`, `netcat`, `nmap`, `socat`)
187
+ - Excessive permission requests (exec + sensitive_data + filesystem write)
188
+ - Password-protected archive downloads
189
+
190
+ ## Auto-Fix
191
+
192
+ `clawguard fix` remediates these issues automatically:
193
+
194
+ | Issue | Fix Applied |
195
+ |---|---|
196
+ | Wrong file permissions | `chmod 700` dirs, `chmod 600` config files |
197
+ | Sandbox disabled | Sets `sandbox.mode` to `"all"` |
198
+ | No Docker network isolation | Sets `docker.network` to `"none"` |
199
+ | Exec runs on host | Sets `tools.exec.host` to `"sandbox"` |
200
+ | Log redaction off | Sets `logging.redactSensitive` to `"tools"` |
201
+ | Weak gateway token | Generates 64-character hex token |
202
+ | `.bak` files with old creds | Deletes backup files |
203
+
204
+ ## CI/CD Integration
205
+
206
+ ClawGuard returns exit code `2` when critical issues are found:
207
+
208
+ ```yaml
209
+ # GitHub Actions
210
+ - name: OpenClaw security scan
211
+ run: |
212
+ pip install clawguard
213
+ clawguard scan --format json > security-report.json
214
+ clawguard scan
215
+ ```
216
+
217
+ ```yaml
218
+ # GitLab CI
219
+ security_scan:
220
+ script:
221
+ - pip install clawguard
222
+ - clawguard scan --format json --path $OPENCLAW_DIR
223
+ allow_failure: false
224
+ ```
225
+
226
+ ## Scoring
227
+
228
+ Starts at 100, deducted per finding:
229
+
230
+ | Severity | Points Deducted |
231
+ |---|---|
232
+ | CRITICAL | -20 |
233
+ | HIGH | -10 |
234
+ | MEDIUM | -5 |
235
+ | INFO | 0 |
236
+
237
+ | Score Range | Rating |
238
+ |---|---|
239
+ | 81-100 | Good |
240
+ | 61-80 | Fair |
241
+ | 31-60 | Poor |
242
+ | 0-30 | Critical Risk |
243
+
244
+ ## Development
245
+
246
+ ```bash
247
+ git clone https://github.com/vman7250/clawguard.git
248
+ cd clawguard
249
+ pip install -e .
250
+
251
+ # Test against insecure fixture
252
+ clawguard scan --path tests/fixtures/
253
+
254
+ # Test against secure fixture
255
+ clawguard scan --path tests/fixtures/secure_config.json
256
+ ```
257
+
258
+ ## Contributing
259
+
260
+ Contributions welcome. Please open an issue first to discuss what you'd like to change.
261
+
262
+ 1. Fork the repo
263
+ 2. Create a feature branch (`git checkout -b feature/new-check`)
264
+ 3. Add tests for new checks in `tests/`
265
+ 4. Submit a PR
266
+
267
+ ## Security
268
+
269
+ If you find a security vulnerability in ClawGuard itself, please report it privately via [GitHub Security Advisories](https://github.com/vman7250/clawguard/security/advisories/new) instead of opening a public issue.
270
+
271
+ ## License
272
+
273
+ [MIT](LICENSE)
@@ -0,0 +1,246 @@
1
+ # ClawGuard
2
+
3
+ **Security scanner for OpenClaw AI agent installations.**
4
+
5
+ OpenClaw ships with dangerous defaults: sandbox disabled, plaintext API keys in config files, gateway exposed to LAN, and a skills marketplace with [341 known malicious packages](https://clawhub.dev/security). CVE-2026-25253 allows 1-click remote code execution on unpatched installations.
6
+
7
+ ClawGuard scans your local OpenClaw setup, flags every vulnerability with severity ratings, and auto-fixes the most common issues. Think `npm audit` for your AI agent.
8
+
9
+ [![PyPI version](https://img.shields.io/pypi/v/clawguard.svg)](https://pypi.org/project/clawguard/)
10
+ [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
11
+ [![Python 3.11+](https://img.shields.io/badge/python-3.11+-blue.svg)](https://www.python.org/downloads/)
12
+
13
+ ## Why ClawGuard?
14
+
15
+ A default OpenClaw install scores **0/100** on our security checks:
16
+
17
+ - Sandbox mode is **OFF** - agents execute commands directly on your host
18
+ - API keys are stored in **plaintext** in `~/.openclaw/openclaw.json`
19
+ - Gateway binds to **LAN** instead of loopback
20
+ - No exec allowlisting - any tool call runs unrestricted
21
+ - Skills from ClawHub run with whatever permissions they request
22
+ - Session transcripts can leak credentials into `.jsonl` logs
23
+
24
+ Most users don't know this. ClawGuard tells them exactly what's wrong and how to fix it.
25
+
26
+ ## Install
27
+
28
+ ```bash
29
+ pip install clawguard
30
+ ```
31
+
32
+ Or with pipx (recommended for CLI tools):
33
+
34
+ ```bash
35
+ pipx install clawguard
36
+ ```
37
+
38
+ ## Quick Start
39
+
40
+ ```bash
41
+ # Scan your OpenClaw installation (auto-detects ~/.openclaw/)
42
+ clawguard scan
43
+
44
+ # Auto-fix common security issues
45
+ clawguard fix
46
+
47
+ # Verify fixes
48
+ clawguard scan
49
+ ```
50
+
51
+ ## Example Output
52
+
53
+ ```
54
+ ClawGuard v0.1.0 - OpenClaw Security Scanner
55
+
56
+ Scanning /home/user/.openclaw/ ...
57
+
58
+ CRITICAL Plaintext API keys found in configuration
59
+ openclaw.json: Anthropic API key (sk-ant-...) on line 14
60
+ openclaw.json: OpenAI API key (sk-proj-...) on line 18
61
+ credentials/profiles.json: Telegram bot token on line 7
62
+ Fix: Use environment variables: "apiKey": "${ANTHROPIC_API_KEY}"
63
+
64
+ CRITICAL Sandbox mode is disabled
65
+ agents.defaults.sandbox.mode = "off"
66
+ Fix: Set sandbox.mode to "all" in openclaw.json
67
+
68
+ CRITICAL Gateway bound to LAN
69
+ gateway.bind = "lan" (should be "loopback")
70
+ Fix: Set gateway.bind to "loopback" in openclaw.json
71
+
72
+ HIGH Weak gateway auth token
73
+ Token length: 4 characters (minimum: 32)
74
+ Fix: openssl rand -hex 32
75
+
76
+ HIGH Commands execute on host, not in sandbox
77
+ tools.exec.host = "gateway"
78
+ Fix: Set to "sandbox" in openclaw.json
79
+
80
+ MEDIUM Log redaction not enabled
81
+ Fix: Set logging.redactSensitive to "tools" in openclaw.json
82
+
83
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
84
+
85
+ Score: 0/100 CRITICAL RISK
86
+
87
+ Found: 3 critical, 2 high, 1 medium, 0 info
88
+ Run clawguard fix to auto-fix 6 issues
89
+ ```
90
+
91
+ After running `clawguard fix`:
92
+
93
+ ```
94
+ Score: 85/100 GOOD
95
+
96
+ Found: 0 critical, 0 high, 0 medium, 3 info
97
+ ```
98
+
99
+ ## CLI Reference
100
+
101
+ ```bash
102
+ # Full scan (auto-detects ~/.openclaw/, ~/.clawdbot/, ~/.moltbot/)
103
+ clawguard scan
104
+
105
+ # Scan a specific directory
106
+ clawguard scan --path /path/to/openclaw
107
+
108
+ # JSON output for CI/CD pipelines
109
+ clawguard scan --format json
110
+
111
+ # Run only specific check categories
112
+ clawguard scan --check credentials --check gateway --check sandbox
113
+
114
+ # Auto-fix common issues
115
+ clawguard fix
116
+ clawguard fix --path /path/to/openclaw
117
+
118
+ # Show version
119
+ clawguard version
120
+ ```
121
+
122
+ ### Available Check Categories
123
+
124
+ `credentials` `gateway` `sandbox` `permissions` `version` `skills` `memory`
125
+
126
+ ### Exit Codes
127
+
128
+ | Code | Meaning |
129
+ |---|---|
130
+ | 0 | Scan passed, no critical issues |
131
+ | 1 | Error (path not found, invalid args) |
132
+ | 2 | Critical issues found |
133
+
134
+ ## Security Checks
135
+
136
+ ### 25+ checks across 7 categories:
137
+
138
+ | Category | Checks | Severity |
139
+ |---|---|---|
140
+ | **Credentials** | Plaintext API keys in config, `.env`, `.bak` files, session transcripts, log redaction settings | CRITICAL |
141
+ | **Gateway** | Bind address (loopback vs LAN), auth token strength, port exposure on 0.0.0.0 | CRITICAL |
142
+ | **Sandbox** | Sandbox mode, Docker availability, network isolation, exec host, exec allowlisting | CRITICAL |
143
+ | **Version** | OpenClaw version against CVE-2026-25253 (RCE) and CVE-2026-21636, Node.js version | CRITICAL |
144
+ | **Skills** | Malicious patterns, C2 IPs, typosquatted publishers, permission analysis, suspicious binaries | CRITICAL |
145
+ | **Permissions** | Directory (700) and file (600) permissions on sensitive configs and credentials | HIGH |
146
+ | **Memory** | SOUL.md/MEMORY.md injection detection, credential leaks in daily logs | HIGH |
147
+
148
+ ### Credential Patterns
149
+
150
+ Detects 17+ key formats: `sk-ant-` (Anthropic), `sk-proj-` (OpenAI), `gsk_` (Groq), `xai-` (xAI), `AKIA` (AWS), `ghp_`/`gho_` (GitHub), `glpat-` (GitLab), `xoxb-`/`xoxp-` (Slack), Telegram bot tokens, Discord tokens, `sk_live_` (Stripe), OpenRouter, Google AI, and generic Bearer tokens.
151
+
152
+ ### Malicious Skill Detection
153
+
154
+ - Remote code execution patterns (`curl | sh`, `wget | bash`)
155
+ - Base64-encoded payloads over 50 characters
156
+ - Known C2 IP addresses from the ClawHavoc campaign
157
+ - References to paste services (glot.io, pastebin.com, hastebin)
158
+ - Typosquatted ClawHub publisher names
159
+ - Suspicious binary requirements (`nc`, `ncat`, `netcat`, `nmap`, `socat`)
160
+ - Excessive permission requests (exec + sensitive_data + filesystem write)
161
+ - Password-protected archive downloads
162
+
163
+ ## Auto-Fix
164
+
165
+ `clawguard fix` remediates these issues automatically:
166
+
167
+ | Issue | Fix Applied |
168
+ |---|---|
169
+ | Wrong file permissions | `chmod 700` dirs, `chmod 600` config files |
170
+ | Sandbox disabled | Sets `sandbox.mode` to `"all"` |
171
+ | No Docker network isolation | Sets `docker.network` to `"none"` |
172
+ | Exec runs on host | Sets `tools.exec.host` to `"sandbox"` |
173
+ | Log redaction off | Sets `logging.redactSensitive` to `"tools"` |
174
+ | Weak gateway token | Generates 64-character hex token |
175
+ | `.bak` files with old creds | Deletes backup files |
176
+
177
+ ## CI/CD Integration
178
+
179
+ ClawGuard returns exit code `2` when critical issues are found:
180
+
181
+ ```yaml
182
+ # GitHub Actions
183
+ - name: OpenClaw security scan
184
+ run: |
185
+ pip install clawguard
186
+ clawguard scan --format json > security-report.json
187
+ clawguard scan
188
+ ```
189
+
190
+ ```yaml
191
+ # GitLab CI
192
+ security_scan:
193
+ script:
194
+ - pip install clawguard
195
+ - clawguard scan --format json --path $OPENCLAW_DIR
196
+ allow_failure: false
197
+ ```
198
+
199
+ ## Scoring
200
+
201
+ Starts at 100, deducted per finding:
202
+
203
+ | Severity | Points Deducted |
204
+ |---|---|
205
+ | CRITICAL | -20 |
206
+ | HIGH | -10 |
207
+ | MEDIUM | -5 |
208
+ | INFO | 0 |
209
+
210
+ | Score Range | Rating |
211
+ |---|---|
212
+ | 81-100 | Good |
213
+ | 61-80 | Fair |
214
+ | 31-60 | Poor |
215
+ | 0-30 | Critical Risk |
216
+
217
+ ## Development
218
+
219
+ ```bash
220
+ git clone https://github.com/vman7250/clawguard.git
221
+ cd clawguard
222
+ pip install -e .
223
+
224
+ # Test against insecure fixture
225
+ clawguard scan --path tests/fixtures/
226
+
227
+ # Test against secure fixture
228
+ clawguard scan --path tests/fixtures/secure_config.json
229
+ ```
230
+
231
+ ## Contributing
232
+
233
+ Contributions welcome. Please open an issue first to discuss what you'd like to change.
234
+
235
+ 1. Fork the repo
236
+ 2. Create a feature branch (`git checkout -b feature/new-check`)
237
+ 3. Add tests for new checks in `tests/`
238
+ 4. Submit a PR
239
+
240
+ ## Security
241
+
242
+ If you find a security vulnerability in ClawGuard itself, please report it privately via [GitHub Security Advisories](https://github.com/vman7250/clawguard/security/advisories/new) instead of opening a public issue.
243
+
244
+ ## License
245
+
246
+ [MIT](LICENSE)
@@ -0,0 +1,40 @@
1
+ [build-system]
2
+ requires = ["hatchling"]
3
+ build-backend = "hatchling.build"
4
+
5
+ [project]
6
+ name = "clawguard"
7
+ version = "0.1.0"
8
+ description = "Security scanner for OpenClaw AI agent installations"
9
+ readme = "README.md"
10
+ license = {text = "MIT"}
11
+ requires-python = ">=3.11"
12
+ authors = [
13
+ { name = "Vishal M" },
14
+ ]
15
+ keywords = ["openclaw", "security", "scanner", "ai-agent", "clawdbot", "moltbot"]
16
+ classifiers = [
17
+ "Development Status :: 3 - Alpha",
18
+ "Environment :: Console",
19
+ "Intended Audience :: Developers",
20
+ "License :: OSI Approved :: MIT License",
21
+ "Programming Language :: Python :: 3",
22
+ "Programming Language :: Python :: 3.11",
23
+ "Programming Language :: Python :: 3.12",
24
+ "Topic :: Security",
25
+ ]
26
+ dependencies = [
27
+ "typer>=0.9.0",
28
+ "rich>=13.0.0",
29
+ "json5>=0.9.0",
30
+ "pyyaml>=6.0",
31
+ "pydantic>=2.0.0",
32
+ ]
33
+
34
+ [project.scripts]
35
+ clawguard = "clawguard.cli:app"
36
+
37
+ [project.urls]
38
+ Homepage = "https://github.com/vman7250/clawguard"
39
+ Repository = "https://github.com/vman7250/clawguard"
40
+ Issues = "https://github.com/vman7250/clawguard/issues"
@@ -0,0 +1,3 @@
1
+ """ClawGuard - Security scanner for OpenClaw AI agent installations."""
2
+
3
+ __version__ = "0.1.0"
@@ -0,0 +1 @@
1
+ """Security check modules for ClawGuard."""