mirror of
https://github.com/prompt-security/clawsec.git
synced 2026-06-13 05:28:02 +03:00
7cdb4ab7e2
* docs: add agent collaboration and git safety rules to AGENTS.md
* fix(portability): harden cross-platform path handling and install workflows
- add shared path resolution utility for advisory guardian components
- expand and normalize home-path tokens: ~, $HOME, ${HOME}, %USERPROFILE%, $env:USERPROFILE
- reject unresolved/escaped home tokens to prevent literal "$HOME" directory creation
- fix install/runtime path handling in:
- openclaw-audit-watchdog setup_cron and suppression config loader
- clawsec-suite advisory hook handler, suppression loader, and guarded installer
- remove hardcoded Homebrew binary assumptions in watchdog scripts/tests
- add LF enforcement via .gitattributes to reduce CRLF script breakage
- expand CI Node checks to linux/macos/windows matrix
- add cross-platform test coverage for path expansion and token rejection
- update README and SKILL docs with bash/zsh/PowerShell-safe path guidance
- add compatibility deliverables:
- docs/COMPATIBILITY_REPORT.md
- docs/REMEDIATION_PLAN.md
- docs/PLATFORM_VERIFICATION.md
Validation:
- node skills/clawsec-suite/test/path_resolution.test.mjs
- node skills/clawsec-suite/test/guarded_install.test.mjs
- node skills/clawsec-suite/test/advisory_suppression.test.mjs
- node skills/openclaw-audit-watchdog/test/suppression_config.test.mjs
- node skills/openclaw-audit-watchdog/test/render_report_suppression.test.mjs
* fix(advisory): avoid fail-open on invalid path vars and cover watchdog tests
* docs: move signing runbooks into docs folder
* docs: remove root-level signing runbooks after move
* chore(clawsec-suite): bump version to 0.1.3
* chore(openclaw-audit-watchdog): bump version to 0.1.1
* docs(changelog): add entries for clawsec-suite 0.1.3 and watchdog 0.1.1
* docs(changelog): credit @aldodelgado for PR #62 contributions
* feat(clawsec-suite): scope advisories to openclaw application
* fix(ci): run advisory scope tests without TypeScript loader
---------
Co-authored-by: David Abutbul <David.a@prompt.security>
245 lines
7.4 KiB
JSON
245 lines
7.4 KiB
JSON
{
|
|
"name": "clawsec-suite",
|
|
"version": "0.1.3",
|
|
"description": "ClawSec suite manager with embedded advisory-feed monitoring, cryptographic signature verification, approval-gated malicious-skill response, and guided setup for additional security skills.",
|
|
"author": "prompt-security",
|
|
"license": "AGPL-3.0-or-later",
|
|
"homepage": "https://clawsec.prompt.security/",
|
|
"keywords": [
|
|
"security",
|
|
"skills",
|
|
"catalog",
|
|
"installer",
|
|
"integrity",
|
|
"advisory",
|
|
"feed",
|
|
"threat-intel",
|
|
"hooks",
|
|
"approval",
|
|
"agents",
|
|
"ai",
|
|
"suite",
|
|
"openclaw",
|
|
"signature",
|
|
"verification"
|
|
],
|
|
"sbom": {
|
|
"files": [
|
|
{
|
|
"path": "SKILL.md",
|
|
"required": true,
|
|
"description": "Suite skill documentation and installation guide"
|
|
},
|
|
{
|
|
"path": "CHANGELOG.md",
|
|
"required": true,
|
|
"description": "Version history and security improvements changelog"
|
|
},
|
|
{
|
|
"path": "HEARTBEAT.md",
|
|
"required": true,
|
|
"description": "Portable heartbeat and update-check procedure"
|
|
},
|
|
{
|
|
"path": "advisories/feed.json",
|
|
"required": true,
|
|
"description": "Embedded advisory feed seed (merged from clawsec-feed)"
|
|
},
|
|
{
|
|
"path": "advisories/feed.json.sig",
|
|
"required": true,
|
|
"description": "Detached Ed25519 signature for advisory feed"
|
|
},
|
|
{
|
|
"path": "advisories/checksums.json",
|
|
"required": true,
|
|
"description": "SHA-256 checksum manifest for advisory artifacts"
|
|
},
|
|
{
|
|
"path": "advisories/checksums.json.sig",
|
|
"required": true,
|
|
"description": "Detached Ed25519 signature for checksum manifest"
|
|
},
|
|
{
|
|
"path": "advisories/feed-signing-public.pem",
|
|
"required": true,
|
|
"description": "Pinned Ed25519 public key for feed signature verification"
|
|
},
|
|
{
|
|
"path": "hooks/clawsec-advisory-guardian/HOOK.md",
|
|
"required": true,
|
|
"description": "OpenClaw hook metadata for advisory-driven malicious-skill checks"
|
|
},
|
|
{
|
|
"path": "hooks/clawsec-advisory-guardian/handler.ts",
|
|
"required": true,
|
|
"description": "OpenClaw hook handler for approval-gated advisory actions with signature verification"
|
|
},
|
|
{
|
|
"path": "hooks/clawsec-advisory-guardian/lib/utils.mjs",
|
|
"required": true,
|
|
"description": "Shared utility functions (isObject, normalizeSkillName, uniqueStrings)"
|
|
},
|
|
{
|
|
"path": "hooks/clawsec-advisory-guardian/lib/version.mjs",
|
|
"required": true,
|
|
"description": "Shared semver parsing and version matching logic"
|
|
},
|
|
{
|
|
"path": "hooks/clawsec-advisory-guardian/lib/feed.mjs",
|
|
"required": true,
|
|
"description": "Advisory feed loading with Ed25519 signature and checksum manifest verification"
|
|
},
|
|
{
|
|
"path": "hooks/clawsec-advisory-guardian/lib/types.ts",
|
|
"required": true,
|
|
"description": "TypeScript type definitions for hook and feed structures"
|
|
},
|
|
{
|
|
"path": "hooks/clawsec-advisory-guardian/lib/state.ts",
|
|
"required": true,
|
|
"description": "Advisory state persistence and loading"
|
|
},
|
|
{
|
|
"path": "hooks/clawsec-advisory-guardian/lib/matching.ts",
|
|
"required": true,
|
|
"description": "Advisory-to-skill matching and alert message generation"
|
|
},
|
|
{
|
|
"path": "scripts/setup_advisory_hook.mjs",
|
|
"required": true,
|
|
"description": "Installer script for enabling the advisory guardian hook"
|
|
},
|
|
{
|
|
"path": "scripts/setup_advisory_cron.mjs",
|
|
"required": true,
|
|
"description": "Installer script for optional periodic advisory scan cron"
|
|
},
|
|
{
|
|
"path": "scripts/guarded_skill_install.mjs",
|
|
"required": true,
|
|
"description": "Two-step confirmation installer with signature verification that blocks risky skill installs"
|
|
},
|
|
{
|
|
"path": "scripts/discover_skill_catalog.mjs",
|
|
"required": true,
|
|
"description": "Dynamic skill-catalog discovery with remote index fetch and suite-local fallback metadata"
|
|
},
|
|
{
|
|
"path": "scripts/sign_detached_ed25519.mjs",
|
|
"required": false,
|
|
"description": "Utility script for generating Ed25519 detached signatures"
|
|
},
|
|
{
|
|
"path": "scripts/verify_detached_ed25519.mjs",
|
|
"required": false,
|
|
"description": "Utility script for verifying Ed25519 detached signatures"
|
|
},
|
|
{
|
|
"path": "scripts/generate_checksums_json.mjs",
|
|
"required": false,
|
|
"description": "Utility script for generating SHA-256 checksum manifests"
|
|
}
|
|
]
|
|
},
|
|
"embedded_components": {
|
|
"clawsec-feed": {
|
|
"source_skill": "clawsec-feed",
|
|
"source_version": "0.0.4",
|
|
"paths": [
|
|
"advisories/feed.json",
|
|
"advisories/feed.json.sig",
|
|
"advisories/checksums.json",
|
|
"advisories/checksums.json.sig",
|
|
"advisories/feed-signing-public.pem"
|
|
],
|
|
"capabilities": [
|
|
"advisory-feed monitoring",
|
|
"new-advisory detection",
|
|
"affected-skill cross-reference",
|
|
"approval-gated malicious-skill removal recommendations",
|
|
"double-confirmation gating for risky skill installs",
|
|
"Ed25519 signature verification",
|
|
"checksum manifest verification"
|
|
],
|
|
"standalone_available": true,
|
|
"deprecation_plan": "standalone skill may be retired after suite migration is verified"
|
|
}
|
|
},
|
|
"catalog": {
|
|
"description": "Available protections in the ClawSec suite",
|
|
"base_url": "https://clawsec.prompt.security/releases/download",
|
|
"skills": {
|
|
"clawsec-feed": {
|
|
"description": "Advisory monitoring is now embedded in clawsec-suite",
|
|
"integrated_in_suite": true,
|
|
"standalone_available": true,
|
|
"compatible": [
|
|
"openclaw",
|
|
"moltbot",
|
|
"clawdbot",
|
|
"other"
|
|
]
|
|
},
|
|
"openclaw-audit-watchdog": {
|
|
"description": "Automated daily audits with email reporting",
|
|
"default_install": true,
|
|
"compatible": [
|
|
"openclaw",
|
|
"moltbot",
|
|
"clawdbot"
|
|
],
|
|
"note": "Tailored for OpenClaw/MoltBot family"
|
|
},
|
|
"soul-guardian": {
|
|
"description": "Drift detection and file integrity guard",
|
|
"default_install": false,
|
|
"compatible": [
|
|
"openclaw",
|
|
"moltbot",
|
|
"clawdbot",
|
|
"other"
|
|
]
|
|
},
|
|
"clawtributor": {
|
|
"description": "Community incident reporting (shares anonymized data)",
|
|
"default_install": false,
|
|
"requires_explicit_consent": true,
|
|
"compatible": [
|
|
"openclaw",
|
|
"moltbot",
|
|
"clawdbot",
|
|
"other"
|
|
]
|
|
}
|
|
}
|
|
},
|
|
"openclaw": {
|
|
"emoji": "📦",
|
|
"category": "security",
|
|
"requires": {
|
|
"bins": [
|
|
"curl",
|
|
"jq",
|
|
"shasum",
|
|
"openssl"
|
|
]
|
|
},
|
|
"triggers": [
|
|
"clawsec suite",
|
|
"security suite",
|
|
"security advisories",
|
|
"malicious skill alert",
|
|
"remove malicious skills",
|
|
"safe skill install",
|
|
"confirm skill install",
|
|
"check advisories",
|
|
"advisory feed",
|
|
"install security skills",
|
|
"verify skills",
|
|
"check skill integrity",
|
|
"update skills"
|
|
]
|
|
}
|
|
}
|