---
name: Detection Breadth
slug: detection-breadth
category: Quality
description: Detection Breadth explains when to add bandit for Python-specific SAST and trivy for dependency, secret, and IaC coverage alongside the core scanner set. It helps you widen findings without double-counting or overstating confidence.
github: "https://github.com/deonmenezes/mantishack/tree/main/.codex/skills/detection-breadth"
language: Rust
stars: 490
forks: 73
install: "npx degit https://github.com/deonmenezes/mantishack/tree/main/.codex/skills/detection-breadth ~/.claude/skills/detection-breadth"
installs_to: ~/.claude/skills/detection-breadth
source_path: .codex/skills/detection-breadth/SKILL.md
collection_size: 25
category_size: 1354
collection_url: "https://dirskills.com/collections/deonmenezes/mantishack"
added: 2026-08-26T05:13:17.924Z
last_synced: 2026-08-26T05:13:17.924Z
canonical_url: "https://dirskills.com/skills/detection-breadth"
---

# Detection Breadth

Detection Breadth explains when to add bandit for Python-specific SAST and trivy for dependency, secret, and IaC coverage alongside the core scanner set. It helps you widen findings without double-counting or overstating confidence.

**Install:**

```bash
npx degit https://github.com/deonmenezes/mantishack/tree/main/.codex/skills/detection-breadth ~/.claude/skills/detection-breadth
```

## README

The core Detect toolchain is semgrep (broad SAST), CodeQL (dataflow SAST), osv-scanner (SCA), trufflehog (secrets), and program-analysis (AST/taint/SMT). Two companion servers widen coverage; reach for them deliberately, not reflexively.

- **`bandit_scan`** (mantis_bandit): Python-specific SAST. Use it on Python targets in addition to semgrep -- bandit encodes Python-idiom checks (e.g. `subprocess` with `shell=True`, weak crypto, `yaml.load`, flask debug) that a generic ruleset can under-cover. Every hit is a `candidate`; bandit's own severity/confidence describe rule confidence, not demonstrated impact, so do not report them as final severity. Default `confidence` to `low` for full recall on a first sweep.
- **`trivy_scan`** (mantis_trivy): composition analysis in one pass -- vulnerable dependencies, embedded secrets, and IaC (Dockerfile/Terraform/k8s) misconfigurations. Use it to add container/IaC coverage that osv-scanner (deps only) and trufflehog (secrets only) don't reach. A vulnerable dependency being present does not mean its vulnerable code path is reachable -- that's a separate question for the reachability stage. Secret values are never returned, only rule/line references.

Both degrade gracefully: if the underlying binary isn't installed they report `available: false`. When that happens, say so explicitly rather than claiming coverage you didn't get, and fall back to the core toolchain. Do not double-count: if trivy and osv-scanner both flag the same advisory for the same package, it's one candidate, not two.

Every result from either tool is a `candidate` in the findings lifecycle -- register it via `mantis_findings` `finding_create`, then trace reachability and attacker-simulate before it can become `confirmed` (see the `mantis-pipeline` and `findings-spine` skills).
