技能创建器
skill-creator
创建、改进和评估自定义技能,把专业流程转化为可重复使用的 AI 能力。
time-aware-dependency-cve-scanner【数据与研究】Scan repositories for newly disclosed CVEs in dependencies after a specific cutoff date. Takes a repository path, cutoff date (YYYY-MM-DD), and optional parameters for transitive dependencies. Parses dependency manifests (package.json, pom.xml, requirements.txt, go.mod, Cargo.toml) and lockfiles to extract exact versions. Queries vulnerability databa…
独立 GitHub 快照 · 自动分类 · 以原作者文档为准
Scan repositories for newly disclosed CVEs affecting dependencies after a specific cutoff date. This skill helps track when vulnerabilities were introduced and distinguish between pre-existing and newly disclosed security issues.
Basic scan:
python scripts/scan_repository.py /path/to/repo 2023-01-01
Scan only direct dependencies:
python scripts/scan_repository.py /path/to/repo 2023-01-01 --no-transitive
Output as JSON:
python scripts/scan_repository.py /path/to/repo 2023-01-01 --json > report.json
The scanner automatically detects and parses dependency manifests:
Supported ecosystems:
Manual parsing (if needed):
python scripts/parse_dependencies.py /path/to/repo
This extracts:
For detailed manifest formats, see references/dependency_formats.md
The scanner queries multiple databases to find CVEs:
Primary source: OSV.dev (Open Source Vulnerabilities)
Additional sources:
Manual CVE query (for testing):
python scripts/query_cves.py lodash 4.17.20 npm 2023-01-01
For database details and API usage, see references/vulnerability_databases.md
The scanner filters CVEs to include only those disclosed after the cutoff date:
published date from vulnerability databasesExample:
The scanner produces a comprehensive report with:
Summary statistics:
Detailed CVE list: For each CVE:
Clear status: If no new CVEs found, explicitly reports "dependency set is clear since the given date"
Scenario: Periodic security review to find vulnerabilities disclosed since last audit
# Last audit was on 2023-06-01, check for new CVEs since then
python scripts/scan_repository.py /path/to/repo 2023-06-01
Output: List of all CVEs disclosed after June 1, 2023 that affect your dependencies
Scenario: Check if new CVEs affect a specific historical codebase version
# Check if any CVEs disclosed after 2023-01-01 affect code from that date
git checkout <commit-from-2023-01-01>
python scripts/scan_repository.py . 2023-01-01
Output: Shows which vulnerabilities were discovered after the code was written
Scenario: Generate reports showing vulnerability status at specific dates
# Generate quarterly reports
python scripts/scan_repository.py /path/to/repo 2023-01-01 --json > q1_report.json
python scripts/scan_repository.py /path/to/repo 2023-04-01 --json > q2_report.json
python scripts/scan_repository.py /path/to/repo 2023-07-01 --json > q3_report.json
Output: Time-series data showing when vulnerabilities were disclosed
Scenario: Monitor how security posture changes over time
# Compare vulnerability counts at different dates
python scripts/scan_repository.py /path/to/repo 2022-01-01 | grep "new CVE"
python scripts/scan_repository.py /path/to/repo 2023-01-01 | grep "new CVE"
python scripts/scan_repository.py /path/to/repo 2024-01-01 | grep "new CVE"
Output: Trend analysis of vulnerability accumulation
For large repositories, limit the number of dependencies scanned:
python scripts/scan_repository.py /path/to/repo 2023-01-01 --max-deps 50
Skip transitive dependencies to focus on direct dependencies:
python scripts/scan_repository.py /path/to/repo 2023-01-01 --no-transitive
Output structured JSON for integration with other tools:
python scripts/scan_repository.py /path/to/repo 2023-01-01 --json | jq '.summary'
TIME-AWARE DEPENDENCY CVE SCAN REPORT
======================================================================
Repository: /path/to/repo
Cutoff Date: 2023-01-01
Scan Time: 2024-02-19T10:30:00
DEPENDENCY SUMMARY
----------------------------------------------------------------------
Total Dependencies: 150
- Direct: 25
- Transitive: 125
CVE SUMMARY
----------------------------------------------------------------------
⚠ 5 new CVE(s) found after 2023-01-01
- Affecting direct dependencies: 2
- Affecting transitive dependencies: 3
Severity Breakdown:
- CRITICAL: 1
- HIGH: 2
- MEDIUM: 2
DETAILED CVE LIST
----------------------------------------------------------------------
CVE-2023-12345 [CRITICAL]
Package: lodash (npm)
Disclosed: 2023-06-15
Affected Versions: >=4.0.0, <4.17.21
Summary: Prototype pollution vulnerability...
tomli for Python TOML files)The scanner scripts require:
requests library: pip install requeststomli for TOML parsing: pip install tomli