Announcing Beacon: Self-improving memory for coding agents
← All skills
Skill

wifi-wireless

skill:zhaoxuya520/reverse-skill#wifi-wireless

Use for authorized wireless security assessment including Wi-Fi capture, WPA handshake analysis, rogue AP detection research, and lab-only deauth testing.

Verdict
Suspicious

Risky behavior the analysis could not rule out.

Analyzed Oct 27, 2026, 21:26 UTC at cab634b

Dispute security verdict

If you believe this verdict is incorrect, submit a dispute and we'll review it.

1
findings
medium
highest severity
1
threat classes
632
files scanned
24/24
checks satisfied
0
package advisories

Why this verdict

  • suspicious: finding skill:skills/wifi-wireless:skills/wifi-wireless/SKILL.md:41:HIJACK

Security findings 1

Agent hijacking

mediumContextual riskmedium confidence

The skill's reference section directs the agent to ../pentest-tools/ and the 近源 chapter of ../attack-chain/, files that exist in the repository but sit outside the reviewed consumed content, so the agent loads instructions nobody reviewed at runtime.

`../pentest-tools/` `../attack-chain/`(近源章节)
vector:instruction
Counter-argument considered

No evidence kills this: the reference section concretely routes the agent at runtime into sibling directories outside the reviewed target, including the attack-chain 近源 chapter, a directive covered by no declared claim (description is wireless-only) and no carve-out, and the same pattern (读取 precedent-pentest) shows the agent does follow such pointers; the unreviewed-content chain stands.

Open questions 4

What the analysis could not settle from the code alone.

What encoding or concealment mechanism produced decoded unit SRC:28c8241a2cc73163 at SKILL.md lines 1-4, and is any content hidden in that channel beyond a duplicate of the visible name/description? The decoded text carries no directive, so no finding is asserted, but a hidden channel in agent-facing frontmatter is unexplained.
The skill declares an upstream routing authority 'MASTER R29' that is not shown; what is it and what does it instruct the agent to do? Its content is needed to judge whether the routing context steers beyond the declared task.
Agent hijacking
The '路由上下文' section names an upstream routing authority 'MASTER R29' that is not present in the shown units; does that routing document modify or extend the skill's behavior beyond the declared authorized wireless assessment purpose?
Agent hijacking
Workflow step 1 instructs the agent to read 'precedent-pentest' before acting, but no unit shows what that file contains or where it resides; if the request for skills/precedent-pentest/SKILL.md returns NOT IN REPOSITORY, the agent would read whatever sits at that path at runtime.
Agent hijacking
Refuted findings 3

Candidates the review stage examined and rejected, kept for transparency.

Credential access

criticalRefutedlow confidence

The skill's workflow instructs the agent to capture WPA handshakes or PMKIDs from a target access point and crack them offline with hashcat/aircrack to recover wireless passwords, a credential-harvesting chain that compromises the target network if run outside the declared authorized/lab scope.

□ 握手或 PMKID 采集(仅目标)
Why it was refuted

Handshake/PMKID capture with offline hashcat/aircrack evaluation is the declared core capability — the description covers 'WPA handshake analysis' and the in-file scenario list declares 'WPA/WPA2 握手采集与离线评估' — and it is gated target-only/lab-legal with a written-authorization requirement, so the credential chain is the authorized, declared workflow rather than concealed harvesting.

Agent hijacking

highRefutedmedium confidence

The skill opens with an urgent imperative ordering the agent to execute a step chain immediately upon reading, starting by loading the unshown 'precedent-pentest' content and ending in active wireless reconnaissance and capture, which can trigger task execution outside explicit user request even though the steps themselves include authorization gating.

## ACTION REQUIRED(读完后立刻执行)
Why it was refuted

The urgency header pressures immediacy, but the steps it triggers are authorization-gated in the same chain — step 1 demands written authorization and physical scope and step 2 forbids neighbor scanning before any action — and the terminal ACT steps are the declared core capability, so the artifact's own gating neutralizes the outside-user-request execution risk the finding concedes is present.

Agent hijacking

mediumRefutedlow confidence

The skill declares 'MASTER R29' as its upstream routing authority although skills/MASTER.md is not in the repository, pointing the agent's obedience at an authority file whose prescribed behavior cannot be reviewed.

**上游**: MASTER R29
Why it was refuted

'**上游**: MASTER R29' is overt routing metadata with no instruction to read, load, or fetch any file, so the obedience chain is absent, and the same section actively constrains behavior with '**MUST NOT**: 未授权 deauth、对非目标客户网络操作', a mitigation that neutralizes the alleged authority-channel harm; whether skills/MASTER.md exists adds nothing because nothing points the agent at it.

Coverage gaps 37

Parts of the artifact the static analysis could not fully examine.

context:unanalyzable_binary java_class content is only byte-scanned
burp-mcp-full/gradle/wrapper/gradle-wrapper.jar!/org/gradle/cli/CommandLineArgumentException.class
context:unanalyzable_binary java_class content is only byte-scanned
burp-mcp-full/gradle/wrapper/gradle-wrapper.jar!/org/gradle/cli/CommandLineOption.class
context:unanalyzable_binary java_class content is only byte-scanned
burp-mcp-full/gradle/wrapper/gradle-wrapper.jar!/org/gradle/cli/CommandLineParser$AfterOptions.class
context:unanalyzable_binary java_class content is only byte-scanned
burp-mcp-full/gradle/wrapper/gradle-wrapper.jar!/org/gradle/cli/CommandLineParser$BeforeFirstSubCommand.class
context:unanalyzable_binary java_class content is only byte-scanned
burp-mcp-full/gradle/wrapper/gradle-wrapper.jar!/org/gradle/cli/CommandLineParser$KnownOptionParserState.class
context:unanalyzable_binary java_class content is only byte-scanned
burp-mcp-full/gradle/wrapper/gradle-wrapper.jar!/org/gradle/cli/CommandLineParser$MissingOptionArgState.class
context:unanalyzable_binary java_class content is only byte-scanned
burp-mcp-full/gradle/wrapper/gradle-wrapper.jar!/org/gradle/cli/CommandLineParser$OptionAwareParserState.class
context:unanalyzable_binary java_class content is only byte-scanned
burp-mcp-full/gradle/wrapper/gradle-wrapper.jar!/org/gradle/cli/CommandLineParser$OptionParserState.class
context:unanalyzable_binary java_class content is only byte-scanned
burp-mcp-full/gradle/wrapper/gradle-wrapper.jar!/org/gradle/cli/CommandLineParser$OptionString.class
context:unanalyzable_binary java_class content is only byte-scanned
burp-mcp-full/gradle/wrapper/gradle-wrapper.jar!/org/gradle/cli/CommandLineParser$ParserState.class
context:unanalyzable_binary java_class content is only byte-scanned
burp-mcp-full/gradle/wrapper/gradle-wrapper.jar!/org/gradle/cli/CommandLineParser$UnknownOptionParserState.class
context:unanalyzable_binary java_class content is only byte-scanned
burp-mcp-full/gradle/wrapper/gradle-wrapper.jar!/org/gradle/cli/CommandLineParser.class
context:unanalyzable_binary java_class content is only byte-scanned
burp-mcp-full/gradle/wrapper/gradle-wrapper.jar!/org/gradle/cli/ParsedCommandLine.class
context:unanalyzable_binary java_class content is only byte-scanned
burp-mcp-full/gradle/wrapper/gradle-wrapper.jar!/org/gradle/cli/ParsedCommandLineOption.class
context:unanalyzable_binary java_class content is only byte-scanned
burp-mcp-full/gradle/wrapper/gradle-wrapper.jar!/org/gradle/internal/file/PathTraversalChecker.class
context:unanalyzable_binary java_class content is only byte-scanned
burp-mcp-full/gradle/wrapper/gradle-wrapper.jar!/org/gradle/internal/file/locking/ExclusiveFileAccessManager.class
context:unanalyzable_binary java_class content is only byte-scanned
burp-mcp-full/gradle/wrapper/gradle-wrapper.jar!/org/gradle/util/internal/WrapperDistributionUrlConverter.class
context:unanalyzable_binary java_class content is only byte-scanned
burp-mcp-full/gradle/wrapper/gradle-wrapper.jar!/org/gradle/wrapper/BootstrapMainStarter$1.class
context:unanalyzable_binary java_class content is only byte-scanned
burp-mcp-full/gradle/wrapper/gradle-wrapper.jar!/org/gradle/wrapper/Download$DefaultDownloadProgressListener.class
context:unanalyzable_binary java_class content is only byte-scanned
burp-mcp-full/gradle/wrapper/gradle-wrapper.jar!/org/gradle/wrapper/Download$ProxyAuthenticator.class
context:unanalyzable_binary java_class content is only byte-scanned
burp-mcp-full/gradle/wrapper/gradle-wrapper.jar!/org/gradle/wrapper/Download.class
context:unanalyzable_binary java_class content is only byte-scanned
burp-mcp-full/gradle/wrapper/gradle-wrapper.jar!/org/gradle/wrapper/GradleUserHomeLookup.class
context:unanalyzable_binary java_class content is only byte-scanned
burp-mcp-full/gradle/wrapper/gradle-wrapper.jar!/org/gradle/wrapper/GradleWrapperMain.class
context:unanalyzable_binary java_class content is only byte-scanned
burp-mcp-full/gradle/wrapper/gradle-wrapper.jar!/org/gradle/wrapper/Install$1.class
context:unanalyzable_binary java_class content is only byte-scanned
burp-mcp-full/gradle/wrapper/gradle-wrapper.jar!/org/gradle/wrapper/Install$InstallCheck.class
context:unanalyzable_binary java_class content is only byte-scanned
burp-mcp-full/gradle/wrapper/gradle-wrapper.jar!/org/gradle/wrapper/Install.class
context:unanalyzable_binary java_class content is only byte-scanned
burp-mcp-full/gradle/wrapper/gradle-wrapper.jar!/org/gradle/wrapper/Logger.class
context:unanalyzable_binary java_class content is only byte-scanned
burp-mcp-full/gradle/wrapper/gradle-wrapper.jar!/org/gradle/wrapper/PathAssembler.class
context:unanalyzable_binary java_class content is only byte-scanned
burp-mcp-full/gradle/wrapper/gradle-wrapper.jar!/org/gradle/wrapper/SystemPropertiesHandler.class
context:unanalyzable_binary java_class content is only byte-scanned
burp-mcp-full/gradle/wrapper/gradle-wrapper.jar!/org/gradle/wrapper/WrapperConfiguration.class
context:unanalyzable_binary java_class content is only byte-scanned
burp-mcp-full/gradle/wrapper/gradle-wrapper.jar!/org/gradle/wrapper/WrapperExecutor.class
context:unanalyzable_binary binary content is only byte-scanned
skills/pentest-tools/src-hunter/references/payloader/by-category/web/文件漏洞.md
context:unanalyzable_binary binary content is only byte-scanned
skills/pentest-tools/src-hunter/references/payloader/by-category/web/请求走私.md
context:unanalyzable_binary binary content is only byte-scanned
skills/pentest-tools/src-hunter/references/payloader/waf-bypass.md
context:unanalyzable_binary binary content is only byte-scanned
skills/pentest-tools/src-hunter/references/playbooks/file-upload.md
context:unanalyzable_binary binary content is only byte-scanned
skills/pentest-tools/src-hunter/references/playbooks/http-smuggling.md
context:frontmatter_unparseable while parsing a block mapping
skills/field-journal/2026-05-16_pentest-personalblog-fun-mass-assignment.md