Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx skills add allsmog/vuln-scout --skill data-flow-tracinggit clone --depth 1 https://github.com/allsmog/vuln-scoutWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/allsmog/vuln-scout/data-flow-tracing)<a href="https://agentmods.dev/skills/allsmog/vuln-scout/data-flow-tracing"><img src="https://agentmods.dev/badge/skills/allsmog/vuln-scout/data-flow-tracing/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/skills/allsmog/vuln-scout/data-flow-tracing"><img src="https://agentmods.dev/badge/skills/allsmog/vuln-scout/data-flow-tracing.svg" alt="Reviewed on agentmods" width="80" height="20"></a>What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00063 | $0.01448 |
| Opus 5 | $0.00032 | $0.00724 |
| Sonnet 5 | $0.00013 | $0.00290 |
| Haiku 4.5 | $0.00006 | $0.00145 |
Grade A, and why
Data Flow Tracing scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 9d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 238 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Data Flow Tracing
Purpose
Guide the process of tracing user-controlled input from entry points (sources) through the application to security-sensitive functions (sinks). This is essential for confirming vulnerability exploitability.
When to Use
Activate this skill when:
- Confirming if identified sinks receive user input
- Mapping the path from source to sink
- Understanding data transformations and filters
- Determining if sanitization can be bypassed
Core Concepts
Sources (Input Entry Points)
HTTP Sources:
| Language | Common Sources |
|---|---|
| PHP | $_GET, $_POST, $_REQUEST, $_COOKIE, $_FILES, $_SERVER |
| Java | request.getParameter(), request.getHeader(), @RequestParam |
| Python | request.args, request.form, request.data, request.json |
| Node.js | req.query, req.body, req.params, req.headers |
| .NET | Request.QueryString, Request.Form, Request["param"] |
Other Sources:
- Database queries (stored user data)
- File contents (user-uploaded or modified)
- Environment variables
- External API responses
Sinks (Dangerous Functions)
Refer to the dangerous-functions skill for comprehensive sink lists.
Data Transformations
Track how data changes between source and sink:
- Encoding/Decoding (base64, URL, HTML)
- Concatenation with other strings
- Array/object property access
- Type conversions
- String manipulations
Tracing Methodology
Step 1: Identify the Sink
Start from the dangerous function identified during code review.
Step 2: Find Direct Parameters
Identify what variables/parameters are passed to the sink.
Example: system($cmd);
Direct parameter: $cmd
Step 3: Trace Backwards
Follow each parameter to its origin:
- Check function parameters
- Check variable assignments
- Check conditional branches
- Check loop iterations
- Check included/required files
Step 4: Identify Sources
Determine where user input enters:
$cmd = $_GET['command']; // Direct source
$cmd = $row['command']; // Database (check how it was stored)
$cmd = $config['cmd']; // Config file (check if user-modifiable)
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 9d ago First seen · 238 lines · 63 tokens per session scan A 5b68895e28ec
Data Flow Tracing is a skill published in the GitHub repository allsmog/vuln-scout (24 stars, last pushed 2mo ago), licensed MIT. It adds 63 tokens to every session and 1,448 once invoked, about $0.0003 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.
Other skills, from other repositories
sast-config
Reviews and tunes SAST tool configurations against OWASP ASVS 4.0.3 and CWE Top 25. Auto-invoked when reviewing Semgrep rules, CodeQL queries, SAST CI integration, or false positive triage workflows. Produces a SAST maturity assessment covering rule authoring, severity tuning, custom rule development, and CI…
sast-semgrep
Static application security testing (SAST) using Semgrep for vulnerability detection, security code review, and secure coding guidance with OWASP and CWE framework mapping. Use when: (1) Scanning code for security vulnerabilities across multiple languages, (2) Performing security code reviews with pattern-based…
sast-semgrep
Static application security testing (SAST) using Semgrep for vulnerability detection, security code review, and secure coding guidance with OWASP and CWE framework mapping. Use when: (1) Scanning code for security vulnerabilities across multiple languages, (2) Performing security code reviews with pattern-based…
implementing-devsecops-security-scanning
Integrates Static Application Security Testing (SAST), Dynamic Application Security Testing (DAST), and Software Composition Analysis (SCA) into CI/CD pipelines using open-source tools. Covers Semgrep for SAST, Trivy for SCA and container scanning, OWASP ZAP for DAST, and Gitleaks for secrets detection. Activates for…
integrating-sast-into-github-actions-pipeline
This skill covers integrating Static Application Security Testing (SAST) tools—CodeQL and Semgrep—into GitHub Actions CI/CD pipelines. It addresses configuring automated code scanning on pull requests and pushes, tuning rules to reduce false positives, uploading SARIF results to GitHub Advanced Security, and…
implementing-semgrep-for-custom-sast-rules
Write custom Semgrep SAST rules in YAML to detect application-specific vulnerabilities, enforce coding standards, and integrate into CI/CD pipelines.