CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

argus

Argus — the all-seeing scanner suite. Six automated scanners for high-value web + LLM bug classes — CORS misconfiguration (origin reflection / null / credentialed read), CRLF & host-header injection, NoSQL injection (operator auth-bypass / $where blind), JWT attacks (alg:none / RS256→HS256 confusion / secret crack), out-of-band confirmation of blind SSRF/XXE/SQLi/RCE/Log4Shell via interactsh, and an LLM red-team corpus (prompt-injection / jailbreak / system-prompt leak / exfil / indirect injection). Use when a target exposes a JSON API, a login endpoint, JWT auth, a parameter that might reach the server, a chatbot/agent, or any endpoint suspected of a blind/out-of-band bug.

76

Quality

96%

Does it follow best practices?

Run evals on this skill

Adds up to 20 points to the overall score

View guide
SecuritybySnyk

Passed

No findings from the security scan

SKILL.md
Quality
Evals
Security

Quality

Content

96%Weight 40%Scale 1-5

Reviews the quality of instructions and guidance provided to agents. Good implementation is clear, handles edge cases, and produces reliable results.

A dense, high-signal scanner-suite overview: executable commands with flags for all six tools, quantified detection thresholds, a signal-to-tool routing table, and explicit confirmation steps (baseline diffing, token replay, OOB callback correlation). Its single structural weakness is that the skill bundle contains only SKILL.md — the referenced scripts and payload corpora live outside it with repo-relative paths, so navigation depends on the parent project layout.

Suggestions

Ship the scanner scripts inside the skill (e.g., scripts/) or state the expected repo root once, so paths like bughunter/tools/cors_scanner.py resolve unambiguously.

Move the OOB payload catalog and LLM red-team corpus details into a references/ file (e.g., references/payloads.md) linked from the relevant sections, keeping SKILL.md a pure routing/usage overview.

DimensionReasoningScore

Conciseness

The body is command-first and assumes expertise: no space is spent explaining what CORS, JWT, or XXE are — it jumps straight to invocations like `bughunter/tools/crlf_scanner.py "https://target.com/r?u=x" --host-header` and findings/severity ("flags a finding when status flips 401→200, body length jumps >25%"). The only trimmable token is the two-line naming lore blockquote, which still conveys scope. Matches anchor 5 ("lean and efficient; every token earns its place"); anchor 4 would require noticeable over-explanation, which is absent.

5 / 5

Actionability

Every tool ships a copy-paste-ready invocation with flags and realistic placeholders, e.g. `--login https://t/api/login --user-field email --pass-field password`, `--confuse --public-key jwks_pub.pem --set role=admin`, and the llm-redteam template with `--response-path choices.0.message.content`. Detection criteria are quantified (delay ≥3.5 s, body-length >25%). Matches anchor 5 ("fully executable; specific examples cover the common cases").

5 / 5

Workflow Clarity

Sequencing and validation are explicit: a routing table maps target signals to tools; nosqli sends "a wrong-credential baseline first" before flagging flips; JWT steps end with "Replay the forged token against an authed endpoint — acceptance = auth bypass / privesc"; and /oob is a numbered 3-step listen → fire → correlate loop with "acceptance = proof" framing ("without OOB you cannot *prove* blind SSRF..."). These are real validation checkpoints, so the batch-operation cap (score ≤3 without validation) does not apply; matches anchor 5's explicit validation and feedback loop.

5 / 5

Progressive Disclosure

The single file is well-sectioned (routing table, one section per tool, CHAINS) and cross-references are one level deep and clearly signaled ([takeover](../../commands/takeover.md), [web2-vuln-classes §11](../web2-vuln-classes/SKILL.md)). However, no bundle files exist (no references/, scripts/, assets/): the scanner scripts live under `bughunter/tools/` outside the skill, tool paths assume an unstated repo root, and material that could live in reference files (the LLM payload corpus, OOB payload catalog) is only implied via tool output. Good structure with minor organization gaps — anchor 4; anchor 5 would require well-signaled in-bundle references or a genuinely self-contained split.

4 / 5

Total

19

/

20

Passed

Description

96%Weight 40%Scale 1-5

Based on the skill's description, can an agent find and select it at the right time? Clear, specific descriptions lead to better discovery.

An unusually dense, well-structured description: it names every scanner and its concrete attack variants, uses third person, and closes with an explicit multi-condition 'Use when' clause covering both web and LLM surfaces. The only weakness is that a couple of trigger phrases ("a parameter that might reach the server") are broad enough to invite overlap with general web-scanning skills.

Suggestions

Tighten the broad trigger "a parameter that might reach the server" to concrete injection surfaces (e.g., "a query/body parameter reaching a database or template") to reduce overlap with generic injection-scanner skills.

DimensionReasoningScore

Specificity

The description enumerates all six scanners with concrete sub-techniques, not generic claims: "CORS misconfiguration (origin reflection / null / credentialed read)", "JWT attacks (alg:none / RS256→HS256 confusion / secret crack)", "out-of-band confirmation of blind SSRF/XXE/SQLi/RCE/Log4Shell via interactsh", and "an LLM red-team corpus (prompt-injection / jailbreak / system-prompt leak / exfil / indirect injection)". This matches the anchor "lists multiple specific concrete actions; comprehensive coverage"; the 4 anchor ("minor gaps in coverage") is a worse fit since every tool and its main attack variants are named.

5 / 5

Completeness

Both "what" and "when" are explicit: the first sentences state what the suite does, and "Use when a target exposes a JSON API, a login endpoint, JWT auth, a parameter that might reach the server, a chatbot/agent, or any endpoint suspected of a blind/out-of-band bug" gives concrete trigger phrases. This is the anchor-5 pattern; a 4 would require the 'when' to be less explicit, which it is not.

5 / 5

Trigger Term Quality

Trigger-relevant natural terms are comprehensive for the security-testing audience: "JSON API", "login endpoint", "JWT auth", "chatbot/agent", plus class names users would actually say — CORS, CRLF, NoSQL injection, SSRF, XXE, prompt injection, jailbreak. Matches the anchor "comprehensive coverage of natural terms including synonyms"; score 4 ("a few natural terms missing") would understate coverage of both web and LLM phrasings.

5 / 5

Distinctiveness Conflict Risk

The niche is clear (six named bug-class scanners with an OOB-confirmation emphasis), but the trigger "a parameter that might reach the server" is broad and could overlap with generic injection-scanning skills, and "all-seeing scanner suite" positions it as a catch-all. Mostly distinct with minor overlap risk — anchor 4 rather than 5, whose bar is "minimal conflict risk" with fully distinct triggers.

4 / 5

Total

19

/

20

Passed

Validation

93%

Checks the skill against the spec for correct structure and formatting. All validation checks must pass before discovery and implementation can be scored.

Validation — 15 / 16 Passed

Validation for skill structure

CriteriaDescriptionResult

relative_links

Relative link issues: 4 suspicious

Warning

Total

15

/

16

Passed

Repository

Awarexone/Agentic-Bug-Hunter

Path

skills/argus/SKILL.md

Reviewed

Table of Contents

Is this your skill?

If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.