Automattic / jetpack

Security, performance, marketing, and design tools — Jetpack is made by WordPress experts to make WP sites safer and faster, and help you grow your traffic.
https://jetpack.com/
Other
1.59k stars 798 forks source link

Protect: Add Threat History #38117

Closed nateweller closed 1 month ago

nateweller commented 3 months ago

Proposed changes:

Other information:

Jetpack product discussion

https://github.com/Automattic/jetpack-scan-team/issues/1225

Does this pull request change what data or activity we track or use?

No

Testing instructions:

github-actions[bot] commented 3 months ago

Thank you for your PR!

When contributing to Jetpack, we have a few suggestions that can help us test and review your patch:

This comment will be updated as you work on your PR and make changes. If you think that some of those checks are not needed for your PR, please explain why you think so. Thanks for cooperation :robot:


The e2e test report can be found here. Please note that it can take a few minutes after the e2e tests checks are complete for the report to be available.


Once your PR is ready for review, check one last time that all required checks appearing at the bottom of this PR are passing or skipped. Then, add the "[Status] Needs Team Review" label and ask someone from your team review the code. Once reviewed, it can then be merged. If you need an extra review from someone familiar with the codebase, you can update the labels from "[Status] Needs Team Review" to "[Status] Needs Review", and in that case Jetpack Approvers will do a final review of your PR.


Jetpack plugin:

The Jetpack plugin has different release cadences depending on the platform:

If you have any questions about the release process, please ask in the #jetpack-releases channel on Slack.


Backup plugin:

If you have any questions about the release process, please ask in the #jetpack-releases channel on Slack.


Boost plugin:

If you have any questions about the release process, please ask in the #jetpack-releases channel on Slack.


Search plugin:

If you have any questions about the release process, please ask in the #jetpack-releases channel on Slack.


Social plugin:

If you have any questions about the release process, please ask in the #jetpack-releases channel on Slack.


Starter Plugin plugin:

If you have any questions about the release process, please ask in the #jetpack-releases channel on Slack.


Protect plugin:

If you have any questions about the release process, please ask in the #jetpack-releases channel on Slack.


Videopress plugin:

If you have any questions about the release process, please ask in the #jetpack-releases channel on Slack.


Migration plugin:

If you have any questions about the release process, please ask in the #jetpack-releases channel on Slack.


Wpcomsh plugin:

If you have any questions about the release process, please ask in the #jetpack-releases channel on Slack.

github-actions[bot] commented 2 months ago

Are you an Automattician? Please test your changes on all WordPress.com environments to help mitigate accidental explosions.

Interested in more tips and information?

dkmyta commented 1 month ago

Something just came to mind while reviewing this, as part of Jetpack_Protect::plugin_deactivation we Status::delete_option(); should we also clear Scan_History options here?

I don’t think we clear all Protect/WAF options as part of deactivation currently, so I don’t know if its entirely necessary, just seems logical here since we do the same for Status (Scan_ and/or Protect_). Also realizing that this looks like it might only clear one or the other, so if you have both one will likely remain.

UPDATE: Just doubled checked this and it actually appears that neither are currently deleted on plugin deactivation. Seems the method is triggered but we aren't accurately detecting static::OPTION_NAME and static::OPTION_TIMESTAMP_NAME, because its instead accessing the values we define for these in the Status class. This is making me wonder if some of these other Status methods that use static variables are performing similarly.