jiwoochris/artex-ko/scopesentry
Claude Code and agent skill by jiwoochris/artex-ko
- community
Checking that the SKILL.md file is still in the repository.
通过 ScopeSentry MCP 管理安全扫描平台(项目、任务、模板、资产、节点)。在用户提到 ScopeSentry、MCP、API Key、扫描任务、资产查询时使用。
Install
npx vskill@latest install jiwoochris/artex-ko/scopesentrySKILL.md
The same SKILL.md was published earlier as yeyingsrc/scopesentry/scopesentry.
2. 工具一览
| 工具 | 用途 | |
|---|---|---|
list_projects | 按标签分组的项目树(含项目 ID) | |
list_projects_data | 分页项目列表,可按名称搜索 | |
get_project | 项目详情 | |
create_project | 新建项目 | |
list_tasks | 扫描任务列表 | |
get_task | 任务详情 | |
list_scan_templates | 扫描模板列表 | |
get_scan_template | 模板详情 | |
list_plugin_modules | 扫描流水线模块名 | |
list_plugins | 可用插件(含 hash、默认参数) | |
create_scan_template | 创建扫描模板 | |
create_scan_task | 创建扫描任务 | |
list_assets | 查询各类资产(分页列表) | |
count_assets | 统计资产数量(/api/assets/common/total) | |
get_asset_detail | 资产或漏洞详情 | |
add_asset_tag | 为资产添加标签 | |
list_nodes | 扫描节点列表 |
各工具参数以 MCP 工具描述(schema)为准;list_assets / count_assets 的 search、filter 语法一致,查询资产前可先阅读 list_assets description。
需要知道「共多少条」时用 count_assets(对应 Web 分页总数接口),不必为了数总数反复翻页 list_assets。
3. 常用工作流
3.1 按项目查资产
当用户或上下文已有项目条件时,优先带上 filter.project 缩小范围,避免跨项目数据过多导致响应变慢。若无明确项目,可不强制加项目筛选。
list_projects或list_projects_data获取目标项目的 ObjectID(id/children[].value)list_assets传入filter.project(必须是 ID,不能写项目中文名)
3.2 创建扫描任务
list_nodes获取在线节点名称list_scan_templates或create_scan_template获取模板 ObjectIDcreate_scan_task:name、node必填,template填模板 ID(不能填模板名)
目标来源 `targetSource`(与 Web 端一致):
| targetSource | 说明 | 必填参数 | |
|---|---|---|---|
general | 直接输入目标 | target | |
project | 从项目读取目标 | project(项目 ObjectID 数组) | |
asset | 从 Web 资产库搜索 | search;可选 project、filter、targetNumber | |
RootDomain | 从根域名库搜索 | search;可选 project、filter、targetNumber | |
subdomain | 从子域名库搜索 | search;可选 project、filter、targetNumber | |
UrlScan | 从 URL 扫描结果搜索 | search;可选 project、filter、targetNumber | |
*Source(如 subdomainSource) | 从资产页「选中/搜索」创建 | targetTp=search 时用 search;targetTp=select 时用 targetIds |
示例 — 直接扫根域名:
示例 — 从子域名库续扫(按上一任务名筛选):
3.3 根域名完整信息收集(推荐两阶段)
当输入为根域名且要进行完整信息收集时,建议分两次扫描,不要一次跑全流水线。
原因: 分布式任务以单个目标为单位分发。根域名作为目标时,某节点分到该根域名后,在该节点上扫出的子域名也会继续在该节点执行后续模块,容易造成负载不均、速度慢、易出错。
最佳实践:
- 第一阶段 — 仅子域名收集
targetSource:generaltarget: 所有根域名(多行)- 模板:仅启用
SubdomainScan、SubdomainSecurity(子域名扫描 + 子域名接管) - 用
get_task等待任务完成
- 第二阶段 — 后续模块
targetSource:subdomainsearch:task=="<第一阶段任务名称>"(精确匹配任务名)- 可选
project缩小范围 - 模板:端口扫描、资产测绘、漏洞扫描等(可不含 SubdomainScan)
- 子域名作为独立目标分发到各节点,并行效率更高
也可在 Web 界面「子域名」资产页按任务名筛选后,使用「从子域名创建任务」,效果相同。
3.4 创建扫描模板
list_plugin_modules→ 模块名列表list_plugins(可按module过滤)→ 各插件hash与默认parametercreate_scan_template:用modules指定「模块 → 插件 hash 数组」
4. 资产查询(list_assets / count_assets)
count_assets 与 list_assets 使用相同的 asset_type、search、filter,返回 { "total": N },对应 Web 端 /api/assets/common/total。
性能建议(`list_assets` / `count_assets` 通用): 有项目条件时优先用 filter.project 缩小范围;search 中对已建索引字段尽量用 == 全等或 ^ 前缀匹配(见 4.3),避免大面积 = 模糊查询拖慢响应。无项目上下文时不强制加项目筛选。
支持 filter.project 的类型见 4.4 表格。
4.1 资产类型 asset_type
asset、RootDomain、subdomain、app、mp、UrlScan、SensitiveResult、DirScanResult、crawler、vulnerability、PageMonitoring、IPAsset、SubdomainTakerResult
别名示例:web→asset、vuln→vulnerability、ip→IPAsset、url→UrlScan
4.2 参数说明
| 参数 | 说明 | |
|---|---|---|
pageIndex / pageSize | 分页,默认 1 / 20 | |
search | 搜索表达式(见下节) | |
filter | 精确过滤 JSON(见下节) | |
sort | 仅 UrlScan、DirScanResult 支持按 length 排序 | |
sid | 仅 SensitiveResult:敏感规则名称 |
search 与 filter 可同时使用。
4.3 search 搜索表达式
自定义 DSL(不是 SQL):
| 运算符 | 含义 | 索引 | 示例 | |||||
|---|---|---|---|---|---|---|---|---|
= | 模糊匹配(regex) | 不走索引 | domain=example | |||||
== | 精确匹配(全等) | 走索引 | port==443 | |||||
!= | 排除 | — | port!="80" | |||||
&& | 与 | — | domain==example.com && port==443 | |||||
| ` | ` | 或 | — | `title=admin | body=login` |
索引与运算符: domain、ip、port、title 等字段已建索引,但仅 `==` 全等 或 值以 `^` 开头的前缀匹配(如 domain=^example.com)能走索引;`=` 会转为 regex 模糊匹配,无法使用索引,数据量大时易变慢。
所有类型通用 search 字段: tag、task(任务名称)、rootDomain
project 不能写在 search 里(无效或与 && 组合时报错)。筛项目请用 filter.project。
各类型常用 search 字段:
| asset_type | 字段 | |
|---|---|---|
| asset | domain, ip, port, service, app, title, statuscode, icon, banner, type, body, header | |
| RootDomain | domain, icp, company | |
| subdomain | domain, ip, type, value | |
| app | name, icp, company, category, description, url, apk | |
| mp | name, icp, company, category, description, url | |
| UrlScan | url, input, source, resultId, type | |
| SensitiveResult | url, sname, body, info, md5 | |
| DirScanResult | url, statuscode, redirect, length | |
| vulnerability | url, vulname, matched, request, response, level | |
| crawler | url, method, body, resultId | |
| PageMonitoring | url, hash, diff, response | |
| IPAsset | ip, domain, port, service, webServer, app | |
| SubdomainTakerResult | domain, value, type, response |
search 示例:
domain==www.example.com && port==443(全等,走索引)domain=^example.com(前缀匹配,走索引)ip==192.168.1.1task=="某任务名"level==high(vulnerability)statuscode==200(DirScanResult)
需模糊包含时再用 =,如 title=admin(不走索引,宜配合项目等条件缩小范围)。
4.4 filter 精确过滤
JSON 对象:同 key 多个值为 OR,不同 key 为 AND。
有项目条件时优先用 `project`: 若用户或上下文已明确项目,且 asset_type 支持 project,应带上以缩小范围;无项目信息时不强制。
| filter key | 含义 | 取值说明 | |
|---|---|---|---|
project | 所属项目 | ObjectID,用 list_projects / list_projects_data 获取 | |
task | 来源任务 | 任务名称,用 list_tasks 的 name | |
port | 端口 | 如 "443" | |
service | 服务/协议 | 如 "https" | |
app | 应用指纹 | 如 "Nginx" | |
icon | 图标 hash | ||
statuscode | HTTP 状态码 | 主要用于 asset | |
status | 状态 | UrlScan/DirScan HTTP 码;漏洞/敏感信息处理状态 | |
level | 漏洞等级 | critical / high / medium / low / info | |
type | 类型 | 如子域名记录类型 A、CNAME | |
color | 敏感规则颜色 | SensitiveResult | |
sname | 敏感规则名 | SensitiveResult | |
tags | 标签 |
各类型可用 filter key:
| asset_type | filter key | |
|---|---|---|
| asset | project, port, service, app, icon, statuscode, type, task, tags | |
| RootDomain | project, tags | |
| subdomain | project, type, task, tags | |
| app / mp | project, tags | |
| UrlScan | status, tags | |
| DirScanResult | status, tags | |
| SensitiveResult | status, color, sname, tags | |
| crawler | project, task, tags | |
| vulnerability | project, level, status, task, tags | |
| PageMonitoring / SubdomainTakerResult | tags | |
| IPAsset | project, port, service, app |
filter 示例:
组合查询示例:
注意:
- 有项目条件时优先带
filter.project(支持时);无项目上下文可不强制 filter.project勿填项目显示名称- 已知值用
==,前缀用^;避免对大表滥用=模糊匹配 - UrlScan 的 HTTP 状态用
filter.status;DirScanResult 可在 search 中用statuscode==200 - SensitiveResult 按规则名:
search用sname=规则名,或filter.sname
4.5 排序 sort
仅 UrlScan、DirScanResult 支持:
其他类型忽略 sort,按时间默认排序。
5. 扫描模板模块名
TargetHandler、SubdomainScan、SubdomainSecurity、PortScanPreparation、PortScan、PortFingerprint、AssetMapping、AssetHandle、URLScan、WebCrawler、URLSecurity、DirScan、VulnerabilityScan、PassiveScan
6. 故障排查
| 现象 | 处理 | |
|---|---|---|
| MCP 无工具 | 检查 URL、API Key、ScopeSentry 是否运行 | |
| 401 / 403 | 重新创建或更换 API Key | |
| 资产查不到 | 确认 filter.project 为 ObjectID;勿在 search 写 project | |
| 模板/任务创建失败 | template 必须是模板 ObjectID;node 填在线节点名 | |
| 查询很慢/卡住 | 有项目时加 filter.project;search 对已索引字段改用 == 或 ^ 前缀,少用 =;缩小 pageSize |
Security
- Security scanPassed, 95 of 100Pattern checks on the skill's files.
- Model reviewPassed
Quality evaluation
- Task evaluationNot runNo evaluation yet. Run one in Skill Studio.
Source
- SKILL.md in the repositoryCheckingskills/scopesentry/SKILL.md
Popularity
- Repository stars
- 939
- Repository forks
- 874
- 7-day trend score
- 0
Stars and forks are for the whole GitHub repository, not this skill alone. Not refreshed yet.
Works with
Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.
- Claude Code
- Cursor
- GitHub Copilot
- Windsurf
- Codex
- Gemini CLI
- Cline
- Amp
- Roo Code
- Goose
- Continue
- Kilo Code
- Junie
- Trae
- OpenHands
- Qwen Code
- AI Agent
- Tabnine Chat
- Sourcegraph Cody
- Amazon Q
- Firebase Genkit
- Sweep
- Devin
- Phind
- Mentat
- Claude Desktop
- Aider
- GPT Pilot
- Plandex
- bolt.new
- v0
- Replit Agent
- Anse
- TypingMind
- BetterChatGPT
- LibreChat
- Warp AI
- Pieces
- Fig AI
Embed badge
[](https://verified-skill.com/skills/jiwoochris/artex-ko/scopesentry)