Skip to content

Fix for Imperva Cloud WAF CCF (S3‑Generic) Connector silently dropping logs which containing quotation characters#14037

Closed
v-krishnachi wants to merge 2 commits intoAzure:masterfrom
v-krishnachi:fix/imperva-ccf-hasCsvBoundary-v3.1.1
Closed

Fix for Imperva Cloud WAF CCF (S3‑Generic) Connector silently dropping logs which containing quotation characters#14037
v-krishnachi wants to merge 2 commits intoAzure:masterfrom
v-krishnachi:fix/imperva-ccf-hasCsvBoundary-v3.1.1

Conversation

@v-krishnachi
Copy link
Copy Markdown
Contributor

@v-krishnachi v-krishnachi commented Apr 10, 2026

The CCF CSV parser defaults to RFC 4180 behavior where double-quote characters are treated as field enclosures.
Imperva WAF CEF logs contain embedded JSON in below fields which include quotation marks as regular data content.
1. cs10
2. cs11
3. additionalReqHeaders
4. additionalResHeaders
This caused the parser to silently drop log lines containing these characters before they reached the DCR.

Fix: Added HasCsvBoundary: false to the dataFormat configuration in both the PollingConfig and mainTemplate to disable RFC 4180 quote-boundary handling.

Validated against customer sample data (5 log lines, 4 previously dropped). No regression to existing ingestion of non-quoted log lines.

Bumped solution version to 3.1.1 and created release package.

Required items, please complete

Change(s):

  • ImpervaCloudWAFLogs_PollingConfig
  • Maintemplate
  • REleasenotes
  • Package update

Version updated:

  • Yes
  • Detections/Analytic Rule templates are required to have the version updated

@v-krishnachi v-krishnachi requested review from a team as code owners April 10, 2026 06:08
@v-atulyadav v-atulyadav added the Solution Solution specialty review needed label Apr 10, 2026
@v-maheshbh v-maheshbh requested a review from Copilot April 10, 2026 09:37
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

Note

Copilot was unable to run its full agentic suite in this review.

Disables RFC 4180 quote-boundary handling for the Imperva Cloud WAF CCF (S3-Generic) connector to prevent log lines containing embedded JSON quotes from being dropped, and bumps the solution version accordingly.

Changes:

  • Added HasCsvBoundary: false to CSV dataFormat in the connector’s polling and deployment templates.
  • Bumped solution version to 3.1.1 across solution metadata/templates.
  • Added a 3.1.1 entry to release notes describing the fix.

Reviewed changes

Copilot reviewed 4 out of 5 changed files in this pull request and generated 2 comments.

File Description
Solutions/ImpervaCloudWAF/ReleaseNotes.md Adds release note for 3.1.1 documenting the CSV boundary handling fix.
Solutions/ImpervaCloudWAF/Package/mainTemplate.json Bumps template/content versions and adds HasCsvBoundary: false in data format configuration.
Solutions/ImpervaCloudWAF/Data/Solution_ImpervaCloudWAF.json Bumps solution version to 3.1.1.
Solutions/ImpervaCloudWAF/Data Connectors/ImpervaCloudWAFLogs_ccf/ImpervaCloudWAFLogs_PollingConfig.json Adds HasCsvBoundary: false to polling config data format.

"Metadata": "SolutionMetadata.json",
"Version": "3.1.0",
"Version": "3.1.1",
"TemplateSpec": true,
Copy link

Copilot AI Apr 10, 2026

Choose a reason for hiding this comment

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

TemplateSpec must be set to false for Version 3.. solutions; leaving it true will violate solution-data validation rules and can break packaging/validation. Update to "TemplateSpec": false for 3.1.1.

Suggested change
"TemplateSpec": true,
"TemplateSpec": false,

Copilot uses AI. Check for mistakes.
@@ -1,5 +1,6 @@
| **Version** | **Date Modified (DD-MM-YYYY)** | **Change History** |
|-------------|--------------------------------|------------------------------------------------- |
| 3.1.1 | 09-04-2026 | Fixed CCF connector silently dropping logs containing quotation characters in JSON fields (e.g. cs10, cs11, additionalReqHeaders) by disabling RFC 4180 CSV boundary handling |
Copy link

Copilot AI Apr 10, 2026

Choose a reason for hiding this comment

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

The Change History entry is unusually long for the release notes table and includes extra leading whitespace. Please shorten it to 1–2 sentences (and trim leading spaces) to keep the table readable and consistent with the release notes formatting guidance.

Suggested change
| 3.1.1 | 09-04-2026 | Fixed CCF connector silently dropping logs containing quotation characters in JSON fields (e.g. cs10, cs11, additionalReqHeaders) by disabling RFC 4180 CSV boundary handling |
| 3.1.1 | 09-04-2026 | Fixed **CCF connector** log ingestion for JSON fields containing quotation characters |

Copilot uses AI. Check for mistakes.
…g drops (v3.1.1)

The CCF CSV parser defaults to RFC 4180 mode (CsvHelper.CsvMode.RFC4180) where
double-quote characters are treated as field enclosures. Imperva WAF CEF logs
contain embedded JSON in fields like cs10, cs11, additionalReqHeaders, and
additionalResHeaders which include quotation marks as regular data content.
This caused the parser to silently drop log lines containing these characters
before they reached the DCR.

Fix: Added csvEscapeMode: NoEscape to the dataFormat configuration in both the
PollingConfig and mainTemplate. This sets CsvHelper.CsvMode.NoEscape which
disables all quote/escape character interpretation. CEF format uses backslash
escaping, not RFC 4180 quote enclosure, making NoEscape the correct parser
behavior for this data source.

Validated against customer sample data (5 log lines, 4 previously dropped).
No regression to existing ingestion of non-quoted log lines.

Bumped solution version to 3.1.1 and created release package.
@v-krishnachi v-krishnachi force-pushed the fix/imperva-ccf-hasCsvBoundary-v3.1.1 branch from fd2b070 to 8538649 Compare April 10, 2026 19:42
@v-krishnachi
Copy link
Copy Markdown
Contributor Author

There is new PR given by Jason #14044
So will be closing it

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Solution Solution specialty review needed

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants