agentsclimarketplace

Analyzing webshells

Skill meltedinhex/analyst-ai-pack/skills/analyzing-webshells

Analyzes suspected webshells (PHP, ASPX/ASP, JSP) by detecting dynamic-execution sinks, input-to-sink data flow, and common encoder/obfuscation chains, then decoding obvious layers to reveal the command interface. Activates for requests to analyze a webshell, identify a PHP/ASPX/JSP backdoor, or deobfuscate server-side malicious scripts.From its SKILL.md

Install
npx -y skills add meltedinhex/analyst-ai-pack --skill analyzing-webshells

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

One thing to look at

  • 21 stars21 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.

What its file declares

Copied from the file, not written here

The file declares its own license as Apache-2.0. That is the author’s claim about this one file, and it is not the same thing as the license GitHub reports for the repository, which is listed with the other numbers below.

SKILL.md

2.8 KB, 486 tokens by cl100k_base, as published. Nobody here has run it

Analyzing Webshells

When to Use

  • You found a suspicious server-side script (.php, .aspx, .jsp, .asp) and need to confirm it is a webshell and understand its command interface.
  • You are triaging a web-server compromise and want to classify dropped scripts.

Do not use a live web server to execute the script to "test" it — that runs attacker code. Analyze the source statically.

Prerequisites

  • The suspect script file(s), read inertly.

Safety & Handling

  • Read the file statically; never deploy or request it on a live server. Defang any URLs.

Workflow

Step 1: Detect execution sinks and input flow

python scripts/analyst.py scan shell.php

Flags dynamic-execution sinks (eval, assert, system, exec, passthru, Runtime.exec, ASPX eval()/Process.Start) and whether request input ($_GET/$_POST/Request) reaches them.

Step 2: Identify obfuscation/encoder chains

Detects base64_decode, gzinflate, str_rot13, eval(chr(...)), hex \x strings, and FromBase64String chains commonly wrapping the payload.

Step 3: Decode obvious layers

Apply base64/rot13/gzinflate where present to reveal the inner command interface (best-effort, non-executing).

Step 4: Classify and report

Note the language, the password/parameter gate (if any), and capabilities (file manager, command exec, SQL, upload); defang IOCs.

Validation

  • A flagged file pairs an execution sink with attacker-controlled input.
  • Encoder chains are identified and, where safe, decoded statically.
  • Capability classification is backed by concrete code evidence.

Pitfalls

  • Legitimate admin tools that also use eval/system — corroborate with input flow.
  • Multi-stage shells that fetch the real logic remotely.
  • Deeply nested or runtime-built obfuscation that static decode only partly unwinds.

References

What ships with it: 3 files

5.1 KB alongside SKILL.md, 1 of them executable

references/

scripts/

Keep looking

Skills are one crate of 325,949. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.