Skip to content

Conversation

samwho
Copy link
Contributor

@samwho samwho commented Oct 2, 2025

The OWASP action documentation pages felt a bit impenetrable, the very first sentence you encountered was:

The OWASP CRS Request Traffic Policy action enables OWASP CRS for use with ModSecurity or compatible web application firewalls.

In this PR I'm trying to make it a bit more clear what these actions do for folks that don't know what OWASP CRS means, or haven't heard of ModSecurity (I've removed mention of this entirely because it's not relevant for use with ngrok.)

Copy link
Collaborator

@S3Prototype S3Prototype left a comment

Choose a reason for hiding this comment

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

Thanks for this! Left suggested changes, but I'm gonna approve this so you can handle the changes as you feel is appropriate and get this merged. Feel free to ping me if you want me to take a second look

import ActionExamples from "/snippets/traffic-policy/actions/owasp-crs-request/examples/index.mdx";
import ActionVariablesDescription from "/snippets/traffic-policy/common/action-variables-description.mdx";
import { YouTubeEmbed } from "/snippets/YouTubeEmbed.jsx";
import { YouTubeEmbed } from "/snippets/TrafficPolicy.jsx";
Copy link
Collaborator

Choose a reason for hiding this comment

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

Suggested change
import { YouTubeEmbed } from "/snippets/TrafficPolicy.jsx";
import { YouTubeEmbed } from "/snippets/YouTubeEmbed.jsx";

Typo?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Eep, yes, sorry! I had played with creating a custom component that would allow us to specify the Traffic Policy file just once, and then it would automatically render the two-pane YAML/JSON variant. I hit snags that I didn't know how to overcome, though.

Copy link
Collaborator

Choose a reason for hiding this comment

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

Yeah mintlify has some limitations that I hope to work around soon by creating exactly the component you're describing


<YouTubeEmbed videoId="HHxj5VGFTEA" title="Block web attacks with ngrok's OWASP CRS Request" />

The `owasp-crs-request` action enables rule processing on incoming HTTP
Copy link
Collaborator

Choose a reason for hiding this comment

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

I think this paragraph should be moved to the top since the page is primarily about the OWASP request action, not OWASP in general. I do think the paragraph you have explaining OWASP and CRS is good, but feels less appropriate as the intro

Comment on lines +25 to +27
requests to your endpoint. We recommend you also enable the [OWASP CRS Response
action](/traffic-policy/actions/owasp-crs-response/) to block attacks where
it's the response that is malicious.
Copy link
Collaborator

Choose a reason for hiding this comment

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

Suggested change
requests to your endpoint. We recommend you also enable the [OWASP CRS Response
action](/traffic-policy/actions/owasp-crs-response/) to block attacks where
it's the response that is malicious.
requests to your endpoint. To use rule processing to block malicious HTTP _responses_, enable the [OWASP CRS Response
action](/traffic-policy/actions/owasp-crs-response/).
<Tip>
We recommend using both actions.
</Tip>

Condensed this a bit and changed the language to keep the emphasis on the difference here, so readers who are skimming can understand what we're saying a little easier. Also added a callout to really highlight that we recommend using both.

Comment on lines +23 to +26
The `owasp-crs-response` action enables rule processing on incoming HTTP
requests to your endpoint. We recommend you also enable the [OWASP CRS Request
action](/traffic-policy/actions/owasp-crs-request/) to block attacks where
it's the request that is malicious.
Copy link
Collaborator

Choose a reason for hiding this comment

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

Suggested change
The `owasp-crs-response` action enables rule processing on incoming HTTP
requests to your endpoint. We recommend you also enable the [OWASP CRS Request
action](/traffic-policy/actions/owasp-crs-request/) to block attacks where
it's the request that is malicious.
The `owasp-crs-response` action enables rule processing on incoming HTTP
requests to your endpoint. To use rule processing to block malicious HTTP _requests_, enable the [OWASP CRS Request
action](/traffic-policy/actions/owasp-crs-request/) action.
<Tip>
We recommend using both actions.
</Tip>

Similar change to what I suggested in the request page.

[OWASP Top Ten](https://owasp.org/www-project-top-ten/), with a minimum of false alerts.
CRS provides protection against many common attack categories, including SQL Injection,
Cross Site Scripting, Local File Inclusion, etc.
[OWASP](https://owasp.org/) stands for the Open Web Application Security
Copy link
Collaborator

Choose a reason for hiding this comment

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

Same as the above, I think the other paragraph should be the intro and this should be the second paragraph

@sg-writer sg-writer added docs/content Changes to the written material in the docs kind/enhancement New feature or improvement to the docs experience area/traffic-policy labels Oct 2, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area/traffic-policy docs/content Changes to the written material in the docs kind/enhancement New feature or improvement to the docs experience

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants