Skip to content

[SAR] APPENG-5149: MCP response integrity verification#199

Open
yuvalk wants to merge 1 commit into
RHEcosystemAppEng:mainfrom
yuvalk:fix/APPENG-5149-mcp-integrity-verification
Open

[SAR] APPENG-5149: MCP response integrity verification#199
yuvalk wants to merge 1 commit into
RHEcosystemAppEng:mainfrom
yuvalk:fix/APPENG-5149-mcp-integrity-verification

Conversation

@yuvalk
Copy link
Copy Markdown
Collaborator

@yuvalk yuvalk commented May 6, 2026

Summary

Addresses APPENG-5149.

Add a lightweight data integrity verification module that computes and logs SHA-256 fingerprints of MCP tool results, enabling forensic tracing and after-the-fact verification of tool result integrity.

Changes

  • Add new src/lightspeed_agent/tools/integrity.py module
  • log_response_fingerprint() computes truncated SHA-256 hash of MCP results and logs it with tool name, request ID, and result length
  • Minimal implementation focused on forensic traceability

SAR Reference

  • CWE: CWE-345 (Insufficient Verification of Data Authenticity)
  • Impact: Medium

Co-Authored-By: Claude Opus 4.6 (1M context) noreply@anthropic.com

Add a lightweight data integrity module that computes and logs SHA-256
fingerprints of MCP tool results for forensic tracing. This enables
after-the-fact verification that tool results were not tampered with
during transit.

- Add tools/integrity.py with log_response_fingerprint() function
- Logs tool name, request ID, fingerprint hash, and result length

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
logger = logging.getLogger(__name__)


def log_response_fingerprint(
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

this is never imported, nor used. The whole file looks like dead code

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.

2 participants