360 Secure SkillHub
360 安全技能中心

Security

该 Skill 通过 scripts/safety.py 将待执行指令、JSON 上下文和目标资源标识发送到后端安全服务,返回 approved 与 risk_level 等判定,并依调用方策略表给出放行、需确认或阻断的建议。依赖 python3 与 requests,需网络可达后端;检查因网络、API 或依赖失败时不应静默继续执行。

modeioai
modeioai
热度 61.58
最近更新 2026-05-17 14:02:08
分类:安全依赖:代码执行 / 第三方 API应用场景:工作流

安装技能

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

执行命令安装此 skill: npx secure-skills-cli add security-modeio
Metadata
name
security
description
Runs a backend-backed live safety check for instructions that may trigger tool execution, external calls, file edits, permission changes, destructive or irreversible actions, prompt injection, or compliance-sensitive operations. Use before executing instructions with side effects; skip pure read-only chat, planning, or pre-install repository auditing.
version
0.1.0
metadata
{"clawdbot":{"homepage":"https://github.com/mode-io/mode-io-skills/tree/main/security","requires":{"bins":["python3"]}}}

Run backend-backed live safety checks

Use this skill to gate instructions that may trigger tools or state changes behind a backend-backed safety decision before execution.

This skill is for live instruction and operation safety only. For pre-install repository auditing, use skill-audit.

Maintainer-only validation assets are excluded from ClawHub uploads.

Scope

  • Included:
    • live instruction safety checks through scripts/safety.py
    • backend-backed retry/error normalization for pre-execution decisions
  • Not included:
    • pre-install repository auditing (skill-audit)
    • content masking or restoration workflows (privacy-protector)
    • request/response gateway routing (modeio-middleware)

Working directory

Run these commands from inside the security folder.

Requirements

  • Hard requirement: python3
  • Required package for successful live checks: requests
  • Required runtime condition: network reachability to the safety backend
  • Optional override: SAFETY_API_URL

Core commands

python3 scripts/safety.py -i "Delete /tmp/cache/build-123.log" \
  -c '{"environment":"local-dev","operation_intent":"cleanup","scope":"single-resource","data_sensitivity":"internal","rollback":"easy","change_control":"none"}' \
  -t "/tmp/cache/build-123.log" --json

python3 scripts/safety.py -i "DROP TABLE users" \
  -c '{"environment":"production","operation_intent":"destructive","scope":"broad","data_sensitivity":"regulated","rollback":"none","change_control":"ticket:DB-9021"}' \
  -t "postgres://prod/maindb.users" --json

Context contract

Pass --context as JSON with these keys when the instruction may change state:

{
  "environment": "local-dev|ci|staging|production|unknown",
  "operation_intent": "read-only|cleanup|maintenance|migration|permission-change|destructive|unknown",
  "scope": "single-resource|bounded-batch|broad|unknown",
  "data_sensitivity": "public|internal|sensitive|regulated|unknown",
  "rollback": "easy|partial|none|unknown",
  "change_control": "ticket:<id>|approved-manual|none|unknown"
}

--target should be a concrete resource identifier such as an absolute path, table name, service name, or URL.

Runtime notes

  • Success envelope: success, tool, mode, data
  • Error envelope: success, tool, mode, error
  • Error types: validation_error, dependency_error, network_error, api_error
  • For state-changing work, provide both --context and --target so the backend has enough context to judge risk
  • If the check fails with network/API/dependency issues, do not silently proceed
  • The CLI forwards the request and returns the backend result; it does not locally enforce caller policy

Caller policy guidance

approved risk_level Agent action
true low Proceed.
true medium Proceed and mention the risk.
false medium Require explicit confirmation before proceeding.
false high Block by default and require explicit override.
false critical Block and require explicit acknowledgement before any override.

Resources

  • scripts/safety.py — live safety check entry point
  • ARCHITECTURE.md — command-safety package boundaries

When not to use

  • Pre-install or repository-level inspection that should happen before any execution attempt
  • Pure planning, summarization, or clearly read-only analysis with no tool call or state-change path
  • Data transformation tasks that need to rewrite or mask content rather than score runtime safety
  • Local routing or middleware scenarios where you need to sit in front of upstream model traffic