Skip to content
Back to skills

Target Recon

ASecurity

Target discovery methodology for finding high-quality npm/PyPI/GitHub packages to audit for vulnerabilities, with evaluation criteria and search strategies.

  • 46 stars
  • 0 votes
  • 0 copies
  • 2 views
  • Added May 26, 2026
securityjavascriptpythonrustgojavabashnextjsexpressdjangorails

Works with

  • cli

Security analysis

A100/100

Pro scans all 3 files and shows the line behind each finding

Scanned May 27, 2026

npx -y skills add ByamB4/find-cve-agent --skill target-recon --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Target Recon?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Target Recon
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/byamb4-target-recon/badge)](https://www.skillsdirectory.com/skills/byamb4-target-recon)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: target-recon
description: "Target discovery methodology for finding high-quality npm/PyPI/GitHub packages to audit for vulnerabilities, with evaluation criteria and search strategies."
metadata:
  filePattern:
    - "**/package.json"
    - "**/requirements.txt"
    - "**/go.mod"
  bashPattern:
    - "npm search"
    - "gh search repos"
    - "pip search"
  priority: 70
---

# Target Recon -- Finding High-Quality Audit Targets

## When to Use

Starting a new research cycle. Need fresh targets with high CVE potential but low existing researcher attention.

## Target Sweet Spot

The ideal target is a package that:
- Is widely used (>100K weekly downloads on npm)
- Handles untrusted input (parsing, validation, file processing)
- Is small enough to audit in a day (< 10K lines of code)
- Has few existing CVEs (< 5)
- Is actively maintained (last commit within 6 months)
- Has 500-15K GitHub stars

## Avoid

- **Mega-packages** (lodash, axios, moment, express, django, rails) -- too many researchers
- **Full frameworks** (Next.js, Nuxt, Laravel) -- too large, too audited
- **>20K stars AND >10 prior CVEs** -- over-audited territory
- **Abandoned packages** (no commits in 2+ years) -- CVE may not be assigned
- **Alpha/beta packages** -- maintainer may not issue CVE

## Search Strategies

### npm Search
```bash
# Search by category
npm search xml parser
npm search csv parse
npm search template engine
npm search file upload
npm search schema validator

# Check weekly downloads on npmjs.com
# Look for packages with 100K-10M weekly downloads
```

### GitHub Search
```bash
# Search repos by language and star count
gh search repos "xml parser" --language javascript --stars 500..15000
gh search repos "yaml" --language python --stars 500..10000
gh search repos "template engine" --language javascript --stars 500..15000
gh search repos "archive extract" --language go --stars 500..10000
```

### grep.app (Cross-Repo Code Search)
Search for vulnerable patterns across many repos:
```
https://grep.app/search?q=new%20Function&regexp=false&filter[lang][0]=JavaScript
https://grep.app/search?q=eval%28&regexp=false&filter[lang][0]=JavaScript
```

### Libraries.io
Check dependency counts -- packages depended on by many other packages have higher impact.

## Category-Based Targeting

### Highest Yield Categories

| Category | Vulnerability Classes | Example Packages |
|----------|----------------------|------------------|
| Parsing (XML/CSV/YAML) | Entity expansion, ReDoS, clobbering | fast-xml-parser, csv-parse, js-yaml |
| Validation/Schema | Code injection, ReDoS, proto pollution | ajv, joi, fastest-validator |
| Template Engines | SSTI, code injection | ejs, nunjucks, handlebars, pug |
| Archive/Compression | Zip Slip, decompression bomb, path traversal | adm-zip, decompress, fflate |
| File Handling | Path traversal, symlink attacks | express-fileupload, formidable |
| Deep Merge/Clone | Proto pollution, recursion DoS | deepmerge, rfdc, klona |
| Expression Evaluators | Sandbox escape, code injection | simpleeval, expr-eval, filtrex |
| HTTP Clients | SSRF, header injection, auth leak | got, superagent, needle |
| Serialization | Clobbering, code injection, recursion | flatted, superjson, msgpackr |
| URL/Path Utilities | SSRF bypass, path traversal | url-parse, normalize-url |

## Evaluation Process

For each candidate:

1. **Check Registry**: Is it already in REGISTRY.md?
2. **Check NVD**: Search for existing CVEs
3. **Check GitHub Advisories**: Look at security tab
4. **Read README**: Does it warn about untrusted input?
5. **Check SECURITY.md**: Does the project accept security reports?
6. **Read recent CHANGELOG**: Any "security fix" entries? (incomplete patches are goldmines)
7. **Check HackerOne/bug bounty**: Bonus, not required
8. **Estimate attack surface**: What untrusted input does it process?
9. **Match to vuln classes**: Which skills apply?

## Brief Template

Write a brief for each approved target:

```markdown
# Target Brief: [package-name]

- **GitHub**: [URL]
- **Stars**: [count]
- **Weekly Downloads**: [count]
- **Last Commit**: [date]
- **Language**: [JS/Python/Go/etc.]

## Attack Surface
- [What untrusted input does it process?]

## Existing CVEs
- [none / list with CVE IDs]

## Bug Bounty
- [yes/no + link]

## Top 3 Vectors
1. [Most likely vulnerability class + why]
2. [Second most likely]
3. [Third most likely]

## Why Promising
[1-2 sentences on why this target is worth investigating]
```

## References

- [Parallel Scanning](references/parallel-scanning.md) -- Batch evaluation methodology
- [Search Queries](references/search-queries.md) -- Pre-built search queries by category

Files in this skill

  • SKILL.md4.6 KB
  • references/parallel-scanning.md1.5 KB
  • references/search-queries.md2.4 KB

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.