openclaw-macos-security 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/CHANGELOG.md +86 -0
- package/FINAL_TEST_GUIDE.md +253 -0
- package/LICENSE +21 -0
- package/PUBLICATION_GUIDE.md +455 -0
- package/PUBLIER.md +128 -0
- package/QUICK_START.md +201 -0
- package/README.md +172 -0
- package/README_PUBLISHER.md +275 -0
- package/TEST_RESULTS.md +248 -0
- package/dist/index.d.ts +75 -0
- package/dist/index.js +206 -0
- package/package.json +60 -0
- package/publish.sh +187 -0
- package/quick-test.js +13 -0
- package/test-integration.js +67 -0
- package/test-local.js +62 -0
package/CHANGELOG.md
ADDED
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
# Changelog
|
|
2
|
+
|
|
3
|
+
All notable changes to MaclawPro Security skill will be documented in this file.
|
|
4
|
+
|
|
5
|
+
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
|
|
6
|
+
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
7
|
+
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
## [1.0.0] - 2026-02-09
|
|
11
|
+
|
|
12
|
+
### π Initial Release
|
|
13
|
+
|
|
14
|
+
First public release of MaclawPro Security for OpenClaw.
|
|
15
|
+
|
|
16
|
+
### β¨ Added
|
|
17
|
+
|
|
18
|
+
**Core Monitoring:**
|
|
19
|
+
- Camera status monitoring
|
|
20
|
+
- Microphone status monitoring
|
|
21
|
+
- Firewall status check
|
|
22
|
+
- VPN connection checker
|
|
23
|
+
- Open ports scanner
|
|
24
|
+
- WiFi security analysis
|
|
25
|
+
|
|
26
|
+
**Commands:**
|
|
27
|
+
- `/camera-status` - Check active camera usage
|
|
28
|
+
- `/microphone-status` - Monitor microphone access
|
|
29
|
+
- `/firewall-status` - Verify firewall configuration
|
|
30
|
+
- `/vpn-checker` - Check VPN connection and leaks
|
|
31
|
+
- `/open-ports` - List listening network ports
|
|
32
|
+
- `/wifi-scanner` - Analyze WiFi security
|
|
33
|
+
- `/block-app` - App blocking (Pro feature teaser)
|
|
34
|
+
|
|
35
|
+
**Documentation:**
|
|
36
|
+
- Comprehensive README with examples
|
|
37
|
+
- Publication guide for contributors
|
|
38
|
+
- MIT License
|
|
39
|
+
|
|
40
|
+
**Branding:**
|
|
41
|
+
- Created by SEQUR.ca (Polytechnique MontrΓ©al certified)
|
|
42
|
+
- Links to maclawpro.com and sequr.ca
|
|
43
|
+
- Professional documentation
|
|
44
|
+
|
|
45
|
+
### π Security
|
|
46
|
+
|
|
47
|
+
- All monitoring stays local (no external data transmission)
|
|
48
|
+
- Safe command execution (read-only operations)
|
|
49
|
+
- No persistent storage of sensitive data
|
|
50
|
+
|
|
51
|
+
---
|
|
52
|
+
|
|
53
|
+
## [Unreleased]
|
|
54
|
+
|
|
55
|
+
### π§ Planned Features
|
|
56
|
+
|
|
57
|
+
**v1.1.0 (Next Release):**
|
|
58
|
+
- Location tracking monitoring
|
|
59
|
+
- SSH connection status
|
|
60
|
+
- Screen lock configuration check
|
|
61
|
+
- Gatekeeper/SIP status
|
|
62
|
+
|
|
63
|
+
**v1.2.0:**
|
|
64
|
+
- Bluetooth security audit
|
|
65
|
+
- Browser extension safety check
|
|
66
|
+
- Permission audit summary
|
|
67
|
+
- Launch daemon analysis
|
|
68
|
+
|
|
69
|
+
**v2.0.0 (Major):**
|
|
70
|
+
- Real-time alerts (requires Pro)
|
|
71
|
+
- Dashboard web view integration
|
|
72
|
+
- Multi-Mac management
|
|
73
|
+
- Custom security rules
|
|
74
|
+
|
|
75
|
+
---
|
|
76
|
+
|
|
77
|
+
## Contributing
|
|
78
|
+
|
|
79
|
+
Found a bug? Have a feature request?
|
|
80
|
+
- π Report issues: https://github.com/YOUR_USERNAME/maclaw-openclaw-skill/issues
|
|
81
|
+
- π‘ Suggest features: Open a GitHub issue
|
|
82
|
+
- π§ Contact: info@sequr.ca
|
|
83
|
+
|
|
84
|
+
---
|
|
85
|
+
|
|
86
|
+
**Last Updated:** 2026-02-09
|
|
@@ -0,0 +1,253 @@
|
|
|
1
|
+
# π Final Test Guide - Ready for Publication
|
|
2
|
+
|
|
3
|
+
**Package:** `@isfisf/maclaw-openclaw-security`
|
|
4
|
+
**Status:** β
All tests passed
|
|
5
|
+
**Ready to publish:** YES
|
|
6
|
+
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
## π― Quick Test (30 seconds)
|
|
10
|
+
|
|
11
|
+
Run this ONE command to test everything:
|
|
12
|
+
|
|
13
|
+
```bash
|
|
14
|
+
cd /Users/t4/Documents/GitHub/maclaw/openclaw-skill
|
|
15
|
+
node test-integration.js
|
|
16
|
+
```
|
|
17
|
+
|
|
18
|
+
**Expected output:**
|
|
19
|
+
- β
Skill loads correctly
|
|
20
|
+
- β
Metadata is valid
|
|
21
|
+
- β
Commands execute
|
|
22
|
+
- β
Upgrade prompts work
|
|
23
|
+
- β
Ready for OpenClaw!
|
|
24
|
+
|
|
25
|
+
---
|
|
26
|
+
|
|
27
|
+
## π Individual Command Tests
|
|
28
|
+
|
|
29
|
+
Test each command separately:
|
|
30
|
+
|
|
31
|
+
```bash
|
|
32
|
+
cd /Users/t4/Documents/GitHub/maclaw/openclaw-skill
|
|
33
|
+
|
|
34
|
+
# Test camera
|
|
35
|
+
node -e "require('./dist/index.js').cameraStatus().then(console.log)"
|
|
36
|
+
|
|
37
|
+
# Test firewall
|
|
38
|
+
node -e "require('./dist/index.js').firewallStatus().then(console.log)"
|
|
39
|
+
|
|
40
|
+
# Test VPN
|
|
41
|
+
node -e "require('./dist/index.js').vpnChecker().then(console.log)"
|
|
42
|
+
|
|
43
|
+
# Test WiFi
|
|
44
|
+
node -e "require('./dist/index.js').wifiScanner().then(console.log)"
|
|
45
|
+
|
|
46
|
+
# Test ports
|
|
47
|
+
node -e "require('./dist/index.js').openPorts().then(console.log)"
|
|
48
|
+
|
|
49
|
+
# Test microphone
|
|
50
|
+
node -e "require('./dist/index.js').microphoneStatus().then(console.log)"
|
|
51
|
+
|
|
52
|
+
# Test block (upgrade prompt)
|
|
53
|
+
node -e "require('./dist/index.js').blockApp('TestApp').then(console.log)"
|
|
54
|
+
```
|
|
55
|
+
|
|
56
|
+
---
|
|
57
|
+
|
|
58
|
+
## π¦ Package Verification Checklist
|
|
59
|
+
|
|
60
|
+
Before publishing, verify:
|
|
61
|
+
|
|
62
|
+
```bash
|
|
63
|
+
cd /Users/t4/Documents/GitHub/maclaw/openclaw-skill
|
|
64
|
+
|
|
65
|
+
# 1. Clean build
|
|
66
|
+
npm run clean
|
|
67
|
+
npm install
|
|
68
|
+
npm run build
|
|
69
|
+
|
|
70
|
+
# 2. Check package contents
|
|
71
|
+
ls -la dist/
|
|
72
|
+
# Should show: index.js, index.d.ts
|
|
73
|
+
|
|
74
|
+
# 3. Verify no build errors
|
|
75
|
+
cat dist/index.js | head -20
|
|
76
|
+
# Should show compiled JS
|
|
77
|
+
|
|
78
|
+
# 4. Test package locally
|
|
79
|
+
node test-integration.js
|
|
80
|
+
# Should pass all tests
|
|
81
|
+
|
|
82
|
+
# 5. Check package size
|
|
83
|
+
du -sh dist/
|
|
84
|
+
# Should be < 50KB
|
|
85
|
+
|
|
86
|
+
# 6. Verify no sensitive data
|
|
87
|
+
grep -r "password\|secret\|token" dist/
|
|
88
|
+
# Should return nothing
|
|
89
|
+
|
|
90
|
+
# 7. Check package.json
|
|
91
|
+
cat package.json | grep -E "name|version|main"
|
|
92
|
+
# Should show:
|
|
93
|
+
# "name": "@isfisf/maclaw-openclaw-security"
|
|
94
|
+
# "version": "1.0.0"
|
|
95
|
+
# "main": "dist/index.js"
|
|
96
|
+
```
|
|
97
|
+
|
|
98
|
+
---
|
|
99
|
+
|
|
100
|
+
## π Publication Steps
|
|
101
|
+
|
|
102
|
+
### Step 1: Login to npm
|
|
103
|
+
|
|
104
|
+
```bash
|
|
105
|
+
npm login
|
|
106
|
+
# Username: [your npm username]
|
|
107
|
+
# Password: [your npm password]
|
|
108
|
+
# Email: [your email]
|
|
109
|
+
```
|
|
110
|
+
|
|
111
|
+
### Step 2: Dry run (optional)
|
|
112
|
+
|
|
113
|
+
```bash
|
|
114
|
+
npm publish --dry-run
|
|
115
|
+
# Shows what would be published
|
|
116
|
+
```
|
|
117
|
+
|
|
118
|
+
### Step 3: Publish
|
|
119
|
+
|
|
120
|
+
```bash
|
|
121
|
+
npm publish --access public
|
|
122
|
+
```
|
|
123
|
+
|
|
124
|
+
**Expected output:**
|
|
125
|
+
```
|
|
126
|
+
+ @isfisf/maclaw-openclaw-security@1.0.0
|
|
127
|
+
```
|
|
128
|
+
|
|
129
|
+
### Step 4: Verify publication
|
|
130
|
+
|
|
131
|
+
```bash
|
|
132
|
+
# Check on npm
|
|
133
|
+
open https://www.npmjs.com/package/@isfisf/maclaw-openclaw-security
|
|
134
|
+
|
|
135
|
+
# Test installation
|
|
136
|
+
cd /tmp
|
|
137
|
+
npm install @isfisf/maclaw-openclaw-security
|
|
138
|
+
node -e "require('@isfisf/maclaw-openclaw-security').cameraStatus().then(console.log)"
|
|
139
|
+
```
|
|
140
|
+
|
|
141
|
+
---
|
|
142
|
+
|
|
143
|
+
## π§ͺ Post-Publication Tests
|
|
144
|
+
|
|
145
|
+
After publishing, test the installed package:
|
|
146
|
+
|
|
147
|
+
```bash
|
|
148
|
+
# Create test directory
|
|
149
|
+
mkdir -p /tmp/test-openclaw-skill
|
|
150
|
+
cd /tmp/test-openclaw-skill
|
|
151
|
+
|
|
152
|
+
# Install from npm
|
|
153
|
+
npm install @isfisf/maclaw-openclaw-security
|
|
154
|
+
|
|
155
|
+
# Create test script
|
|
156
|
+
cat > test.js << 'EOF'
|
|
157
|
+
const skill = require('@isfisf/maclaw-openclaw-security');
|
|
158
|
+
|
|
159
|
+
async function test() {
|
|
160
|
+
console.log('Testing installed package...\n');
|
|
161
|
+
|
|
162
|
+
// Test camera
|
|
163
|
+
const camera = await skill.cameraStatus();
|
|
164
|
+
console.log('Camera:', camera.split('\n')[0]);
|
|
165
|
+
|
|
166
|
+
// Test firewall
|
|
167
|
+
const firewall = await skill.firewallStatus();
|
|
168
|
+
console.log('Firewall:', firewall.split('\n')[0]);
|
|
169
|
+
|
|
170
|
+
console.log('\nβ
Package works!');
|
|
171
|
+
}
|
|
172
|
+
|
|
173
|
+
test();
|
|
174
|
+
EOF
|
|
175
|
+
|
|
176
|
+
# Run test
|
|
177
|
+
node test.js
|
|
178
|
+
```
|
|
179
|
+
|
|
180
|
+
---
|
|
181
|
+
|
|
182
|
+
## π Test Results Summary
|
|
183
|
+
|
|
184
|
+
| Test | Status | Command |
|
|
185
|
+
|------|--------|---------|
|
|
186
|
+
| Build | β
| `npm run build` |
|
|
187
|
+
| Integration | β
| `node test-integration.js` |
|
|
188
|
+
| Camera | β
| `/camera-status` |
|
|
189
|
+
| Firewall | β
| `/firewall-status` |
|
|
190
|
+
| VPN | β
| `/vpn-checker` |
|
|
191
|
+
| WiFi | β
| `/wifi-scanner` |
|
|
192
|
+
| Ports | β
| `/open-ports` |
|
|
193
|
+
| Microphone | β
| `/microphone-status` |
|
|
194
|
+
| Block App | β
| `/block-app` (upgrade prompt) |
|
|
195
|
+
|
|
196
|
+
---
|
|
197
|
+
|
|
198
|
+
## β οΈ Important Notes
|
|
199
|
+
|
|
200
|
+
### Before Publishing:
|
|
201
|
+
|
|
202
|
+
1. **No circular dependencies** β
Fixed
|
|
203
|
+
2. **No sensitive data** β
Verified
|
|
204
|
+
3. **Package.json is valid** β
Checked
|
|
205
|
+
4. **TypeScript builds** β
Working
|
|
206
|
+
5. **All tests pass** β
Confirmed
|
|
207
|
+
|
|
208
|
+
### After Publishing:
|
|
209
|
+
|
|
210
|
+
1. **Update GitHub repo** - Push latest changes
|
|
211
|
+
2. **Create GitHub release** - Tag v1.0.0
|
|
212
|
+
3. **Submit to OpenClawSearch** - Email contact@openclawsearch.com
|
|
213
|
+
4. **Announce on Discord** - Post in #skills channel
|
|
214
|
+
5. **Update websites** - sequr.ca, maclawpro.com
|
|
215
|
+
|
|
216
|
+
---
|
|
217
|
+
|
|
218
|
+
## π― Expected Metrics (Week 1)
|
|
219
|
+
|
|
220
|
+
- **Downloads:** 10-50 (Day 1), 100-300 (Week 1)
|
|
221
|
+
- **Stars:** 5-10 (if GitHub repo is public)
|
|
222
|
+
- **Issues:** 0-2 (monitor for bugs)
|
|
223
|
+
- **Conversion:** 2-5% to MaclawPro Pro
|
|
224
|
+
|
|
225
|
+
---
|
|
226
|
+
|
|
227
|
+
## π Support
|
|
228
|
+
|
|
229
|
+
If issues arise:
|
|
230
|
+
|
|
231
|
+
1. **Check logs:** `npm publish` output
|
|
232
|
+
2. **Verify package:** Visit npmjs.com page
|
|
233
|
+
3. **Test installation:** Fresh install in /tmp
|
|
234
|
+
4. **Monitor issues:** GitHub issues page
|
|
235
|
+
5. **Community feedback:** OpenClaw Discord
|
|
236
|
+
|
|
237
|
+
---
|
|
238
|
+
|
|
239
|
+
## β
Ready to Publish?
|
|
240
|
+
|
|
241
|
+
**YES!** π
|
|
242
|
+
|
|
243
|
+
All tests pass, package is clean, documentation is complete.
|
|
244
|
+
|
|
245
|
+
**Next command:**
|
|
246
|
+
```bash
|
|
247
|
+
cd /Users/t4/Documents/GitHub/maclaw/openclaw-skill
|
|
248
|
+
npm publish --access public
|
|
249
|
+
```
|
|
250
|
+
|
|
251
|
+
---
|
|
252
|
+
|
|
253
|
+
*Good luck! π*
|
package/LICENSE
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2026 MaclawPro / SEQUR.ca
|
|
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.
|