Token导航 LogoToken导航TokenDH.com
研究检索需要联网clawhub未标认证来源可访问clear审计通过

skill-evidenceops技能证据操作

Agent Skill

skill-evidenceops 用于查找、检索和筛选相关信息,适合在 OpenClaw 中需要根据关键词、任务场景或来源线索快速定位候选结果时使用。可结合来源仓库、安装命令和原始 README 继续核验具体用法。安装前建议确认权限范围、维护状态,以及是否会触发联网、命令执行或文件读写。

总安装

19,388

周安装

816

GitHub Stars

1

下载量

6,789
OpenClaw

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

GitHub

来源数

2

许可证

MIT-0

最后核验

2026-05-01

来源状态

来源可访问

安装方式

通过对话安装

复制提示词发给支持本地命令或 Skills 的 AI 助手,先确认命令和权限,再让它执行。

请帮我安装这个 Agent Skill:skill-evidenceops(技能证据操作)
来源仓库:https://github.com/msrovani/skill-evidenceops
安装命令:
openclaw skills install skill-evidenceops
安装前请先检查当前环境是否支持对应 CLI,并向我确认将要执行的命令、安装目录、联网范围和文件读写权限;确认后再执行。

命令行安装

复制命令到本机终端执行。该命令会通过 OpenClaw 从第三方来源获取 Skill;本站只展示命令,不托管安装包,也不自动执行。

ClawHubOpenClaw
openclaw skills install skill-evidenceops

简介

对图像、视频、音频等媒体进行法医级分类处理。

  • 确保证据完整性并通过监管链追踪来源。skill-evidenceops 属于研究检索类 Skill,可作为该场景下的辅助能力补充。
  • 适用于司法、取证等专业场景的数据预处理。
  • 操作过程需记录哈希值和元数据变更日志。
  • 输出不可篡改,建议存储于只读介质中。

SKILL.md

name
evidenceops
description
Forensic media triage with chain of custody. Use when receiving images, videos, audio, PDFs, or documents that need evidence-grade handling, integrity verification, and audit trails.
version
1.0.0
author
OpenClaw Community
metadata
openclaw
emoji
🔬
tools
install
npm
@openclaw/evidence-vault
os
categories
tags

EvidenceOps - Forensic Media Triage

What It Does

EvidenceOps provides forensic-grade handling of media files with complete chain of custody:

  1. Media Intake - Accept images, videos, audio, PDFs, and documents from any channel
  2. Immutable Storage - Store originals in append-only vault with cryptographic hashes
  3. Metadata Extraction - Extract EXIF, file properties, and media information without altering originals
  4. Derivative Generation - Create thumbnails, transcripts, previews in separate folders
  5. Chain of Custody - Maintain tamper-evident audit trail with hash chain
  6. Integrity Verification - Verify evidence hasn't been modified post-ingest
  7. Audit Trail - Complete JSONL audit log for compliance

What It NEVER Does

  • NEVER modifies original evidence files after ingest
  • NEVER stores secrets, API keys, or credentials in manifests or logs
  • NEVER accepts unsanitized paths from user input
  • NEVER executes untrusted code or downloads remote scripts
  • NEVER exfiltrates data to external services without explicit configuration
  • NEVER bypasses channel allowlists or pairing requirements
  • NEVER stores real personal data in example files

Prerequisites

Before using this skill, ensure:

  1. Plugin @openclaw/evidence-vault is installed and initialized
  2. Vault storage directory is configured with appropriate permissions
  3. Channel allowlist is configured for trusted sources only
  4. Retention policies comply with your legal requirements

Workflow

Step 1: Receive Media

When media is received via any channel:

User sends: [image/video/document]

Required Information:

  • File content (from attachment)
  • Original filename
  • Source channel (whatsapp, telegram, email, etc.)
  • Sender identifier
  • Message ID (if available)

Step 2: Create or Select Case

IF user specifies existing caseId:
  USE that caseId
ELSE IF user requests new case:
  CREATE case with format: case-{YYYY}-{NNN}
  EXAMPLE: case-2026-001
ELSE:
  ASK user: "Should I create a new case or add to existing case [case-2026-XXX]?"

Case ID Format: case-{year}-{sequence}

  • Must match pattern: ^case-[a-zA-Z0-9_-]+$
  • Examples: case-2026-001, case-incident-alpha, case-legal-2026-q1

Step 3: Stage Original (Read-Only)

Before ingest:

  1. Save received file to temporary staging area
  2. Calculate SHA-256 hash immediately
  3. Record file size and MIME type
  4. DO NOT modify the file
# Staging directory structure
/tmp/evidence-staging/
├── {caseId}/
│   └── {timestamp}-{filename}

Step 4: Extract Metadata

Extract metadata WITHOUT modifying original:

For Images:

  • EXIF data (camera, GPS, timestamps)
  • Dimensions
  • Color profile

For Videos:

  • Duration
  • Codec information
  • Resolution

For Audio:

  • Duration
  • Sample rate
  • Codec

For PDFs:

  • Page count
  • Author (if embedded)
  • Creation date
# Use Read tool or appropriate extraction commands
# NEVER write back to original file

Step 5: Generate Derivatives (Optional)

Create derivative artifacts in SEPARATE folder:

derivatives/
├── thumbnails/
│   └── {evidenceId}-thumb.jpg
├── transcripts/
│   └── {evidenceId}-transcript.txt
└── previews/
    └── {evidenceId}-preview.pdf

Derivative Types:

  • thumbnail - Reduced resolution image/video preview
  • transcript - Speech-to-text for audio/video
  • preview - PDF or text representation
  • ocr - Extracted text from images

Step 6: Ingest to Vault

Call the evidence.ingest tool:

{
  "filePath": "/path/to/staged/file",
  "filename": "original-filename.jpg",
  "caseId": "case-2026-001",
  "channel": "whatsapp",
  "sender": "user@example.com",
  "messageId": "msg-abc123",
  "retentionDays": 2555,
  "metadata": {
    "exif": { ... },
    "extracted": { ... }
  }
}

Response:

{
  "success": true,
  "evidenceId": "ev-abc123...",
  "sha256": "a1b2c3...",
  "vaultUrl": "file:///vault/cases/case-2026-001/originals/ev-abc123.jpg",
  "timestamp": "2026-02-17T10:30:00.000Z"
}

Step 7: Update Manifest

The manifest is automatically updated by the ingest operation.

Manifest Location: {vault}/cases/{caseId}/manifest.json

Manifest Contents:

  • Case metadata
  • Evidence items with hashes
  • Derivatives
  • Chain of custody entries
  • Retention policy

Step 8: Return Receipt

Provide user with evidence receipt:

📋 EVIDENCE RECEIPT

Case ID: case-2026-001
Evidence ID: ev-abc123...
File: original-filename.jpg
SHA-256: a1b2c3d4e5f6...
Size: 1.2 MB
Received: 2026-02-17 10:30:00 UTC
Vault: file:///vault/cases/case-2026-001/originals/ev-abc123.jpg

✅ Chain of custody established
✅ Original preserved immutably
✅ Audit trail active

Tool Reference

evidence.ingest

Ingest a file into the evidence vault.

Parameters:

ParameterTypeRequiredDescription
filePathstringYesPath to the staged file
filenamestringYesOriginal filename
caseIdstringYesCase identifier
channelstringNoSource channel
senderstringNoSender identifier
messageIdstringNoMessage ID from source
retentionDaysnumberNoRetention period
metadataobjectNoAdditional metadata

Returns: { evidenceId, sha256, vaultUrl, timestamp }

evidence.verify

Verify evidence integrity.

Parameters:

ParameterTypeRequiredDescription
evidenceIdstringYesEvidence to verify
caseIdstringNoLimit search to case

Returns: { verified, details: { originalIntact, hashMatch, lastVerifiedAt } }

evidence.manifest

Get case manifest.

Parameters:

ParameterTypeRequiredDescription
caseIdstringYesCase identifier

Returns: Complete case manifest with all items

evidence.export

Export case as archive.

Parameters:

ParameterTypeRequiredDescription
caseIdstringYesCase identifier
formatstringNo'zip' or 'tar' (default: zip)

Returns: { exportPath, sha256, size, itemCount }

evidence.access_log

Get audit trail.

Parameters:

ParameterTypeRequiredDescription
caseIdstringYesCase identifier
limitnumberNoMax events (default: 100)

Returns: { events: [ ... ], count }

SECURITY POSTURE

Channel Allowlist Configuration

Configure which channels can submit evidence:

# ~/.openclaw/openclaw.json
{
  "plugins": {
    "evidence-vault": {
      "channelAllowlist": ["whatsapp", "telegram", "email"],
      "channelDenylist": ["public-discord"],
      "requirePairing": true
    }
  }
}

Pairing Requirements

For Direct Messages (DMs):

  • REQUIRE pairing before accepting evidence
  • BLOCK unpaired DMs by default
  • LOG rejected ingestion attempts

For Group Channels:

  • VERIFY channel is in allowlist
  • REJECT evidence from untrusted channels
  • NEVER auto-ingest from public channels

Path Sanitization Rules

ALL paths are validated:

  1. No path traversal - ../ sequences rejected
  2. No null bytes - \0 rejected
  3. No home directory - ~/ rejected
  4. Canonicalization - Paths resolved before validation
  5. Base path check - Must be within vault directory

Violations result in: E_PATH_TRAVERSAL error + audit log entry

Destructive Action Confirmation

Before any potentially destructive operation:

  1. EXPORT - Confirm export destination
  2. RETENTION DELETE - Require explicit confirmation (if enabled)
  3. LEGAL HOLD RELEASE - Require explicit confirmation

Confirmation format:

⚠️ DESTRUCTIVE ACTION

You are about to: [describe action]
Case: [caseId]
Items affected: [count]

Type "CONFIRM" to proceed:

Secrets Handling

NEVER include in logs or manifests:

  • API keys
  • Passwords
  • Tokens
  • Credit card numbers
  • Email addresses (redacted)
  • Phone numbers (redacted)
  • SSN (redacted)

Redaction is automatic via regex patterns.

Troubleshooting

Error: E_PATH_TRAVERSAL

Cause: Filename or path contains disallowed characters

Solution:

  • Filenames are automatically sanitized
  • If error persists, check for unusual characters
  • Original filename is preserved in manifest metadata

Error: E_INVALID_MIME

Cause: File type not in allowed list

Solution:

  • Check allowedMimeTypes configuration
  • Add MIME type to allowlist if appropriate
  • Verify file is not corrupted

Error: E_SIZE_LIMIT

Cause: File exceeds maximum size

Solution:

  • Check maxFileSizeBytes configuration
  • Split large files if appropriate
  • Compress before ingest (note in metadata)

Error: E_CHANNEL_BLOCKED

Cause: Evidence from blocked or non-allowlisted channel

Solution:

  • Verify channel in allowlist
  • Check if pairing is required
  • Review security configuration

Error: E_HASH_MISMATCH

Cause: Evidence file modified after ingest

Solution:

  • This indicates potential tampering
  • Review access logs for case
  • Escalate per incident response procedures

Verification Fails

Symptoms: verified: false in verify response

Diagnostic steps:

  1. Check if original file exists
  2. Compare current hash with manifest hash
  3. Review audit log for modifications
  4. Check filesystem permissions

Configuration Example

# openclaw.yaml
plugins:
  evidence-vault:
    driver: filesystem  # or s3
    basePath: /var/evidence-vault
    maxFileSizeBytes: 524288000  # 500MB
    defaultRetentionDays: 2555   # 7 years
    allowedMimeTypes:
      - image/jpeg
      - image/png
      - video/mp4
      - audio/mpeg
      - application/pdf
    channelAllowlist:
      - whatsapp
      - telegram
      - slack
    requirePairing: true
    
    # S3 driver options (if driver: s3)
    s3:
      endpoint: https://s3.example.com
      bucket: evidence-vault
      region: us-east-1
      objectLock: true

Legal and Compliance Notes

LGPD/GDPR Considerations

  • Tag sensitive data with sensitivityTag
  • Configure appropriate retention periods
  • Never store real personal data in examples
  • Implement data subject access request procedures

Retention Policies

SensitivityDefault Retention
public365 days
internal1825 days (5 years)
confidential2555 days (7 years)
restrictedLegal hold

Audit Requirements

All operations logged to JSONL audit file:

  • Case creation/deletion
  • Evidence ingest
  • Verification attempts
  • Export operations
  • Access requests

Audit log retention: Same as case retention

适合场景

01

OpenClaw 用户查找和安装 Skill 时

02

用户想查找某类 Agent Skill 时

03

需要根据任务场景推荐可安装能力包时

04

需要对比不同来源的安装命令和来源信息时

能力概览

能力 1

按任务关键词查找相关 Skills

能力 2

展示可复制的安装命令

能力 3

保留来源站点、仓库和原始说明,方便继续核验

能力 4

补充不同宿主或平台的使用分布数据

能力 5

展示第三方安全扫描或审计结果

安装后应在对应宿主中按原始 README 的触发条件使用;具体调用方式请以来源页面和 README 为准。

平台分布

OpenClaw

70.07%
按下载量换算4,757

安全审计

VirusTotal

通过

ClawScan

通过

Static analysis

未展示

权限和风险

需要联网

该 Skill 可能需要联网访问来源站点、仓库或外部 API;具体网络访问范围需要结合源码和 README 复核。

安装前确认

本站仅展示第三方公开信息,不托管安装包,不提供自动安装或运行环境。安装前应自行审查源码、依赖和命令行为。当前只有一个来源,正式发布前建议补源仓库或其他目录站核验。

来源信息

继续浏览同类 Skills