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에서 보기