Webapp Testing Checklist

Draft · awaiting review

Agent skill that walks an authorized web application test through the OWASP WSTG checklist and writes a findings report.

For Web and API testingWorks with Claude CodeMaintained AccessITGroup, last push 2026-09-03

SkillA skill is a set of instructions, and sometimes scripts, that your AI client loads when a task needs it. by AccessITGroup · read from the code at d79e594 on 2026-10-21The date we last read the tool’s files. The code after “at” names the exact version (the git commit) we read; a newer version may differ. · Not run yet.Whether we have run the tool in our lab. “Did more than it said” means the run used rights its description does not name; “did no more than it said” means it stayed within them.

Code showsWhat a reading of the code found the tool can do, at the checked version, in the words of the rights table in the record. It is a ceiling, not what the tool did. A right marked unknown has no evidence either way, and that never counts as harmless.

What the code shows, worst first. No run advice yet: the one word needs a read under the full rule.

  1. Level 3. Persistence. After the statement of work and a real-time go-ahead the agent may create a user account in the target application, which is a new user on the target and therefore level 3.

    SKILL.md L233-240

  2. Level 2. Files. The agent writes the requests and responses it sent into ~/wstg-evidence/ in the home directory, outside the working directory.

    SKILL.md L146-148

  3. Level 2. Execution. Report conversion is left to whatever document tooling the environment offers, with no fixed list of programs.

    SKILL.md L174-176

  4. Level 2. Secrets. The agent reads a plain-text file with several test accounts and their passwords from the working directory.

    SKILL.md L43-52

  5. No evidence. Approval. Unknown: no allowed-tools, settings or auto-mode instructions were found, but the search patterns for approvals match one line in SKILL.md, so a zero cannot be written. That never counts as zero.

Before first useSettings for your AI client that limit the tool to the rights its task needs; derived from the code unless marked tested. derived from the code, not tested

  1. Claude Code: permissions.allow: [Read, Grep]; keep Bash, Write and WebFetch on ask, and keep test-credentials.txt and ~/wstg-evidence/ out of synced or shared folders.
Skill · code showsreach 3 · privileged
21223?FilesNetworkExecutionSecretsPersistenceApproval

What the code can reach, 0 to 3 per right; a dashed point means no evidence, never zero. The three readings

Is it for you?

Made for
  • Structures an authorized web application penetration test around the OWASP WSTG methodology and tracks checklist coverage.
  • Turns tester-supplied evidence into a findings report with WSTG-numbered IDs.
  • Asks a diagnostic question per WSTG test and interprets the evidence the tester hands over, including raw Burp/ZAP captures.
Use it when
  • Plan, scope or track a web application pentest against the WSTG checklist Web and API testing
  • Produce a findings report with WSTG IDs in Markdown, Word (.docx) or PDF Web and API testing
  • Assess tester-supplied request/response evidence against a WSTG test's criteria and record the verdict Finding validation
  • Walk an API-only target through API Testing plus the API-relevant tests from Authentication, Session, Input Validation and Business Logic Web and API testing
Not for
  • The author rules out payloads, injection strings, exploit attempts and scanners; benign traffic is allowed and the tester does the actual security testing.
  • Meant as a workflow aid for testers who are already authorized, not as a safeguard against unauthorized use.
  • Covers dynamic/black-box testing only; the report recommends a separate source code security review when that is in the SOW and source access is given.
You need
  • Claude Code, with the skill installed from the AITG-hub marketplace or directly
  • Written authorization to test the specific target, such as a signed SOW or pentest agreement
  • Named engagement, in-scope hostnames/apps/IP ranges, testing window and rules of engagement with points of contact

+4 more

Details: You need

Install

linked, not distributed: the Field Guide does not bundle agents or MCP servers

Upstream

/plugin marketplace add AccessITGroup/claude-plugins /plugin install webapp-testing-checklist@AITG-hub
Quoted from README.md#L60-64 at the pinned commit; a quotation, not a command to copy.

Run it with least privilege

claude code
permissions.allow: [Read, Grep]; keep Bash, Write and WebFetch on ask, and keep test-credentials.txt and ~/wstg-evidence/ out of synced or shared folders
note
derived from the code, not tested in the lab

derived, not tested: proposed from the code analysis

End of the card. Below: what we checked, and what we found.MarkdownJSON

The record · every value with its evidence

What we checked, and what we found.

Profile read at commit d79e594 on 2026-10-25: 52 facts, each with its quoted line confirmed by script; not installed, not run in the lab.Each fact was read from the tool's files at the checked version and links to the line it comes from. Where nothing was found, the page says so instead of assuming “none”.

Selected by criteria v0.1, approved by Ilja Schlak: awaiting approval. Each section opens with the answer; the file and line of every fact follow it.

What it can change the capability groups as upstream groups them, worst first

Changes, sends data out, according to the capabilities read.

What it can do, by group
GroupWhat it coversEffectOn by default
Backseat mode benign trafficSends ordinary application traffic itself, such as viewing pages, following links and submitting forms with non-malicious input, when it helps gather checklist context. SKILL.md L10-13, SKILL.md#L10-13 at the checked commitreads, sends data outyes
Repeated-attempt testsSends repeated requests such as several failed logins for lockout testing after telling the tester the count and target and getting explicit go-ahead each time. SKILL.md L262-268, SKILL.md#L262-268 at the checked commitsends data outno, optional
Evidence directory conventionKeeps raw request/response captures and screenshots in ~/wstg-evidence/, split into fail-evidence/ and pass-evidence/ with one subfolder per WSTG test ID. SKILL.md L100-106, SKILL.md#L100-106 at the checked commitreads, changesyes
Self-tested findingsWrites the real requests and responses of the skill's own benign checks, such as fingerprinting, header checks and tester-directed forced-browsing/IDOR checks, to evidence.txt. SKILL.md L140-148, SKILL.md#L140-148 at the checked commitreads, changesyes
Account creation (gated)Creates a test account in the target application only after the tester confirms the SOW allows it and gives a real-time go-ahead for that account. SKILL.md L233-240, SKILL.md#L233-240 at the checked commitchangesno, optional
Step 4 — ReportAsks for Markdown, Word (.docx) and/or PDF and writes the report with whatever document-generation capability the environment has. SKILL.md L172-176, SKILL.md#L172-176 at the checked commitchangesyes
Test credentials fileReads the test accounts once from a plain-text file in the working directory (suggested name test-credentials.txt), then refers to them by label only in the session and report. SKILL.md L44-53, SKILL.md#L44-53 at the checked commitreadsyes
Step 3 — Walk the checklistLoads one references/ category file at a time, states each test ID and what it verifies, and takes evidence or a direct Pass/Fail/N/A verdict from the tester. SKILL.md L81-90, SKILL.md#L81-90 at the checked commitreadsyes
Step 1 — Authorization gateBefore anything else, has the tester confirm written authorization for the target (signed SOW, pentest agreement or equivalent); stops and explains what is missing. SKILL.md L21-26, SKILL.md#L21-26 at the checked commitguides only: asks, explains or decides, acts on nothing itselfyes
Step 2 — Scope intakeAsks whether the app is server-rendered, API-only or an SPA with a backend API, which decides which of the 12 WSTG categories in references/ apply. SKILL.md L65-74, SKILL.md#L65-74 at the checked commitguides only: asks, explains or decides, acts on nothing itselfyes

Where it sends data and who can connect to it

One outside connection found in the files read: Target web application.

Listens for no connections in the files read.

Other connections not ruled out: read in the documentation and the cited code, not searched in full.

How it runs generated from the files read, never drawn by hand

The client's model loads each in-scope WSTG category file from references/ one at a time as the walk reaches it, instead of all 12 up front. SKILL.md L81-82, SKILL.md#L81-82 at the checked commit

Your AI client

Parts that live inside the AI client: skill instructions, client configuration.

Your machine

Programs and files on the machine where you run the tool.

The six rights, read three waysThe six rights a tool can take (files, network, execution, secrets, persistence, approval), each read three ways and rated 0 to 3. 0 never means safe; “?” means no evidence. what the author says, what the code shows, what one lab run showed

Level 3 (privileged), read from the code. Not run in our lab yet.

Privilege Reach: six rights, each read three ways. Levels 0 to 3; ? means no evidence.
RightAuthor sayswhat the author saysCode showswhat static analysis findsRun showedwhat one lab run showed
Fileswhere does it read and write?
Networkwhom does it talk to?
Executionwhat does it run?
Secretswhich credentials does it touch?
Persistencewhat survives the run?
Approvaldoes it ask before acting?

0 contained · 1 scoped · 2 open · 3 privileged · ? no evidence · 0 never means safe · zero means: none declared (Declared), none found (Code), none observed (Lab)

Author says: the evidence

  • Files · 2CHANGELOG.md L30-31 the author states that findings from the skill's own traffic are saved under ~/wstg-evidence/ in the home directory
  • Network · 1README.md L7-9 the author declares only ordinary benign traffic to the application under test, with no payloads or scanners
  • Execution · 1README.md L88-94 the author names local document converters such as pandoc or python-docx for the Word report
  • Secrets · 2README.md L33-37 the author declares a plain-text file with test credentials in the working directory
  • Persistence · 3README.md L39-42 the author declares that the skill may create a test account in the target application once the statement of work allows it and the tester confirms, which is a new user on the target

Code shows: the evidence

  • Files · 2SKILL.md L146-148 the agent writes the requests and responses it sent into ~/wstg-evidence/ in the home directory, outside the working directory
  • Network · 1SKILL.md L140-142 the agent itself sends benign requests such as fingerprinting, header checks and forced-browsing checks to the target confirmed at the authorization gate
  • Execution · 2SKILL.md L174-176 report conversion is left to whatever document tooling the environment offers, with no fixed list of programs
  • Secrets · 2SKILL.md L43-52 the agent reads a plain-text file with several test accounts and their passwords from the working directory
  • Persistence · 3SKILL.md L233-240 after the statement of work and a real-time go-ahead the agent may create a user account in the target application, which is a new user on the target and therefore level 3
  • Approval · ?no evidence: no allowed-tools, settings or auto-mode instructions were found, but the search patterns for approvals match one line in SKILL.md, so a zero cannot be written

Valid for commit d79e594 · checked 2026-10-21 · method reach-v0.1The published rules we follow: how tools are selected, how their rights are read and rated, how a lab run is done.

Limits and risks what the files say that fits nowhere else, and what this reading does not cover

What you need and what the documented installer does

What you need
KindWhat
AI clientClaude Code
RuntimeClaude Code, with the skill installed from the AITG-hub marketplace or directly. README.md L60, README.md#L60 at the checked commit
AuthorisationWritten authorization to test the specific target, such as a signed SOW or pentest agreement. SKILL.md L26-28, SKILL.md#L26-28 at the checked commit
AuthorisationNamed engagement, in-scope hostnames/apps/IP ranges, testing window and rules of engagement with points of contact. SKILL.md L29-34, SKILL.md#L29-34 at the checked commit
CredentialsTest accounts in a plain-text file in the working directory, one per line with label, role, username and password. SKILL.md L44-48, SKILL.md#L44-48 at the checked commit
Other toolsThe tester's own testing tools, such as Burp Suite, ZAP, curl or browser devtools, for the actual security testing. README.md L10, README.md#L10 at the checked commit
Other toolsFor .docx reports with screenshots, the author reports pandoc or python-docx, where available, as more reliable than OS-builtin converters. README.md L93-94, README.md#L93-94 at the checked commit
Other toolsScreenshots of self-tested findings need a visual or browser-automation capability in the environment, not just a CLI HTTP client. SKILL.md L153-155, SKILL.md#L153-155 at the checked commit

What the documented installer does

Lab runs one run is an observation, not a benchmark

No lab run yet. Once we run it, this section shows what it did and whether it did more than it said.

About this entry

Type
Skill · Offensive · works with Claude Code
Source
github.com/AccessITGroup/webapp-testing-checklist · MIT AND CC-BY-SA-4.0 · manifest SKILL.md
Version readThe install command installs exactly the version we checked (the pinned git commit), so what you get is what the card describes.
d79e594 · last upstream push 2026-09-03 · no release since the pinned commit
In the catalog
listed · added 2026-10-21 · last checked 2026-10-21 · next check 2027-01-19 · fresh
ScannersA scan of the tool's files with a scanner for malicious patterns. “Pending” means it has not run yet.
cisco-skill-scanner: not run, pending
Changes
none since the entry was added on 2026-10-21
MethodThe published rules we follow: how tools are selected, how their rights are read and rated, how a lab run is done.
v0.1 · reach-v0.1 · badge · the rules

Disagree?

Dispute a value with evidence (file, line, commit): write to hello@readbeforerun.ai. A dispute is checked against the pinned commit; a changed value is logged under Changes.

How this entry was checked, and how to cite it

Selected by the published criteria (method v0.1). What the author says comes only from author statements; what the code shows comes from the code and manifests at commit d79e594, each with one evidence line. A “?” means no evidence, never zero; zero never means safe.

The descriptive profile (what it does, can do, how it runs, what it needs) was read through the same isolated pipeline at commit d79e594 on 2026-10-25: one reader proposed every fact with a quoted line, a script confirmed each quoted line (52 of 52), and a second reader checked each sentence against its lines. Where nothing was found, the page says so instead of assuming “none”.

Known issues and limits: remote server-side behaviour stays “?”; the lab is not your production; static analysis can miss runtime behaviour.

Placement, badges or fast tracks are not for sale. The author is employed by an IT consultancy; the company has no influence on selection, execution or result.

Cite this:

Ilja Schlak. "Webapp Testing Checklist". Agentic Security Field Guide, checked 2026-10-21, method reach-v0.1. https://readbeforerun.ai/catalog/accessitgroup-webapp-testing-checklist/

The method · the rules

For maintainers

Badge for your README (reach 3 · not run yet):

[![reach 3 · not run yet](https://readbeforerun.ai/badge/accessitgroup-webapp-testing-checklist.svg)](https://readbeforerun.ai/catalog/accessitgroup-webapp-testing-checklist/)

Dispute a value with evidence (file, line, commit): write to hello@readbeforerun.ai. A dispute is checked against the pinned commit; a changed value is logged under Changes.

Claim the entry with a fieldguide.yaml in your repository: planned.

Other tools for the same task

Task: Web and API testing. The task pages compare every tool side by side.
  1. 222222
    hackingBuddyGPTAgent · by ipa-lab · reach 2, openDraft · awaiting review

    Open-source framework for building LLM-driven security-testing agents, with use cases for Linux privilege escalation and web API testing.

    Can write outside the project · talk to any host · run shell commands or eval · +3 more · not run yet · checked 2026-10-19

    Code shows
  2. 222123
    ShannonAgent · by KeygraphHQ · reach 3, privilegedDraft · awaiting review

    Autonomous white-box AI penetration tester for web apps and APIs; reports only vulnerabilities it proves by exploitation.

    Can bypass approval · write outside the project · talk to any host · +2 more · not run yet · checked 2026-10-19

    Code shows
  3. 233232
    StrixAgent · by usestrix · reach 3, privilegedDraft · awaiting review

    Autonomous AI penetration-testing agents that run offensive tools in a container sandbox and validate findings with a proof of concept.

    Can tunnel or exfiltrate · use sudo or the docker socket · add autostart, users or keys · +3 more · not run yet · checked 2026-10-19

    Code shows