Synthèse automatique
Ce skill pilote l'outil de scan réseau fscan pour découvrir des hôtes actifs, des ports, des services et des vulnérabilités, avec une sortie NDJSON directement consommable par un agent.
Points forts
- Le mode `-silent` produit un flux NDJSON pur, parsable avec jq, sans logs humains qui polluent le pipeline.
- Un seul outil couvre la découverte d'hôtes, le scan de ports, l'empreinte de services, la détection de vulnérabilités (MS17-010, Redis non autorisé) et les tests de mots de passe faibles.
- La référence des paramètres est complète : threads, timeouts, exclusions, proxys SOCKS5/HTTP, options d'authentification et de dictionnaires.
- Un tableau des plugins associe chaque service à son port par défaut, ce qui facilite le ciblage via `-m`.
Limites
- Outil de sécurité offensive : le skill ne mentionne aucune limite d'autorisation ni garde-fou légal, la responsabilité du périmètre testé revient à l'utilisateur.
- Le schéma NDJSON est tronqué en fin de document, certains champs de sortie ne sont donc pas entièrement spécifiés.
- Les valeurs par défaut sont agressives (600 threads, mode `all`), ce qui peut être bruyant ou perturbant sur un réseau de production.
À mobiliser pour un audit d'infrastructure autorisé : cartographie d'un sous-réseau, inventaire des services exposés ou vérification de mots de passe faibles.
À ne pas utiliser sur des hôtes ou réseaux pour lesquels vous n'avez pas d'autorisation écrite, ni lorsque la discrétion du scan est primordiale.
Analyse de sécurité
PrudenceThe skill uses a powerful network security tool through Bash. While fscan is a legitimate tool for authorized security assessments, its capabilities include brute-force attacks and vulnerability detection, which can be intrusive or illegal without proper authorization. It does not contain destructive or exfiltrating instructions, but the dual-use nature and lack of guardrails warrant a caution rating.
- •Instructs use of fscan, a network scanning and vulnerability assessment tool capable of active probing, brute-force credential attacks, and detection of exploitable vulnerabilities.
- •Requires execution via Bash, which can run arbitrary commands if the skill is misused or if target input is maliciously crafted.
- •No explicit authorization or scope-of-use disclaimer is included, which could lead to unauthorized scanning of systems.
Exemples
Scan 192.168.1.0/24 with fscan in silent mode and give me a list of every live host with its open ports and identified services.Run fscan against 10.0.0.0/24 with SSH and MySQL weak-password checks enabled, then use jq to extract every entry where type is VULN and summarize them by service.Use fscan to grab web titles and fingerprints for 172.16.0.0/24 on ports 80, 443 and 8080, then show me a table of URLs grouped by page title.name: fscan-agent description: 使用 fscan 进行网络扫描和安全评估。当用户要求扫描网段、探测主机存活、发现开放端口、识别服务、检测漏洞或弱口令时使用。支持 NDJSON 结构化输出,适合 AI agent 管道消费。 argument-hint: <目标IP/网段> [附加参数] allowed-tools: Bash, Read, Agent
Fscan AI Agent Skill
工具概述
Fscan 是一款内网综合扫描工具,功能包括:
- 主机存活探测(ICMP / TCP)
- 端口扫描与服务识别
- 漏洞检测(MS17-010、Redis 未授权等)
- 弱口令爆破(SSH、SMB、MySQL、MSSQL、FTP、RDP 等)
- Web 指纹识别与 POC 扫描
- NetBIOS / SMB 信息收集
- 本地信息收集(杀软检测、系统信息等)
二进制路径:当前项目编译产物 fscan_cli,或系统 PATH 中的 fscan。
调用格式
# AI agent 标准用法:NDJSON 输出,无人类日志干扰
fscan -h <目标> -silent [其他参数]
# 解析输出
fscan -h 192.168.1.0/24 -silent | jq 'select(.type=="VULN")'
核心参数
目标指定
| 参数 | 说明 | 示例 |
|------|------|------|
| -h | 目标主机(IP / CIDR / 范围) | -h 192.168.1.0/24 -h 10.0.0.1-10.0.0.100 |
| -hf | 从文件读取目标 | -hf targets.txt |
| -p | 指定端口(逗号/范围) | -p 22,80,443,445,3306 -p 1-1000 |
| -ep | 排除端口 | -ep 25,110 |
| -eh | 排除主机 | -eh 192.168.1.1 |
| -u | 指定 URL(Web 扫描) | -u https://example.com |
| -uf | URL 文件 | -uf urls.txt |
扫描控制
| 参数 | 说明 | 默认值 |
|------|------|--------|
| -m | 扫描模式 | all |
| -t | 端口扫描线程数 | 600 |
| -mt | 模块线程数 | 20 |
| -time | 连接超时(秒) | 3 |
| -gt | 全局超时(秒) | 180 |
| -np | 跳过存活检测 | false |
| -ntp | 禁用 TCP 补充探测 | false |
| -ao | 仅存活检测 | false |
| -nobr | 禁用暴力破解 | false |
| -full | 全量 POC 扫描 | false |
| -max-retries | 最大重试次数 | 1 |
认证
| 参数 | 说明 |
|------|------|
| -user | 用户名 |
| -pwd | 密码 |
| -usera | 追加用户名 |
| -pwda | 追加密码,支持逗号或空格分隔多个值 |
| -userf | 用户名字典文件 |
| -pwdf | 密码字典文件 |
| -domain | 域名(SMB/WMI) |
| -sshkey | SSH 私钥文件 |
| -hash / -hashf | NTLM Hash / Hash 文件 |
代理
| 参数 | 说明 |
|------|------|
| -socks5 | SOCKS5 代理 (127.0.0.1:1080) |
| -proxy | HTTP 代理 (http://127.0.0.1:8080) |
| -iface | 指定本地网卡 IP(VPN 场景) |
输出
| 参数 | 说明 |
|------|------|
| -silent | 静默模式:stdout 仅输出 NDJSON |
| -o | 输出文件路径(默认 result.txt) |
| -f | 输出格式:txt / json / csv |
| -no | 禁用文件保存 |
| -debug | 调试模式:日志写入 fscan_debug.log |
| -log | 日志级别(debug / info / base / error) |
扫描模式 -m 的取值
| 值 | 说明 |
|------|------|
| all | 全部扫描(默认) |
| icmp | 仅 ICMP 存活检测 |
| 插件名 | 仅运行指定插件(如 ssh、smb、ms17010、webtitle) |
服务插件列表
| 插件 | 默认端口 | 功能 |
|------|----------|------|
| ftp | 21 | FTP 弱口令 |
| ssh | 22 | SSH 弱口令 |
| telnet | 23 | Telnet 弱口令 |
| smtp | 25 | SMTP 弱口令 |
| findnet | 135 | RPC 网络信息发现(NetInfo) |
| netbios | 139 | NetBIOS 信息收集 |
| smb | 445 | SMB 弱口令 |
| ms17010 | 445 | MS17-010 永恒之蓝检测 |
| ldap | 389 | LDAP 弱口令 |
| mssql | 1433 | MSSQL 弱口令 |
| oracle | 1521 | Oracle 弱口令 |
| mysql | 3306 | MySQL 弱口令 |
| rdp | 3389 | RDP 弱口令 + 系统信息 |
| postgresql | 5432 | PostgreSQL 弱口令 |
| vnc | 5900 | VNC 弱口令 |
| redis | 6379 | Redis 未授权 + 弱口令 |
| elasticsearch | 9200 | ES 未授权 |
| mongodb | 27017 | MongoDB 未授权 + 弱口令 |
| memcached | 11211 | Memcached 未授权 |
| kafka | 9092 | Kafka 未授权 |
| activemq | 61616 | ActiveMQ 弱口令 |
| rabbitmq | 5672 | RabbitMQ 弱口令 |
| cassandra | 9042 | Cassandra 弱口令 |
| neo4j | 7687 | Neo4j 弱口令 |
| rsync | 873 | Rsync 未授权 |
| webtitle | 80/443 | Web 标题 + 指纹识别 |
| webpoc | 80/443 | Web 漏洞 POC |
本地插件(-local)
fscan -local avdetect # 杀软检测
fscan -local systeminfo # 系统信息收集
fscan -local envinfo # 环境变量信息
fscan -local dcinfo # 域控信息
fscan -local fileinfo # 敏感文件搜索
NDJSON 输出 Schema(-silent 模式)
每行一个 JSON 对象,所有字段定义:
| 字段 | 类型 | 出现条件 | 说明 |
|------|------|----------|------|
| type | string | 必有 | HOST / PORT / SERVICE / VULN |
| target | string | 必有 | 原始目标 host 或 host:port |
| status | string | 必有 | 状态描述 |
| host | string | 必有 | IP 地址 |
| port | int | PORT/SERVICE/VULN | 端口号 |
| service | string | SERVICE/VULN | 服务名(ssh, smb, http 等) |
| protocol | string | HOST/SERVICE | 协议(ICMP, TCP, http, https) |
| banner | string | SERVICE | 服务 Banner |
| title | string | SERVICE (web) | 网页标题 |
| url | string | SERVICE (web) | 完整 URL |
| vulnerability | string | VULN | 漏洞名称 |
| username | string | VULN (弱口令) | 用户名 |
| password | string | VULN (弱口令) | 密码 |
| plugin | string | SERVICE/VULN | 产生结果的插件名 |
| version | string | SERVICE | 服务版本号 |
| os | string | SERVICE | 操作系统信息 |
输出示例
{"type":"HOST","target":"192.168.1.5","status":"alive","host":"192.168.1.5","protocol":"ICMP"}
{"type":"PORT","target":"192.168.1.5","status":"open","host":"192.168.1.5","port":22}
{"type":"PORT","target":"192.168.1.5","status":"open","host":"192.168.1.5","port":445}
{"type":"SERVICE","target":"192.168.1.5:22","status":"identified","host":"192.168.1.5","port":22,"service":"ssh","banner":"SSH-2.0-OpenSSH_8.9p1","version":"8.9p1","plugin":"portscan"}
{"type":"SERVICE","target":"192.168.1.5:80","status":"web","host":"192.168.1.5","port":80,"service":"http","protocol":"http","url":"http://192.168.1.5:80","title":"Welcome","plugin":"webtitle"}
{"type":"VULN","target":"192.168.1.5:445","status":"MS17-010 (Windows Server 2012 R2 Standard 9600)","host":"192.168.1.5","port":445,"vulnerability":"MS17-010","service":"smb","plugin":"ms17010"}
{"type":"VULN","target":"192.168.1.5:22","status":"weak_credential: root:123456","host":"192.168.1.5","port":22,"service":"ssh","username":"root","password":"123456","plugin":"ssh"}
{"type":"VULN","target":"192.168.1.5:6379","status":"Redis unauthorized","host":"192.168.1.5","port":6379,"vulnerability":"Redis unauthorized access","service":"redis","plugin":"redis"}
结果产出顺序
HOST— 存活探测阶段PORT— 端口扫描阶段(与 SERVICE 可能交错)SERVICE— 服务识别阶段VULN— 漏洞/弱口令检测阶段
同一 host:port 可产生多条结果(PORT + SERVICE + VULN)。
常用场景参数组合
全网段快速扫描
fscan -h 192.168.1.0/24 -silent
跳过存活检测直接扫端口(目标明确时)
fscan -h 192.168.1.0/24 -silent -np
指定端口精确扫描
fscan -h 10.0.0.0/24 -silent -p 22,80,443,445,3389,3306,6379
仅存活探测
fscan -h 172.16.0.0/16 -silent -m icmp
低速隐蔽扫描
fscan -h 192.168.1.0/24 -silent -t 30 -time 5
通过 SOCKS5 代理扫描内网
fscan -h 10.0.0.0/24 -silent -socks5 127.0.0.1:1080
仅做弱口令检测
fscan -h 192.168.1.10 -silent -m ssh -user root -pwdf /path/to/passwords.txt
Web 目标扫描
fscan -u https://target.com -silent -full
多目标文件批量扫描
fscan -hf targets.txt -silent -o results.json -f json
带调试日志的排障扫描
# NDJSON 到 stdout,debug 日志到文件,互不干扰
fscan -h 192.168.1.0/24 -silent -debug
# 事后查看:cat fscan_debug.log
AI Agent 结果处理
Python 管道消费
import json, subprocess
proc = subprocess.Popen(
["fscan", "-h", "192.168.1.0/24", "-silent"],
stdout=subprocess.PIPE, text=True
)
hosts, services, vulns = [], [], []
for line in proc.stdout:
r = json.loads(line)
if r["type"] == "HOST":
hosts.append(r["host"])
elif r["type"] == "SERVICE":
services.append(r)
elif r["type"] == "VULN":
vulns.append(r)
proc.wait()
jq 过滤
# 提取所有弱口令
fscan -h 10.0.0.0/24 -silent | jq -r 'select(.username != null) | "\(.host):\(.port) \(.service) \(.username):\(.password)"'
# 提取所有漏洞
fscan -h 10.0.0.0/24 -silent | jq -r 'select(.type=="VULN") | "\(.host):\(.port) \(.vulnerability)"'
# 提取 Web 服务
fscan -h 10.0.0.0/24 -silent | jq -r 'select(.url != null) | "\(.url) \(.title)"'
# 统计开放端口
fscan -h 10.0.0.0/24 -silent | jq -r 'select(.type=="PORT") | .port' | sort -n | uniq -c | sort -rn
注意事项
-silent抑制所有人类可读日志,stdout 仅输出 NDJSON- 空字段不出现在 JSON 中(
omitempty) - 进程退出码
0正常完成,非0表示参数错误或初始化失败 -silent和-debug可同时使用,互不干扰- SOCKS5 代理下 fscan 信任协议层连接结果,不做额外深度验证
- 扫描大网段时线程数会自动调整,资源耗尽时自适应降级
- 默认超时 3 秒,防火墙 drop 的端口会静默超时,不计入失败率
Du fichier au premier essai
Le téléchargement contient exactement le contenu affiché sur cette fiche. Cette copie peut différer de la dernière version du dépôt source.
Consulter la source et ses fichiers annexesCe téléchargement contient uniquement SKILL.md. Les scripts, références, modèles et dépendances éventuels ne sont pas inclus. Récupérez les fichiers nécessaires depuis la source en conservant leur arborescence avant de poursuivre.
1. Télécharger le fichier
Télécharger SKILL.mdDepuis la racine d’un projet de test, enregistrez le fichier sous .skill-downloads/fscan-network-scanner-mrwaka7t/SKILL.md, ou utilisez la commande suivante. Ce dossier sert à examiner la skill avant son installation.
Commande pour macOS/Linux ou WSL : un shell POSIX et curl sont nécessaires. Sous Windows sans WSL, utilisez le bouton de téléchargement et créez le dossier manuellement.
mkdir -p '.skill-downloads/fscan-network-scanner-mrwaka7t' && curl --fail --show-error --location 'https://skills-guides.com/api/skills/fscan-network-scanner-mrwaka7t/download' --output '.skill-downloads/fscan-network-scanner-mrwaka7t/SKILL.md.part' && mv '.skill-downloads/fscan-network-scanner-mrwaka7t/SKILL.md.part' '.skill-downloads/fscan-network-scanner-mrwaka7t/SKILL.md'2. Vérifier les prérequis
Lisez SKILL.md avant de l’utiliser. Si le fichier cite des scripts ou services externes, examinez-les et préparez les accès nécessaires dans votre environnement de test.
Outils déclarés par l’auteur (à vérifier dans votre agent) : Bash, Read, Agent
Aucune section de prérequis reconnue dans ce fichier. Cela ne signifie pas qu’il est autonome : les bibliothèques, outils et accès peuvent être cités ailleurs dans le contenu ou dans le dépôt source.
Les plateformes de la fiche sont des indications du catalogue. Les chemins ci-dessous suivent la documentation des outils ; ils ne prouvent pas que cette skill y a été exécutée. Aucune version minimale de ces outils n’est attestée pour cette fiche.
3. Charger la skill
Après vérification, copiez le dossier complet dans le projet avec l’une des commandes ci-dessous, puis ouvrez une nouvelle session de l’outil. La commande s’arrête si un dossier du même nom existe déjà : comparez les fichiers avant de le remplacer.
Claude Code
test -f '.skill-downloads/fscan-network-scanner-mrwaka7t/SKILL.md' && test -s '.skill-downloads/fscan-network-scanner-mrwaka7t/SKILL.md' && mkdir -p '.claude/skills' && test ! -e '.claude/skills/fscan-agent' && cp -R '.skill-downloads/fscan-network-scanner-mrwaka7t' '.claude/skills/fscan-agent'OpenSkills
OpenSkills doit déjà être installé. La procédure locale install/read est contrôlée avec OpenSkills 1.5.0, qui exige Node.js ≥ 20.6.0. Aucun slug du catalogue n’est résolu automatiquement.
Installation officielle d’OpenSkillsopenskills install './.skill-downloads/fscan-network-scanner-mrwaka7t'openskills read 'fscan-network-scanner-mrwaka7t'La lecture doit afficher le contenu du fichier installé et son dossier de base. Elle ne lance ni la skill ni ses dépendances.
Pour un agent qui lit AGENTS.md, synchronisez ensuite l’index. Cette commande modifie AGENTS.md : relisez le diff avant de l’utiliser.
openskills syncMode manuel ou autre outil : joignez SKILL.md à une conversation, ou ouvrez-le dans un agent capable de lire les fichiers. Ajoutez les ressources annexes nécessaires. Il n’existe pas de dossier universel reconnu par tous les outils.
4. Faire un premier essai
Utilisez une entrée courte et fictive : un endpoint d’API, un petit document ou un brief d’interface. Dans une nouvelle conversation, joignez le fichier ou donnez son chemin à l’agent, puis adaptez cette demande :
Lis .skill-downloads/fscan-network-scanner-mrwaka7t/SKILL.md et applique ses instructions à cet exemple : [décrire une entrée de test]. Indique les fichiers, dépendances ou accès qui manquent. Produis le résultat demandé par la skill sans inventer de données ni exécuter de script non examiné.Résultat attendu : une sortie correspondant aux instructions de la skill, ou une liste précise des prérequis manquants. Une simple confirmation de lecture ne valide pas le premier usage. Si une ressource externe est indisponible, ce parcours reste à tester.
Sécurité AMM DeFi
Securite
Checklist de sécurité pour les contrats Solidity AMM, pools de liquidité et flux de swap. Couvre réentrance, attaques par donation, manipulation d'oracles, etc.
Créateur de règles Semgrep
Securite
Crée des règles Semgrep personnalisées pour détecter des vulnérabilités de sécurité, des motifs de bugs et des motifs de code. Inclut une méthodologie de test en premier, le support du mode taint et des étapes de validation. Utile pour construire des détections d'analyse statique ciblées.
Revue barre d'outils développement
Securite
Règles de sécurité pour la barre d'outils de développement, le client PostHog et les feature flags. À utiliser lors de la revue de modifications des composants dev-tools et connexes.