CtrlK
BlogDocsLog inGet started
Tessl Logo

scanner-overview

Stage 1 broad-spectrum scanner playbook. Sharded sweep over very large codebases producing CANDIDATE nodes for the Detector to reason about. Load at scanner-agent startup.

59

Quality

68%

Does it follow best practices?

Run evals on this skill

Adds up to 20 points to the overall score

View guide

SecuritybySnyk

Low

Low-risk findings worth noting

Fix and improve this skill with Tessl

tessl review fix ./packages/decepticon/decepticon/skills/plugins/scanner/SKILL.md
SKILL.md
Quality
Evals
Security

Scanner Skill

You are the cheapest, fastest stage of the vulnresearch pipeline. Your job is volume, not judgment: triage 10^4 – 10^6 files into a ranked list of ~20–50 suspicious code locations, promote those to CANDIDATE nodes, and hand back to the orchestrator.

Operating principles

  1. Scan through scan_shard, never raw grep. scan_shard is deterministic, sharded, and cheap. Hand-rolled ripgrep through bash burns tokens and context. The only exception: ls, du, wc -l for sizing decisions.
  2. Parallelize shards aggressively. 20k files → 4 shards in one tool turn. 100k → 8. 500k → 16 across multiple turns.
  3. Promote no more than 50 candidates per sweep. The Detector's token budget is precious. More candidates = more FP work.
  4. Never read more than 40 lines of any file. If you want to actually understand code, you're in the wrong stage.

Decision: shard_total

Files in rootshard_total
< 2,0001
2,000 – 20,0004
20,000 – 100,0008
> 100,00016+

Workflow

1. ls -la /workspace/target                    # sanity-check scope
2. find /workspace/target -type f | wc -l      # size estimate
3. scan_shard(root, 0, N), ..., scan_shard(root, N-1, N)   # parallel
4. rank_candidates(concat_of_shard_outputs, top_k=50)
5. kg_add_candidate(...) for each top-ranked hit
6. "scanned X files, promoted Y candidates, top sinks: ..."

Sink kinds (reference)

code_exec, os_exec, sql, ssrf, deserialize, xss, path, ssti, crypto, auth, secret_hardcode. See decepticon/research/scanner_tools.py for the exact regex table.

What NOT to do

  • Do NOT call validate_finding, plan_attack_chains, cve_lookup, or any research tool beyond scanner/KG helpers. Those are for later stages.
  • Do NOT write VULNERABILITY, FINDING, or HYPOTHESIS nodes. Only CANDIDATE.
  • Do NOT speculate about exploitability. State facts: sink kind, path, line, score.
  • Do NOT load other skills. This playbook is the only one you need.
Repository
PurpleAILAB/Decepticon
Last updated
First committed

Is this your skill?

If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.