Skip to content

Verification tools - #217

Merged
k37y merged 2 commits into
mainfrom
verification-tools
Jul 31, 2026
Merged

Verification tools#217
k37y merged 2 commits into
mainfrom
verification-tools

Conversation

@k37y

@k37y k37y commented Jul 31, 2026

Copy link
Copy Markdown
Owner

No description provided.

k37y added 2 commits July 31, 2026 10:47
…nalysis

Add Go-aware tools that follow module resolution instead of relying on
blind grep searches, reducing false positives and wasted tool calls:

- check_module: traces go.mod replace → vendor → actual symbol calls
- check_go_version: compares Go toolchain version against stdlib fix
  versions (one-shot answer for stdlib CVEs)
- is_test_only: detects test files/packages to filter non-production code
- check_build_tags: reads //go:build constraints for platform-specific code
- list_entry_points: finds all main()/init() entry points in the repo
- check_transitive_deps: shows direct vs transitive deps with import chain

Update verification prompt to prioritize specialized tools over grep_code
and restructure investigation checklists accordingly. Extend GoModEdit
struct with Module and Require fields for richer go.mod parsing.

Signed-off-by: Vinu K <kevy.vinu@gmail.com>
Five changes to prevent the scanner's verdict from influencing Claude's
independent assessment:

1. Remove agrees_with_scanner, rename claude_assessment to IsVulnerable
   - Claude reports its own verdict; agreement computed in code
   - Frontend now shows Claude's IsVulnerable directly

2. Strip FixCommands and Symbols from UsedImports in prompt JSON
   - These fields leaked the scanner's conclusion before Step 5

3. Move call traces from upfront data to Step 2
   - Claude investigates independently in Step 1, then cross-checks
     against scanner traces in Step 2

4. Add devil's advocate step (Step 4) before final assessment
   - Forces Claude to argue against its own hypothesis

5. Change check_go_version to output neutral version data
   - Shows "current=X, fix=Y" instead of "PATCHED"/"VULNERABLE"

Signed-off-by: Vinu K <kevy.vinu@gmail.com>
@k37y
k37y force-pushed the verification-tools branch from 5169c90 to f27790e Compare July 31, 2026 06:54
@k37y
k37y merged commit e9a01cb into main Jul 31, 2026
1 check passed
@k37y
k37y deleted the verification-tools branch July 31, 2026 06:57
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant