Skip to main content

openclaw-sentinel-pro

Full supply chain security suite: scan skills for obfuscation and malware patterns, auto-quarantine risky skills, generate SBOMs, continuous monitoring, and community threat feeds. Everything in openclaw-sentinel (free) plus automated countermeasures.

Quellinformationen

Repository
Kernel8901/ai-agent-skills-classification
Letzte Quellaktivität
4. April 2026 um 15:26
Erkannte Sprache von SKILL.md
Englisch
Sterne
5
Forks
1

Installationsoptionen

Standardmäßig ist der Prompt ausgewählt, der zuerst die Quelle prüft. Sie können zu einem direkten Befehl wechseln oder eine lokale Kopie herunterladen.

Quelldateien prüfen

Lesen Sie SKILL.md und alle von SkillsMP angezeigten Begleitdateien, bevor Sie sich für eine Installation entscheiden.

Datei-Explorer
4 Dateien

SKILL.md wird angezeigt

SKILL.md
Quellanweisungen · Schreibgeschützte Vorschau
name
openclaw-sentinel-pro
description
Full supply chain security suite: scan skills for obfuscation and malware patterns, auto-quarantine risky skills, generate SBOMs, continuous monitoring, and community threat feeds. Everything in openclaw-sentinel (free) plus automated countermeasures.
user-invocable
true
metadata
{"openclaw":{"emoji":"🏰","requires":{"bins":"[Truncated]"},"os":["darwin","linux","win32"]}}
# OpenClaw Sentinel Pro Everything in [openclaw-sentinel](https://github.com/AtlasPA/openclaw-sentinel) (free) plus automated countermeasures. **Free version detects threats. Pro version subverts, quarantines, and defends.** ## Detection Commands (also in free) ### Scan Installed Skills Deep scan of all installed skills for supply chain risks. Checks file hashes against a local threat database, detects obfuscated code patterns, suspicious install behaviors, dependency confusion, and metadata inconsistencies. Generates a risk score (0-100) per skill. ```bash python3 {baseDir}/scripts/sentinel.py scan --workspace /path/to/workspace ``` ### Scan a Single Skill ```bash python3 {baseDir}/scripts/sentinel.py scan openclaw-warden --workspace /path/to/workspace ``` ### Pre-Install Inspection Scan a skill directory BEFORE copying it to your workspace. Outputs a SAFE/REVIEW/REJECT recommendation and shows exactly what binaries, network calls, and file operations the skill will perform. ```bash python3 {baseDir}/scripts/sentinel.py inspect /path/to/skill-directory ``` ### Manage Threat Database View current threat database statistics. ```bash python3 {baseDir}/scripts/sentinel.py threats --workspace /path/to/workspace ``` Import a community-shared threat list. ```bash python3 {baseDir}/scripts/sentinel.py threats --update-from threats.json --workspace /path/to/workspace ``` ### Quick Status Summary of installed skills, quarantined skills, scan history, SBOM history, and risk score overview. ```bash python3 {baseDir}/scripts/sentinel.py status --workspace /path/to/workspace ``` ## Pro Countermeasures ### Quarantine a Skill Disable a risky skill by renaming its directory with a `.quarantined-` prefix. The agent will not load quarantined skills. Records full evidence (findings, file inventory, hashes) in `.quarantine/sentinel/{skill}-evidence.json`. ```bash python3 {baseDir}/scripts/sentinel.py quarantine bad-skill --workspace /path/to/workspace ``` ### Unquarantine a Skill Restore a quarantined skill after investigation. Shows the original quarantine evidence before restoring. ```bash python3 {baseDir}/scripts/sentinel.py unquarantine bad-skill --workspace /path/to/workspace ``` ### Reject a Skill Permanently remove a skill with HIGH+ risk score (50+). The skill is moved to `.quarantine/sentinel/` for forensic review, not deleted. Skills below the threshold are blocked from rejection — use quarantine instead. ```bash python3 {baseDir}/scripts/sentinel.py reject bad-skill --workspace /path/to/workspace ``` ### Generate SBOM Generate a Software Bill of Materials for all installed skills. Includes file inventory with SHA-256 hashes, declared dependencies, detected dependencies, and risk scores. Saved to `.sentinel/sbom-{timestamp}.json`. ```bash python3 {baseDir}/scripts/sentinel.py sbom --workspace /path/to/workspace ``` ### Continuous Monitoring Compare the current scan against the previous scan. Reports new threats, changed risk scores, new skills, and removed/quarantined skills. Saves scan results to `.sentinel/scans/` for historical tracking. ```bash python3 {baseDir}/scripts/sentinel.py monitor --workspace /path/to/workspace ``` ### Protect (Automated Sweep) Full automated protection sweep in one command: scan all skills, auto-quarantine CRITICAL risk skills (score 75+), generate SBOM, update scan history, and produce a protection report. This is the recommended command for session startup. ```bash python3 {baseDir}/scripts/sentinel.py protect --workspace /path/to/workspace ``` ## Recommended Integration ### Session Startup Hook (Claude Code) ```json { "hooks": { "SessionStart": [ { "hooks": [ { "type": "command", "command": "python3 scripts/sentinel.py protect", "timeout": 30 } ] } ] } } ``` ### Heartbeat (OpenClaw) Add to HEARTBEAT.md for periodic protection: ``` - Run supply chain protection sweep (python3 {skill:openclaw-sentinel-pro}/scripts/sentinel.py protect) ``` ### After Installing New Skills Run `protect` to auto-quarantine skills that contain malicious patterns. ## Workspace Auto-Detection If `--workspace` is omitted, the script tries: 1. `OPENCLAW_WORKSPACE` environment variable 2. Current directory (if AGENTS.md exists) 3. `~/.openclaw/workspace` (default) ## What It Detects | Category | Patterns | |----------|----------| | **Encoded Execution** | eval(base64.b64decode(...)), exec(compile(...)), eval/exec with encoded strings | | **Dynamic Imports** | \_\_import\_\_('os').system(...), dynamic subprocess/ctypes imports | | **Shell Injection** | subprocess.Popen with shell=True + string concatenation, os.system() | | **Remote Code Exec** | urllib/requests combined with exec/eval — download-and-run patterns | | **Obfuscation** | Lines >1000 chars, high-entropy strings, minified code blocks | | **Install Behaviors** | Post-install hooks, auto-exec in \_\_init\_\_.py, cross-skill file writes | | **Hidden Files** | Non-standard dotfiles and hidden directories | | **Dependency Confusion** | Skills shadowing popular package names, typosquatting near-matches | | **Metadata Mismatch** | Undeclared binaries, undeclared env vars, invocable flag inconsistencies | | **Serialization** | pickle.loads, marshal.loads — arbitrary code execution via deserialization | | **Known-Bad Hashes** | File SHA-256 matches against local threat database | ## Risk Scoring Each skill receives a score from 0-100: | Score | Label | Meaning | |-------|-------|---------| | 0 | CLEAN | No issues detected | | 1-19 | LOW | Minor findings, likely benign | | 20-49 | MODERATE | Review recommended | | 50-74 | HIGH | Significant risk, review required | | 75-100 | CRITICAL | Serious supply chain risk — auto-quarantined by protect | ## Countermeasure Summary | Command | Action | |---------|--------| | `protect` | Full scan + auto-quarantine CRITICAL + SBOM + report | | `quarantine <skill>` | Disable skill with evidence recording | | `unquarantine <skill>` | Re-enable a quarantined skill | | `reject <skill>` | Permanently remove HIGH+ risk skill | | `sbom` | Generate Software Bill of Materials | | `monitor` | Diff current vs previous scan, report changes | ## Exit Codes - `0` — Clean, no issues - `1` — Review needed - `2` — Threats detected or quarantined ## No External Dependencies Python standard library only. No pip install. No network calls. Everything runs locally. ## Cross-Platform Works with OpenClaw, Claude Code, Cursor, and any tool using the Agent Skills specification.
Auf GitHub ansehen