Skill Being Reviewed
Skill name: scanner-tuning
Skill path: skills/vuln-management/scanner-tuning/
False Positive Analysis
Benign code/configuration that triggers a false positive:
scan_result:
scanner: Tenable
finding_id: CVE-2024-3094
asset:
ip: 10.40.12.18
hostname: ip-10-40-12-18.ec2.internal
cloud_provider: aws
instance_id: i-0abc1111old
ami_id: ami-legacy-2024-03
first_seen: 2026-06-01T01:00:00Z
last_seen: 2026-06-01T01:00:00Z
scan_completed_at: 2026-06-01T01:10:00Z
current_asset_inventory:
ip: 10.40.12.18
instance_id: i-0def2222new
ami_id: ami-hardened-2026-06
launched_at: 2026-06-08T09:20:00Z
package_status:
xz-libs: 5.4.6-3.el9.patched
Why this is a false positive:
The scanner result is tied to a recycled private IP/hostname, not to the current cloud asset identity. scanner-tuning currently tells reviewers to document affected assets and correlate scanner output, but it does not require evidence that the finding is bound to a stable asset identity such as cloud instance ID, image digest, Kubernetes UID, container image digest, or asset inventory snapshot timestamp. In elastic cloud environments, suppressing or escalating a finding based only on IP/hostname can misclassify a terminated instance's stale vulnerability as present on a new clean instance.
Coverage Gaps
Missed variant 1: stale ephemeral compute finding
finding:
cve: CVE-2025-12345
asset_key_used_by_scanner: 172.20.5.44
scan_time: 2026-06-03T02:00:00Z
cloud_inventory_now:
172.20.5.44:
instance_id: i-new-prod-api
launch_time: 2026-06-07T18:00:00Z
owner: payments-api
Why it should be caught:
The skill should require asset identity freshness before calling a finding true, false, suppressed, or severity-adjusted. The current workflow can treat scan history as current evidence even when the target has been replaced.
Missed variant 2: container image tag drift
scanner_finding:
image: registry.example.com/app/api:latest
digest_at_scan: sha256:oldvulnerabledigest
runtime_inventory:
image: registry.example.com/app/api:latest
digest_running: sha256:newpatchdigest
deployed_at: 2026-06-08T10:00:00Z
Why it should be caught:
For containers, tags are mutable. Tuning decisions must bind findings and suppressions to immutable image digests, not tags. Otherwise a valid suppression for one digest can hide a new vulnerable digest, or a stale finding can remain against a patched digest.
Edge Cases
- Autoscaling groups can replace every host between weekly scans; the asset ID and launch timestamp matter more than IP.
- NAT, DHCP, and Kubernetes node reuse can cause the same scanner asset key to represent different workloads over time.
- External scanners may only see a load balancer IP; reviewer should mark backend identity as Not Evaluable unless deployment or target mapping evidence exists.
- Long-lived suppression records should expire or revalidate when instance ID, image digest, AMI ID, cluster UID, or scanner asset UUID changes.
Remediation Quality
Comparison to Other Tools
| Tool |
Catches this? |
Notes |
| Semgrep |
No |
Static code scanner; not designed for cloud asset identity freshness. |
| CodeQL |
No |
Code-focused; does not correlate scanner asset keys with cloud inventory. |
| Qualys/Tenable/Rapid7 |
Partial |
They maintain asset IDs, but exports are often consumed downstream by IP/hostname unless integrations preserve scanner UUID and cloud metadata. |
| Wiz/Prisma/Lacework |
Partial |
CNAPPs usually bind cloud resource IDs and image digests; the review skill should require this evidence when vulnerability scanners feed VM tools. |
Overall Assessment
Strengths:
scanner-tuning already has strong false-positive taxonomy, authenticated scan guidance, severity override rules, and cross-scanner correlation.
Needs improvement:
It assumes an affected asset is stable once named. Modern cloud and container environments need an asset-identity freshness gate before tuning decisions are accepted.
Priority recommendations:
- Add an
Asset Identity Freshness step before false-positive disposition and severity override.
- Extend the false-positive record with scanner asset UUID, cloud resource ID, launch/deploy timestamp, image digest, and inventory source timestamp.
- Require suppression invalidation when IP/hostname maps to a new instance, image digest, AMI, Kubernetes UID, or cloud resource ID.
Bounty Info
Skill Being Reviewed
Skill name:
scanner-tuningSkill path:
skills/vuln-management/scanner-tuning/False Positive Analysis
Benign code/configuration that triggers a false positive:
Why this is a false positive:
The scanner result is tied to a recycled private IP/hostname, not to the current cloud asset identity.
scanner-tuningcurrently tells reviewers to document affected assets and correlate scanner output, but it does not require evidence that the finding is bound to a stable asset identity such as cloud instance ID, image digest, Kubernetes UID, container image digest, or asset inventory snapshot timestamp. In elastic cloud environments, suppressing or escalating a finding based only on IP/hostname can misclassify a terminated instance's stale vulnerability as present on a new clean instance.Coverage Gaps
Missed variant 1: stale ephemeral compute finding
Why it should be caught:
The skill should require asset identity freshness before calling a finding true, false, suppressed, or severity-adjusted. The current workflow can treat scan history as current evidence even when the target has been replaced.
Missed variant 2: container image tag drift
Why it should be caught:
For containers, tags are mutable. Tuning decisions must bind findings and suppressions to immutable image digests, not tags. Otherwise a valid suppression for one digest can hide a new vulnerable digest, or a stale finding can remain against a patched digest.
Edge Cases
Remediation Quality
Comparison to Other Tools
Overall Assessment
Strengths:
scanner-tuningalready has strong false-positive taxonomy, authenticated scan guidance, severity override rules, and cross-scanner correlation.Needs improvement:
It assumes an affected asset is stable once named. Modern cloud and container environments need an asset-identity freshness gate before tuning decisions are accepted.
Priority recommendations:
Asset Identity Freshnessstep before false-positive disposition and severity override.Bounty Info