360 Secure SkillHub
360 安全技能中心

Sentinel - AI Agent State Guardian

这是AI代理工作区的状态防护工具,核心功能为哈希校验关键文件、检测异常变更、生成滚动备份,支持异常时告警、恢复或隔离。典型场景包括:防止工作区意外覆盖、操作前自动备份、检测关键文件篡改、损坏后恢复至正常状态。可通过Python代码或CLI调用,需先配置路径等参数,支持单次/持续监控、交互式恢复等操作。

theshadowrose
theshadowrose
热度 83.97
最近更新 2026-05-11 17:30:48
分类:自动化依赖:代码执行 / 读写文件应用场景:自动化脚本 / 工作流

安装技能

复制下面的话术发给你的 Agent,它会通过 secure-skills 检索并安装该技能。

执行命令安装此 skill: npx secure-skills-cli add sentinel
Metadata
name
Sentinel - AI Agent State Guardian
description
Automated backup, integrity monitoring, and self-healing for AI agent workspaces. Detects unexpected changes, creates automatic backups, self-heals from corruption.
author
@TheShadowRose
version
1.0.0
tags
["backup","integrity","monitoring","self-healing","state","guardian","protection"]
license
MIT

Sentinel - AI Agent State Guardian

Use this skill to protect AI agent workspaces from corruption, accidental changes, and data loss. Sentinel hashes your critical files, detects unexpected changes, creates rolling backups, and restores from backup when corruption is detected.

When to Use This Skill

Invoke this skill when:

  • A user wants to protect their agent workspace from accidental overwrites
  • You need to detect if critical files (agent config, memory/, state files) were modified unexpectedly
  • Auto-backup is needed before any destructive operation
  • You need to restore a workspace to a known-good state after corruption

Setup

# Copy config_example.py to sentinel_config.py and edit it:
WORKSPACE_ROOT = "/path/to/workspace"
BACKUP_DIR = "/path/to/backups"
STATE_FILE = "/path/to/sentinel_state.json"
CRITICAL_FILES = ["agent.md", "memory/*.md", "config/*.json"]
CHECK_INTERVAL_SECONDS = 600   # check every 10 minutes
MAX_BACKUP_VERSIONS = 10       # keep 10 rolling backups per file
AUTO_RESTORE_ON_CORRUPTION = True
DEBUG = False

Core Operations

Run Monitoring Cycle

import sentinel_config as config
from sentinel import Sentinel

s = Sentinel(config)
s.run_once()          # one monitoring pass
s.run_continuous()    # continuous loop (blocks)

CLI Usage

python3 sentinel.py --once          # run one cycle and exit
python3 sentinel.py --continuous    # run continuous monitoring
python3 sentinel.py --status        # show current status

Generate Workspace Manifest

import sentinel_config as config
from sentinel_manifest import ManifestGenerator

generator = ManifestGenerator(config)
manifest = generator.generate_manifest()
generator.save_manifest(manifest, Path("workspace_manifest.json"))

Compare Two Manifests

diff = generator.compare_manifests(old_manifest, new_manifest)
generator.print_diff_summary(diff)
# diff has: added_files, deleted_files, modified_files, added_dirs, deleted_dirs

Restore from Backup

import sentinel_config as config
from sentinel_restore import RestoreTool
from pathlib import Path

tool = RestoreTool(config)

# List all backups
tool.list_all_backups()

# Restore latest backup of a file
tool.restore_latest(Path(config.WORKSPACE_ROOT) / "memory/state.json")

# Interactive restore (lets you pick from backup list)
tool.interactive_restore(Path(config.WORKSPACE_ROOT) / "memory/state.json")

# Find latest backup path without restoring
backup_path = tool.find_latest_backup(Path(config.WORKSPACE_ROOT) / "memory/state.json")

CLI Restore

python3 sentinel_restore.py --file memory/state.json --latest
python3 sentinel_restore.py --file memory/state.json --interactive
python3 sentinel_restore.py --list

Integrity Violation Responses

When violations are detected, Sentinel can:

  • Alert only — log and notify, take no action
  • Auto-restore — revert changed files from latest clean snapshot
  • Quarantine — move changed files to quarantine dir, restore originals

Configure in sentinel_config.py:

ON_VIOLATION = "alert"     # "alert" | "restore" | "quarantine"

What Sentinel Detects

  • File content changes (hash mismatch)
  • Deleted files that should exist
  • New files in monitored directories
  • Permission changes on critical files

See README.md for full configuration reference and advanced scheduling options.