@gendigital/sage-openclaw 0.5.4 → 0.6.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.
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "id": "sage-openclaw",
3
3
  "name": "Sage",
4
- "version": "0.5.3",
4
+ "version": "0.6.0",
5
5
  "description": "Safety for Agents — ADR layer that guards commands, files, and web requests",
6
6
  "skills": [
7
7
  "resources/skills/security-awareness"
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@gendigital/sage-openclaw",
3
3
  "license": "Apache-2.0",
4
- "version": "0.5.4",
4
+ "version": "0.6.0",
5
5
  "type": "module",
6
6
  "description": "Safety for Agents — ADR layer for OpenClaw",
7
7
  "main": "./dist/index.cjs",
@@ -13,21 +13,15 @@
13
13
  "README.md",
14
14
  "LICENSE"
15
15
  ],
16
- "scripts": {
17
- "build": "pnpm -C ../core build && pnpm run clean && pnpm run sync:assets && node esbuild.config.js",
18
- "clean": "node -e \"require('node:fs').rmSync('dist',{recursive:true,force:true});require('node:fs').rmSync('resources',{recursive:true,force:true})\"",
19
- "sync:assets": "node scripts/sync-assets.mjs",
20
- "test": "vitest run"
21
- },
22
16
  "optionalDependencies": {
23
17
  "koffi": "^2.9.0"
24
18
  },
25
19
  "devDependencies": {
26
- "@sage/core": "workspace:*",
27
20
  "@types/node": "^22.0.0",
28
21
  "esbuild": "^0.25.0",
29
22
  "typescript": "^5.9.0",
30
- "vitest": "^4.0.0"
23
+ "vitest": "^4.0.0",
24
+ "@gendigital/sage-core": "0.6.0"
31
25
  },
32
26
  "openclaw": {
33
27
  "extensions": [
@@ -50,5 +44,11 @@
50
44
  ],
51
45
  "publishConfig": {
52
46
  "access": "public"
47
+ },
48
+ "scripts": {
49
+ "build": "pnpm -C ../core build && pnpm run clean && pnpm run sync:assets && node esbuild.config.js",
50
+ "clean": "node -e \"require('node:fs').rmSync('dist',{recursive:true,force:true});require('node:fs').rmSync('resources',{recursive:true,force:true})\"",
51
+ "sync:assets": "node scripts/sync-assets.mjs",
52
+ "test": "vitest run"
53
53
  }
54
- }
54
+ }
@@ -250,7 +250,7 @@
250
250
  severity: high
251
251
  confidence: 0.80
252
252
  action: block
253
- pattern: "\\b(while|for)\\b[^;]*;\\s*do[^;]*\\b(bash|sh|curl|wget)\\b"
253
+ pattern: "\\b(while|for)\\b[^;]*;\\s*do[^;]*(\\b(bash|sh)\\s+-c\\b|\\b(curl|wget)\\b[^;]*\\|\\s*(?:sudo\\s+)?(?:env\\s+)?(?:[^\\s\"']*[\\\\/])?(bash|sh|zsh|ksh|dash)\\b|\\b(curl|wget)\\b[^;]*(?:(-d|--data|--data-binary)\\s+['\\\"]?@\\S+|(--upload-file|-T)\\s+['\\\"]?\\S+))"
254
254
  match_on: command
255
255
  title: "Loop executing shell or download commands"
256
256
  expires_at: null
@@ -100,7 +100,7 @@
100
100
  severity: high
101
101
  confidence: 0.80
102
102
  action: require_approval
103
- pattern: "(rar(\\.exe)?.*[afu].*(-dw|-tb|-ta)|7z(\\.exe)?.*[au].*-sdel|Add-Exfiltration\\.ps1|Do-Exfiltration\\.ps1|Invoke-PostExfil\\.ps1)"
103
+ pattern: "(rar(\\.exe)?.*[afu].*\\s(-dw|-tb|-ta)|7z(\\.exe)?.*[au].*-sdel|Add-Exfiltration\\.ps1|Do-Exfiltration\\.ps1|Invoke-PostExfil\\.ps1)"
104
104
  case_insensitive: true
105
105
  match_on: command
106
106
  title: "MITRE ATT&CK T1020 - Automated Exfiltration"
@@ -737,7 +737,7 @@
737
737
  severity: high
738
738
  confidence: 0.80
739
739
  action: require_approval
740
- pattern: "tscon(\\.exe)?.*$"
740
+ pattern: "(^|\\s|[;&|])(?:\"[^\"]*\\btscon(?:\\.exe)?\\b\"|'[^']*\\btscon(?:\\.exe)?\\b'|(?:[^\\s\"']*[\\\\/])?\\btscon(?:\\.exe)?\\b)\\s+\\S+(\\s+/dest:[^\\s]+)?"
741
741
  case_insensitive: true
742
742
  match_on: command
743
743
  title: "MITRE ATT&CK T1563.002 - RDP Hijacking"
@@ -48,7 +48,7 @@
48
48
  severity: high
49
49
  confidence: 0.85
50
50
  action: require_approval
51
- pattern: "heuristics_enabled.*false|url_check.*enabled.*false"
51
+ pattern: "\"heuristics_enabled\"\\s*:\\s*false|\"url_check\"\\s*:\\s*\\{[^}]*\"enabled\"\\s*:\\s*false"
52
52
  match_on: content
53
53
  title: "Attempt to disable Sage security features via config"
54
54
  expires_at: null