fix: address code quality and security issues from PR review #139
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Addresses 18 unresolved review comments on PR #136 covering thread safety, output handling, AWS spec compliance, and example security.
Core Code Fixes
Thread safety: Added
sync.RWMutexto VDB client token cache with double-checked locking pattern. Token refresh buffer increased to 3 minutes.AWS SigV4 compliance: Canonical request now includes query string component per AWS spec:
Output separation: Informational messages now write to stderr when
--output jsonis used, keeping stdout clean for piping.Variable scoping: Moved
vdbLimitandvdbOffsetfrom global to per-command locals to prevent flag interference between commands.Error handling: Fixed ignored
json.Unmarshalerror in CVE data parsing. Extracted pagination logic intobuildPaginationQuery()helper.Example & Documentation Security
Secrets handling: Troubleshooting now checks credential existence without printing values. Config example uses
REPLACE_WITH_YOUR_SECRET_KEYplaceholder instead of zeros.CI/CD hardening:
if ! cmd=$(...)pattern)!= '0'instead of> 0)💡 You can make Copilot smarter by setting up custom instructions, customizing its development environment and configuring Model Context Protocol (MCP) servers. Learn more Copilot coding agent tips in the docs.