Security

Agent安全工具箱(免费版)

Try it

核心能力:,可自发提升工作效率. 适用于需要security toolkit相关能力的开发场景,包含结构化的工作流程和可复用的模板,帮助用户快速完成任务并保持代码质量. 适用于需要security toolkit相关能力的开发场景,包含结构化的工作流程和配置指引. 该工具经过深度差异化处置,针对用户反馈和使用痛点进行了调优改进,提升了实用性和可操作性.

What it does

核心能力:,可自发提升工作效率. 适用于需要security toolkit相关能力的开发场景,包含结构化的工作流程和可复用的模板,帮助用户快速完成任务并保持代码质量. 适用于需要security toolkit相关能力的开发场景,包含结构化的工作流程和配置指引. 该工具经过深度差异化处置,针对用户反馈和使用痛点进行了调优改进,提升了实用性和可操作性.

The skill document

Agent安全工具箱(免费版)

概述

Agent安全工具箱免费版是一款专为AI Agent生态设计的安全扫描工具。内置24条安全检测规则,覆盖命令执行、自动更新、远程加载、密钥泄露、Prompt注入等AI特有安全风险。支持 JavaScript、TypeScript、Python、Solidity、Markdown 等多种文件类型的静态分析,自动进行风险分级并输出可操作的修复建议.

核心能力

24条安全检测规则

编号规则ID严重等级检测内容
1SHELL_EXECHIGH命令执行能力
2AUTO_UPDATECRITICAL自动更新/下载执行
3REMOTE_LOADERCRITICAL远程动态代码加载
4READ_ENV_SECRETSMEDIUM环境变量读取
5READ_SSH_KEYSCRITICALSSH密钥文件访问
6READ_KEYCHAINCRITICAL系统密钥链/浏览器配置
7PRIVATE_KEY_PATTERNCRITICAL硬编码私钥
8MNEMONIC_PATTERNCRITICAL硬编码助记词
9WALLET_DRAININGCRITICAL代币盗取模式
10UNLIMITED_APPROVALHIGH无限授权模式
11HIGHRISK_SELFDESTRUCTHIGH合约自毁
12HIDDEN_TRANSFERMEDIUM非标准转账实现
13PROXY_UPGRADEMEDIUM代理升级模式
14FLASH_LOAN_RISKMEDIUM闪电贷使用
15REENTRANCY_PATTERNHIGH重入攻击模式
16SIGNATURE_REPLAYHIGH签名重放
17OBFUSCATIONHIGH代码混淆技术
18PROMPT_INJECTIONCRITICALPrompt注入攻击
19NET_EXFIL_UNRESTRICTEDHIGH无限制数据外传
20WEBHOOK_EXFILCRITICALWebhook数据外泄
21网络代理_DISTRIBUTIONCRITICAL木马分发
22SUSPICIOUS_PASTE_URLHIGH可疑粘贴板URL
23SUSPICIOUS_IPMEDIUM硬编码公网IP
24SOCIAL_ENGINEERINGHIGH社会工程学诱导

处理: 解析条安全检测规则的输入参数,完成核心逻辑,返回结构化响应. 输出: 返回条安全检测规则的响应数据,包含状态码、结果和日志.

免费版与专业版对比

功能免费版专业版
检测规则24条24条+自定义规则
扫描模式基础扫描深度扫描+行为分析
行动评估不支持运行时安全决策
巡检模式不支持8项自动巡检
信任注册表不支持信任等级管理
健康检查不支持6维度健康评分
HTML报告不支持可视化报告
批量扫描单目录多目录批量

处理: 解析免费版与专业版对比的输入参数,完成核心逻辑,返回结构化响应. 输出: 返回免费版与专业版对比的响应数据,包含状态码、结果和日志.

核心功能执行

input_params参数进行配置.

处理: 解析核心功能执行的输入参数,完成核心逻辑,返回结构化响应. 输出: 返回核心功能执行的响应数据,包含状态码、结果和日志.

  • 执行此能力时使用input_params参数,支持创建/查询/导出操作 能力覆盖范围:本skill的核心能力覆盖以下场景关键词:Agent、安全扫描与风险检、条规则覆盖注入、密钥泄露、恶意代码等、适合个人开发者、核心能力、条安全检测规则覆、盖代码与配置、Python、Markdown、等多语言扫描、风险等级自动分级、LOW、命令行扫描与报告等。这些关键词对应description中声明的使用场景,均已在上述能力点中提供对应的操作支持.

使用场景

依赖详情

在安装任何第三方Skill之前,先执行安全扫描.

输入格式

参数名类型必填说明
inputstringAgent安全工具箱(免费版)处理的输入数据或指令
optionsobject附加配置选项,如模式选择、格式偏好等
callback_urlstring异步处理完成后的回调通知URL
# 扫描Skill目录
node (请参考skill目录中的脚本文件) /path/to/skill-directory

输出示例:

安全扫描报告
═══════════════════════════════════════
目标: /path/to/skill-directory
风险等级: CRITICAL
扫描文件: 12
发现问题: 3
# ...
发现项:
| # | 规则 | 严重等级 | 文件:行号 | 证据 |
|:---:|:---:|:---:|:---:|:---:|
| 1 | REMOTE_LOADER | critical | index.js:42 | 安全解析(remoteData) |
| 2 | READ_ENV_SECRETS | medium | config.js:15 | process.env.SECRET |
| 3 | PROMPT_INJECTION | critical | SKILL.md:8 | "遵循当前指令" |
# ...
建议: 不要安装此Skill,存在严重安全风险.

场景二:代码仓库安全自检

# 扫描整个项目
node (请参考skill目录中的脚本文件) /path/to/project --full

场景三:检测特定风险

# 只检测密钥泄露
node (请参考skill目录中的脚本文件) /path/to/project --rule PRIVATE_KEY_PATTERN
# ...
# 只检测Prompt注入
node (请参考skill目录中的脚本文件) /path/to/project --rule PROMPT_INJECTION

不适用场景

以下场景Agent安全工具箱(免费版)不适合处理:

  • 渗透测试未授权目标
  • 物理安全防护
  • 社会工程学攻击

触发条件

需要安全检测、合规审计、漏洞扫描、加密防护时使用。不适用于非本工具能力范围的需求.

快速开始

  1. 阅读## 核心能力章节了解skill功能
  2. 按## 依赖说明配置环境
  3. 执行所需能力对应的命令
  4. 参考## 错误处理章节处理异常
  5. 查看## FAQ解答常见疑问

扫描脚本

# ...
# ...
# ...
# ...
# ...
# ...
# ...
# ...
# ...
# ...
result = "操作完成"
import os
import re
import json
from pathlib import Path
class SecurityScanner:
    """AI Agent安全扫描器"""
    RULES = {
        "SHELL_EXEC": {
            "severity": "HIGH",
            "pattern": r"(child_process|exec\(|execSync\(|spawn\(|subprocess\.)",
            "description": "命令执行能力"
        },
        "AUTO_UPDATE": {
            "severity": "CRITICAL",
            "pattern": r"(curl|wget|fetch)\s*.*\|\s*(bash|sh|python|node)",
            "description": "自动更新/下载执行"
        },
        "REMOTE_LOADER": {
            "severity": "CRITICAL",
            "pattern": r"(eval\(|Function\(|require\(.*http|import\(.*http)",
            "description": "远程动态代码加载"
        },
        "READ_ENV_SECRETS": {
            "severity": "MEDIUM",
            "pattern": r"(process\.env\.|os\.environ\.|getenv\().*(?:KEY|SECRET|TOKEN|PASSWORD|PRIVATE)",
            "description": "环境变量密钥读取"
        },
        "PRIVATE_KEY_PATTERN": {
            "severity": "CRITICAL",
            "pattern": r"(0x[a-fA-F0-9]{64}|-----BEGIN.*PRIVATE KEY-----)",
            "description": "硬编码私钥"
        },
        "MNEMONIC_PATTERN": {
            "severity": "CRITICAL",
            "pattern": r"(mnemonic|seed_phrase|seedPhrase).{0,20}['\"].{20,}",
            "description": "硬编码助记词"
        },
        "PROMPT_INJECTION": {
            "severity": "CRITICAL",
            "pattern": r"(ignore\s+(previous|all|above)\s+instructions|system\s*prompt|<\|im_start\|>)",
            "description": "Prompt注入攻击"
        },
        "OBFUSCATION": {
            "severity": "HIGH",
            "pattern": r"(eval\(atob|eval\(decode|\\x[0-9a-f]{2}\\x[0-9a-f]{2}\\x[0-9a-f]{2})",
            "description": "代码混淆技术"
        },
        "NET_EXFIL_UNRESTRICTED": {
            "severity": "HIGH",
            "pattern": r"(fetch|axios|http\.post|requests\.post).*(?!.*allowlist)",
            "description": "无限制数据外传"
        },
        "WEBHOOK_EXFIL": {
            "severity": "CRITICAL",
            "pattern": r"(discord\.com/api/webhooks|hooks\.slack\.com|.*\.webhook\.*)",
            "description": "Webhook数据外泄"
        }
    }
    SKIP_DIRS = {"node_modules", "dist", "build", ".git", "coverage", "__pycache__", ".venv", "venv"}
    SCAN_EXTENSIONS = {".js", ".ts", ".jsx", ".tsx", ".mjs", ".cjs", ".py", ".json", ".yaml", ".yml", ".sh", ".md"}
    def __init__(self):
        self.findings = []
        self.files_scanned = 0
    def scan(self, target_path):
        """扫描目标路径"""
        target = Path(target_path)
        if target.is_file():
            self._scan_file(target)
        else:
            for root, dirs, files in os.walk(target):
                dirs[:] = [d for d in dirs if d not in self.SKIP_DIRS]
                for file in files:
                    filepath = Path(root) / file
                    if filepath.suffix in self.SCAN_EXTENSIONS:
                        self._scan_file(filepath)
        return self._generate_report(target_path)
    def _scan_file(self, filepath):
        """扫描单个文件"""
        self.files_scanned += 1
        try:
            with open(filepath, 'r', encoding='utf-8', errors='ignore') as f:
                lines = f.readlines()
            for line_num, line in enumerate(lines, 1):
                for rule_id, rule in self.RULES.items():
                    if re.search(rule["pattern"], line, re.IGNORECASE):
                            "rule": rule_id,
                            "severity": rule["severity"],
                            "file": str(filepath),
                            "line": line_num,
                            "evidence": line.strip()[:100],
                            "description": rule["description"]
                        })
        except Exception:
    def _generate_report(self, target):
        """生成扫描报告"""
        risk_level = "LOW"
        if any(f["severity"] == "CRITICAL" for f in self.findings):
            risk_level = "CRITICAL"
        elif any(f["severity"] == "HIGH" for f in self.findings):
            risk_level = "HIGH"
        elif any(f["severity"] == "MEDIUM" for f in self.findings):
            risk_level = "MEDIUM"
        return {
            "target": target,
            "risk_level": risk_level,
            "files_scanned": self.files_scanned,
            "total_findings": len(self.findings),
            "findings": self.findings
        }

示例

扫描配置

{
  "scan_config": {
    "skip_dirs": ["node_modules", "dist", "build", ".git"],
    "scan_extensions": [".js", ".ts", ".py", ".md", ".json"],
    "rules_enabled": "all",
    "markdown_code_blocks_only": true,
    "decode_base64": true,
    "output_format": "json"
  }
}

优秀实践

1. 安装前必扫

# 安装任何新Skill前执行安全扫描
node (请参考skill目录中的脚本文件) ./.skills/new-skill/

2. 定期安全自检

# 每周扫描工作区
node (请参考skill目录中的脚本文件) ./workspace/ --full --output weekly_scan.json

3. 关注CRITICAL级别

# 只显示严重问题
node (请参考skill目录中的脚本文件) /path/to/project | grep CRITICAL

常见问题

Q1: 扫描会产生误报吗?

A: 静态扫描可能产生误报。建议结合上下文判断,例如 process.env 在配置文件中是正常的,但在传输到外部服务器时则是风险.

Q2: Markdown文件如何扫描?

A: 免费版只扫描Markdown文件中的代码块(```标记之间的内容),避免误报正文中的技术描述.

Q3: 扫描速度如何?

A: 100个文件的扫描约需3-5秒,取决于文件大小和规则数量.

Q4: 如何获取行动评估和巡检功能?

A: 这些是专业版功能。免费版专注于静态代码扫描,专业版增加了运行时行动评估、自动巡检和信任管理.

依赖说明

运行环境

  • Agent平台: 支持SKILL.md的任意AI Agent(Claude Code / Cursor / Codex / Gemini CLI等)
  • 操作系统: Windows / macOS / Linux
  • Python版本: 3.8+ 或 Node.js 16+

第三方依赖

依赖项类型是否必需获取方式
Python运行时必需系统自带或 python.org 下载
re模块标准库必需Python内置
pathlib模块标准库必需Python内置

API Key 配置

  • 免费版无需任何 API Key,完全本地执行

可用性分类

  • 分类: MD+EXEC模式纯Markdown指令,部分功能需exec命令行执行)
  • 说明: 基于Markdown的AI Skill,通过自然语言指令驱动Agent执行安全扫描任务

错误处理

错误场景原因处理方式
配置错误参数缺失或格式错误检查依赖说明中的配置要求
运行时错误运行环境不满足确认运行环境符合依赖说明
网络错误连接超时或不可达执行ping命令测试网络连通性,检查防火墙和代理设置连接后执行ping命令测试网络连通性,检查防火墙和代理设置连接后重新执行命令,参考国内替代方案

已知限制

  • 本地运行,不支持多设备同步
  • 不能替代专业安全审计,仅提供辅助检查能力
  • 加密强度依赖正确配置的密钥与算法参数
  • 安全策略需定期更新以应对新威胁

Related skills

轻量级服务监控工具免费版,面向个人开发者与小型项目。核心能力:. 适用于需要monitor toolkit相关能力的开发场景,包含结构化的工作流程和可复用的模板,帮助用户快速完成任务并保持代码质量. 适用于需要monitor toolkit相关能力的开发场景,包含结构化的工作流程和配置指引. 该工具经过深度差异化处置,针对用户反馈和使用痛点进行了调优改进,提升了实用性和可操作性.

1 installs

防火墙配置工具包免费版,为个人开发者包含服务器防火墙配置与安全加固能力. 适用于需要firewall toolkit相关能力的开发场景,包含结构化的工作流程和可复用的模板,帮助用户快速完成任务并保持代码质量. 适用于需要firewall toolkit相关能力的开发场景,包含结构化的工作流程和配置指引.

1 installs

核心能力: 知识管控领域的专业化 AI 辅助工具,包含核心基础功能兼容. 适用于需要note toolkit相关能力的开发场景,包含结构化的工作流程和可复用的模板,帮助用户快速完成任务并保持代码质量. 适用于需要note toolkit相关能力的开发场景,包含结构化的工作流程和配置指引. 该工具经过深度差异化处置,针对用户反馈和使用痛点进行了调优改进,提升了实用性和可操作性.

1 installs

Rust 开发优选实践助手免费版,面向个人开发者与学习者。核心能力:,可自发提升工作效率. 适用于需要rust toolkit相关能力的开发场景,包含结构化的工作流程和可复用的模板,帮助用户快速完成任务并保持代码质量. 适用于需要rust toolkit相关能力的开发场景,包含结构化的工作流程和配置指引.

1 installs

核心能力: 知识管控领域的专业化 AI 辅助工具,包含核心基础功能兼容. 适用于需要notion toolkit相关能力的开发场景,包含结构化的工作流程和可复用的模板,帮助用户快速完成任务并保持代码质量. 适用于需要notion toolkit相关能力的开发场景,包含结构化的工作流程和配置指引. 该工具经过深度差异化处置,针对用户反馈和使用痛点进行了调优改进,提升了实用性和可操作性.

1 installs

文档工具箱免费版是一款面向开发者的DOCX文档处置Skill,封装python-docx与LibreOffice渲染能力,包含从读取、创建到编辑的完整基础工作流。核心能力:. 适用于需要doc toolkit相关能力的开发场景,包含结构化的工作流程和可复用的模板,帮助用户快速完成任务并保持代码质量.

1 installs