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

email-security

skill:zhaoxuya520/reverse-skill#email-security

Use for authorized email security review including phishing analysis, header authentication (SPF/DKIM/DMARC), BEC patterns, and mailbox token abuse research.

Verdict
Suspicious

Risky behavior the analysis could not rule out.

Analyzed Oct 27, 2026, 21:46 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/email-security:skills/email-security/SKILL.md:41:HIJACK

Security findings 1

Agent hijacking

mediumContextual risklow confidence

The email-security skill's reference section directs the agent to load three sibling skills (../malware-analysis/, ../attack-chain/, ../windows-ad/) whose SKILL.md instruction surfaces are outside every consumed skill/plugin surface, so the agent would apply instruction content at runtime that cannot be reviewed.

`../malware-analysis/` `../attack-chain/`(钓鱼阶段) `../windows-ad/`(令牌)
vector:instruction
Counter-argument considered

Strongest case against: the bullet reads as benign cross-referencing between sibling skills and the annotations tie it to declared topics (phishing stage, tokens). Strongest case for: it is a conditionally routed directive ('phishing stage' → attack-chain, 'token' → windows-ad) in the skill body that sends the agent to instruction surfaces present in no consumed unit, so whatever those SKILL.md files contain is applied at runtime unreviewed; no carve-out covers cross-skill instruction loading and the declared description declares no such chaining. The directive is proven by the cited unit, so the finding stands.

Open questions 4

What the analysis could not settle from the code alone.

The routing-context section names an upstream authority 'MASTER R36'; is there a master routing/authority document in the repository that this skill directs the agent to defer to, and does it contain directives beyond the declared email-security task?
Agent hijacking
The routing context cites an upstream 'MASTER R36' whose content and path are not shown in this batch; confirm that this upstream reference does not carry additional instructions or behavior beyond the declared email-security scope.
Lines 1-4 of SKILL.md are delivered as a decoded unit, i.e. text recovered from an encoded or hidden channel; the recovered frontmatter matches the declared description and is benign, but the encoding channel itself is unexplained and could coexist with additional hidden content.
The workflow checklist (lines 22-31) references coordinating with a separate 'malware-analysis' skill for URL sandboxing and attachment static analysis; whether that referenced skill introduces executable behavior is not shown in this pass.
Code execution

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