SKILLEMALL.ai

CC security-pen-testing

Use for an authorized penetration test, vulnerability scan or OWASP Top 10 check of an app or API. Scans with vulnerability_scanner.py, audits dependencies with dependency_auditor.py and writes the report with pentest_report_generator.py.

alirezarezvani/claude-skills Agent Skills author: alirezarezvani MIT 7 files · 3 scripts body ≈ 3 430 tokens Open the sourcegithub.com↗ analyzed 22 h ago

Use for an authorized penetration test, vulnerability scan or OWASP Top 10 check of an app or API.

As a process C 50/100 · Has gaps — References files that are not bundled: ../senior-secops/SKILL.md, ../senior-security/SKILL.md, ../code-reviewer/SKILL.md

IntegrationAWSSecurityData and analyticstype and topics are labelled automatically from the skill text
JSON
Technical rating
C
83/100
safety, quality, tests
Safety 60%
86
Quality 40%
79
Run on models
none yet
Process rating
C
50/100
Has gaps
References files that are not bundled: ../senior-secops/SKILL.md, ../senior-security/SKILL.md, ../code-reviewer/SKILL.md
Tools and files w 18
0
Result and completion w 14
0
When it triggers w 12
20
the three weakest of ten parameters · all ten

How to improve

  1. The text references files that are not there: add them or drop the references.
For the model run — optional
  • Your own cases (evals/evals.json, 4–6 real requests with expected answers): the full check would then run those instead of a model-drafted suite.
  • A spec.yaml with trigger phrases and assertions — a behaviour contract for CI; `skilltest init` writes a template.

Guard findings · 14

✓ No critical or high findings

Medium and low: 14
  • low Obfuscation obf-hex-escape-chain references/attack_patterns.md:30
    Escaped/char-code string obfuscation (documentation of a security skill)
    <script>alert(String.fromCharCode(100,111,99,117,109,101,110,116,46,100,111,109,97,105,110))</script>
    security skill
  • low Secrets in code secret-high-entropy-token references/attack_patterns.md:202
    High-entropy token-like string (may be an id, hash or a credential) (quoted — discussed, not commanded)
    # Step 1: curl -H "X-aw…ds: 21600" -X PUT http://169.254.169.254/latest/api/token
    quoted
  • low Risky intent intent-offensive-security references/owasp_top_10_checklist.md:34
    Offensive-security / dual-use content (legitimate for authorised testing; review intended use)
    | 1 | Horizontal privilege escalation | Change user ID in API requests (`/users/123` to `/users/124`) | 403 Forbidden |
  • low Risky intent intent-offensive-security references/owasp_top_10_checklist.md:35
    Offensive-security / dual-use content (legitimate for authorised testing; review intended use)
    | 2 | Vertical privilege escalation | Access admin endpoints with regular user token | 403 Forbidden |
  • low Risky intent intent-offensive-security references/responsible_disclosure.md:214
    Offensive-security / dual-use content (legitimate for authorised testing; review intended use) (detector / deny-list definition)
    1. **Written authorization is required.** For external testing, obtain a signed rules-of-engagement document or scope-of-work. For bug bounty programs, the program's terms of service serve as authoriz
    detector
  • low Risky intent intent-offensive-security references/responsible_disclosure.md:218
    Offensive-security / dual-use content (legitimate for authorised testing; review intended use)
    3. **Stay within scope.** If the bug bounty program says "*.example.com only," do not test anything outside that scope. If your pen test contract covers the web application, do not pivot to internal n
  • low Risky intent intent-offensive-security references/responsible_disclosure.md:244
    Offensive-security / dual-use content (legitimate for authorised testing; review intended use)
    ## Bug Bounty Program Integration
  • low Risky intent intent-offensive-security references/responsible_disclosure.md:249
    Offensive-security / dual-use content (legitimate for authorised testing; review intended use)
    2. **Bug bounty platforms:** HackerOne, Bugcrowd, Intigriti, YesWeHack
  • low Risky intent intent-offensive-security references/responsible_disclosure.md:252
    Offensive-security / dual-use content (legitimate for authorised testing; review intended use)
    ### Bug Bounty Best Practices
  • low Risky intent intent-offensive-security SKILL.md:3
    Offensive-security / dual-use content (legitimate for authorised testing; review intended use) (quoted — discussed, not commanded)
    description: "Use for an authorized penetration test, vulnerability scan or OWASP Top 10 check of an app or API. Scans with vulnerability_scanner.py, audits dependencies with dependency_auditor.py and
    quoted
  • low Risky intent intent-offensive-security SKILL.md:6
    Offensive-security / dual-use content (legitimate for authorised testing; review intended use)
    # Security Penetration Testing
  • low Risky intent intent-offensive-security SKILL.md:8
    Offensive-security / dual-use content (legitimate for authorised testing; review intended use)
    Hands-on offensive security testing skill for finding vulnerabilities before attackers do. This is NOT compliance checking (see senior-secops) or security policy writing (see senior-security) — this i
  • low Risky intent intent-offensive-security SKILL.md:34
    Offensive-security / dual-use content (legitimate for authorised testing; review intended use)
    This skill provides the methodology, checklists, and automation for **offensive security testing** — actively probing systems to discover exploitable vulnerabilities. It covers web applications, APIs,
  • low Risky intent intent-offensive-security SKILL.md:226
    Offensive-security / dual-use content (legitimate for authorised testing; review intended use)
    See [responsible_disclosure.md](references/responsible_disclosure.md) for full disclosure timelines (standard 90-day, accelerated 30-day, extended 120-day), communication templates, legal consideratio

Files scanned: 7. Evidence is masked. Grey chips explain why severity was lowered.

Against the Agent Skills spec

  • warning missing-ref reference to a missing file: ../senior-secops/SKILL.md
  • warning missing-ref reference to a missing file: ../senior-security/SKILL.md
  • warning missing-ref reference to a missing file: ../code-reviewer/SKILL.md

Process rating: all ten parameters 50/100

Will not run. References files that are not bundled: ../senior-secops/SKILL.md, ../senior-security/SKILL.md, ../code-reviewer/SKILL.md
  • 0Tools and files. 3 referenced file(s) missing: ../senior-secops/SKILL.md, ../senior-security/SKILL.md, ../code-reviewer/SKILL.md
  • 0Result and completion. Does not say what the result is
  • 20When it triggers. No condition that starts the skill
  • 50Failures and branches. 0 branches, has a failure section
  • 70Inputs and preconditions. Inputs and preconditions are listed
  • 100Steps. 57 steps
  • 100Consistency. Name and required fields are in place
  • 100Execution cost. Instruction body is 3430 tokens
  • 100Running it twice. Mutating operations check current state
  • 100Progress reporting. Reports progress
  • medium Safety rules and hard prohibitions inside a skill: they belong in the system prompt, here they protect nothing
  • low 14 top-level sections: this looks like several domains in one skill

Everything here is measured from the skill text rather than judged by a model, so the numbers are checkable. A parameter weighs more when it is a more common reason for the process to stall.

Quality signals

  • +5Description has no quoted example phrases that should trigger the skill
  • +4Description does not say when NOT to use the skill (false activations)
  • +3Output format is not stated: the model decides each time
  • +1No license
  • +2Single-language instructions
  • +3Description length 238: enough signal without eating the budget
  • +4Structure: 27 headings
  • +3Step-by-step instructions: 57 items
  • +4Has examples (8 code blocks)
  • +4Reference files are cited in the instructions (3 of 3)
  • +3All 3 scripts are documented

Quality base 70; lint remarks subtract, signals add up to 100. Result: 79.