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.

ソース情報

リポジトリ
Kernel8901/ai-agent-skills-classification
ソースの最終更新活動
2026年4月4日 15:26
検出された SKILL.md の言語
英語
スター
5
フォーク
1

インストール方法

デフォルトでは、最初にソースを確認する Prompt が選択されています。直接コマンドに切り替えるか、ローカルコピーをダウンロードすることもできます。

ソースファイルを確認

インストールを決める前に、SKILL.md と SkillsMP に表示されている付属ファイルをお読みください。

ファイルエクスプローラー
4 ファイル

SKILL.md を表示中

SKILL.md
ソースの指示 · 読み取り専用プレビュー
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.
GitHubで見る