Sản phẩm TSWolf WP Maintains Tools 0.17.0

Bảo trì WordPress mà không cần nhớ hàng chục công cụ rời rạc

Kiểm tra website, tạo backup, dọn dữ liệu thừa, tối ưu ảnh, xử lý Search & Replace, kiểm tra bảo mật và bật giám sát trong một nơi. Chế độ Dễ dùng hướng dẫn người mới theo từng bước; khi cần, Chế độ Chuyên sâu mở toàn bộ công cụ kỹ thuật.

Dễ dùng / Chuyên sâuPreview trước khi xóaFull + Incremental BackupDry-run + RollbackWordPress 6.5+PHP 7.4+
Dashboard0–100

Điểm sẵn sàng bảo trì và việc nên làm

Guided Maintenance5 bước

Kiểm tra → Backup → Dọn dẹp → Bảo mật → Giám sát

Giao diện2 chế độ

Dễ dùng cho người mới, Chuyên sâu khi cần

Tổng quan

Dành cho người phải quản lý website, không chỉ dành cho kỹ thuật viên

Plugin ưu tiên câu hỏi thực tế: website có vấn đề gì, nên làm gì trước và thao tác nào có thể gây rủi ro.

  • Dashboard tổng hợp backup gần nhất, update đang chờ, monitoring, dung lượng đĩa và kết quả kiểm tra website.
  • “Việc nên làm” sắp thứ tự ưu tiên thay vì bắt người dùng tự đọc hàng loạt số liệu kỹ thuật.
  • Các thao tác xóa ưu tiên Preview và Trash; xóa vĩnh viễn, restore và thao tác nguy hiểm yêu cầu xác nhận rõ ràng.
  • Ô tìm kiếm theo tên thay cho việc bắt người dùng tự nhớ ID của bài viết, ảnh, user, category hoặc tag.
  • Các tác vụ nặng chạy theo batch và hiển thị tiến trình thay vì cố xử lý tất cả trong một request.

Mục tiêu: người mới có thể đi theo hướng dẫn an toàn; người có kinh nghiệm vẫn giữ được công cụ sâu, log, profiler, snapshot và các tùy chọn nâng cao khi thật sự cần.

Những việc plugin thực sự làm được

Tổng quan & Site Doctor

Dashboard 0–100, kiểm tra nhanh và Preflight sâu cho URL, uploads, REST/loopback, cron, PHP, database, autoload, disk, debug và core checksum.

Dọn ảnh không còn sử dụng

Tìm ảnh có khả năng không còn được dùng, tách riêng ảnh nghi ngờ, cho xem trước rồi mới Trash hoặc xóa vĩnh viễn.

Tìm & xử lý bài viết

Tìm theo nội dung, tác giả, category, tag và thời gian; hỗ trợ text thực hoặc raw DB/HTML, Trash/xóa và phân tích media trước khi xóa.

Category, Tag & User

Tìm term rỗng thực tế, chuyển bài sang term khác, xóa nội dung liên quan hoặc chuyển nội dung từ user cũ sang user mới.

Tối ưu & sửa ảnh local

Đổi WebP/AVIF/JPEG/PNG, điều chỉnh quality/kích thước, sharpen, xóa metadata, tìm ảnh quá lớn, kiểm tra Media Integrity, regenerate thumbnail và chuẩn hóa filename.

Search & Replace có kiểm soát

Dry-run trước khi ghi, tìm trong database, source wp-content và text trang chủ đã render; mở đúng nơi chứa, thay từng item hoặc theo nhóm và có rollback checkpoint.

Database Maintenance

Kiểm tra và dọn revision, expired transient, orphan metadata/term relationship, spam/trash comment; có tùy chọn backup DB trước khi clean và optimize table có giới hạn.

File Maintenance

Quét file trong wp-content, phát hiện cache/log lớn hoặc file mới sửa, kiểm tra WordPress core checksum và dọn cache/temp theo tuổi file.

Backup & Restore

Full backup hoặc từng thành phần, Full → Incremental filesystem chain, database dump, import package .tswbak và restore theo phạm vi.

Bảo mật

Security overview, scan file đáng ngờ, filesystem baseline diff, tắt editor theme/plugin, ghi login failed có rate-limit và rotate WordPress salts/keys.

Tốc độ & tài nguyên

Kiểm tra tín hiệu ảnh hưởng hiệu năng; profiler chỉ đo thao tác TSWolf, tùy chỉnh Heartbeat và theo dõi HTTP request ngoài khi cần.

Maintenance Mode

Bật trang bảo trì frontend, đặt tiêu đề/nội dung, Retry-After và whitelist IP mà không phải cài thêm plugin riêng.

Monitoring

Theo dõi HTTP website, cron quá hạn, dung lượng đĩa, kích thước database, SSL sắp hết hạn và fatal PHP; có thể gửi email cảnh báo.

Lịch bảo trì tự động

Lên lịch xóa bài/ảnh, xử lý term/user hoặc tối ưu ảnh; chạy theo batch nhỏ, có khóa chống chạy chồng và theo dõi tiến độ job.

Safety Guard & lịch sử thay đổi

Bảo vệ bài/trang/ảnh/user/category/tag khỏi bị xóa nhầm, tự bảo vệ các đối tượng hệ thống quan trọng và lưu journal để theo dõi hoặc hoàn tác khi hỗ trợ.

License & cập nhật riêng

Kích hoạt theo installation, capability có chữ ký và private updater; package update phải khớp SHA-256/file size trước khi WordPress cài đặt.

Không chỉ có nhiều công cụ — quan trọng là biết dùng chúng theo thứ tự nào

Các nhóm dưới đây là những điểm tạo khác biệt rõ nhất khi bảo trì website thật.

Dashboard nói “nên làm gì tiếp theo” thay vì chỉ ném số liệu cho người dùng

Điểm 0–100 tổng hợp trạng thái quan trọng và đưa ra danh sách ưu tiên. Người mới không cần hiểu ngay cron, autoload hay checksum; họ có thể bắt đầu từ việc được đề xuất và mở đúng công cụ liên quan.

Search & Replace: tìm trước, xem đúng vị trí, rồi mới thay

Everywhere Standard chạy Dry-run, tìm dữ liệu trong database và source phù hợp, hiển thị preview trước → sau, cho mở nơi chứa và tạo rollback checkpoint trước khi ghi. Deep Scan được tách riêng để không biến chế độ nguy hiểm thành mặc định.

Backup trước khi sửa lớn, restore khi cần đường lui

Người mới có preset Full backup; người chuyên sâu có thể chọn database/themes/plugins/uploads/wp-config, dùng incremental filesystem khi có base phù hợp và import package .tswbak để restore theo scope.

Safety Guard chặn lỗi thao tác trước khi nó trở thành sự cố

Có thể đánh dấu dữ liệu quan trọng không được phép xóa. Plugin còn tự bảo vệ current user, default category, logo/site icon và các trang hệ thống có thể xác định được; các thao tác phá hủy yêu cầu cụm xác nhận rõ ràng.

Monitoring giúp việc bảo trì không kết thúc sau khi đóng tab

Khi bật, plugin kiểm tra định kỳ những dấu hiệu như website không truy cập được, cron trễ, disk thấp, database tăng lớn, SSL sắp hết hạn hoặc fatal PHP và có thể gửi email cảnh báo.

Quy trình

Guided Maintenance — 5 bước cho một phiên bảo trì an toàn

Bước 1

Kiểm tra website

Chạy kiểm tra nhanh hoặc Site Doctor để biết website đang có vấn đề gì trước khi chỉnh sửa.

Bước 2

Tạo backup

Tạo Full backup trước các thay đổi lớn để luôn có đường lui nếu kết quả không như mong muốn.

Bước 3

Dọn dữ liệu thừa

Dọn ảnh, bài viết, term, database hoặc cache theo kiểu xem trước và xử lý theo lô có giới hạn.

Bước 4

Kiểm tra bảo mật

Xem cấu hình, file có dấu hiệu bất thường và baseline diff; plugin cảnh báo chứ không tự xóa file nghi ngờ.

Bước 5

Bật giám sát

Theo dõi định kỳ để phát hiện vấn đề mới sau khi phiên bảo trì đã kết thúc.

An toàn mặc định

Plugin cố gắng ngăn thao tác sai trước khi phải cứu dữ liệu

Preview / Dry-run

Các luồng cleanup và Search & Replace ưu tiên xem kết quả trước khi ghi.

Trash trước

Bài viết và media ưu tiên Trash khi WordPress hỗ trợ để còn khả năng phục hồi.

Protected data

Safety Guard từ chối thao tác xóa khi chạm vào đối tượng đã được bảo vệ.

Rollback / Undo

Search & Replace có checkpoint rollback; change journal hỗ trợ theo dõi và hoàn tác các luồng phù hợp.

Xác nhận thao tác nguy hiểm

Permanent delete, restore và một số schedule nguy hiểm yêu cầu cụm xác nhận riêng.

Batch có giới hạn

Tác vụ lớn được chia nhỏ, có progress và giới hạn tổng item để giảm timeout/OOM.

Dành cho người muốn biết bên dưới hoạt động thế nào

Tối ưu hiệu năng nhưng không bỏ lớp kiểm tra an toàn

Adaptive Runtime

Batch có thể tự điều chỉnh dựa trên thời gian xử lý và mức sử dụng RAM.

Snapshot & incremental refresh

Một số scanner hỗ trợ snapshot/delta; khi không chứng minh được an toàn sẽ yêu cầu Full Scan thay vì đoán.

MySQL-authoritative Search & Replace

Contains/Exact dùng MySQL làm nguồn xác nhận cuối cùng và giữ transform an toàn cho serialized/JSON.

Checksum

Backup/update sử dụng kiểm tra integrity; private updater xác minh package SHA-256 và file size.

Signed capability

License state/capability được ký; request nhạy cảm dùng installation token và cơ chế chống replay.

Lazy-load admin modules

Các module nặng chỉ được nạp khi cần, hạn chế ảnh hưởng tới frontend và wp-admin ngoài trang TSWolf.

FAQ

Câu hỏi thường gặp

Những điều nên biết trước khi dùng plugin cho website thật.

Tôi không rành kỹ thuật có dùng được không?

Có. v0.17.0 có Dashboard dễ đọc, “Việc nên làm”, Guided Maintenance 5 bước và chế độ Dễ dùng để ẩn bớt các control kỹ thuật. Chế độ Chuyên sâu vẫn còn nguyên khi cần.

Plugin có tự xóa file hoặc dữ liệu mà không hỏi không?

Các công cụ cleanup ưu tiên preview/Trash và những thao tác nguy hiểm có bước xác nhận. Security scan chỉ cảnh báo file đáng ngờ, không tự ý xóa chúng.

Có thể backup và restore ngay trong plugin không?

Có. Plugin hỗ trợ Full backup, từng thành phần, incremental filesystem khi có base phù hợp, import package .tswbak và restore theo scope.

Search & Replace có rollback không?

Có. Luồng chuẩn là Dry-run → xem vị trí/preview → Replace. Mỗi item thay thành công có rollback checkpoint và chỉ phục hồi khi dữ liệu hiện tại vẫn phù hợp để tránh ghi đè thay đổi mới.

Tối ưu ảnh có gửi ảnh lên dịch vụ bên ngoài không?

Chức năng tối ưu ảnh hiện tại xử lý local bằng khả năng image processing của server; không dùng AI/model/API tối ưu ảnh bên ngoài.

Monitoring kiểm tra những gì?

Khi bật, plugin có thể kiểm tra HTTP của website, cron quá hạn, dung lượng đĩa, kích thước database, SSL sắp hết hạn và fatal PHP gần nhất; có tùy chọn email cảnh báo.

Có thể lên lịch bảo trì tự động không?

Có. Có thể lên lịch xóa bài/ảnh, xử lý category/tag/user hoặc tối ưu ảnh. Job chạy theo batch nhỏ và có khóa chống chạy chồng.

Plugin yêu cầu phiên bản nào?

Bản 0.17.0 yêu cầu WordPress 6.5+ và PHP 7.4+ theo metadata của release hiện tại.

Sau khi cài lần đầu thì cập nhật plugin thế nào?

Installation có license hợp lệ nhận update qua Release Manager riêng. Metadata/ticket được xác minh và ZIP phải khớp SHA-256 cùng file size đã ký trước khi cài.

Đã có license thì tải plugin lần đầu ở đâu?

Đăng nhập tài khoản TSWolf, mở trang Giấy phép và bấm tải bản ổn định của sản phẩm. Link package được tạo có thời hạn thay vì công khai file ZIP cố định.

TSWolf Overflow

Một nơi để kiểm tra, bảo trì và theo dõi WordPress

Bắt đầu theo Guided Maintenance nếu bạn mới quản trị website; mở Chế độ Chuyên sâu khi cần kiểm soát chi tiết hơn.

Preview và cảnh báo trước thao tác rủi roBackup/restore tích hợpPrivate update cho installation có license hợp lệ
Giấy phép

Giấy phép và gói sử dụng

Các gói bên dưới lấy trực tiếp từ License Manager. Website hiện chưa có cổng thanh toán trực tuyến; yêu cầu mua hoặc tư vấn sẽ chuyển sang trang Liên hệ.

Tài liệu

Tài liệu TSWolf WP Maintains Tools

Yêu cầu hệ thống, kiến trúc license/update và các nguyên tắc an toàn của TSWolf WP Maintains Tools v0.17.0.

Requirements

Yêu cầu hệ thống

Plugin version

Release Manager / private updater

WordPress

Minimum required version

PHP

Minimum required version

License

Signed capability

Mỗi site có installation UUID riêng. License state/capability được ký RSA SHA-256; plugin chỉ chứa public key. Refresh/capability/deactivate sử dụng installation token, HMAC, timestamp và nonce.

Updater

Release Manager

Metadata update và download ticket được xác minh bằng chữ ký server. Package URL có hạn chỉ được xin khi WordPress bắt đầu tải. ZIP phải khớp SHA-256 và file size đã được server ký.

Backup

Full + Incremental

Backup v3 hỗ trợ Full → Incremental filesystem chain. Database vẫn là full dump trong từng backup. Scope Files/All kiểm tra dependency chain trước khi ghi và SHA-256 package vẫn bắt buộc trước restore.

Search & Replace

Safety trước tốc độ

Pipeline giữ serialized/JSON-safe transformation, optimistic/read-back verification và rollback. Keyset cursor được dùng khi schema phù hợp; nếu không sẽ fallback thay vì giảm coverage.

Nhật ký thay đổi

Lịch sử phiên bản

Chỉ hiển thị các phiên bản và thay đổi đã được khai báo thực tế cho sản phẩm.

v1.0.5 improvement

Security Accuracy, Pagination & Multilingual UI

Cải thiện đáng kể độ chính xác của Security Scanner, sửa hệ thống phân trang kết quả và hoàn thiện trải nghiệm đa ngôn ngữ.

  • Security Scanner theo dấu dữ liệu chính xác hơn trước khi xác định code nguy hiểm.
  • Giảm cảnh báo sai đối với plugin backup, migration, SSH, archive và thư viện PHP cũ.
  • Phân biệt PHP global exec với method exec trong class hoặc thư viện.
  • Cải thiện include/require động, eval, shell command và decoder theo đúng luồng dữ liệu.
  • Làm lại phân trang Security để số lượng kết quả mỗi trang ổn định và chính xác.
  • Mở rộng hệ thống đa ngôn ngữ cho navigation, toolbar, Security, progress và pagination.
  • Bổ sung capability cho Comment Manager, forensic security và safe auto-remediation.
vv1.0.12 improvement

License Revocation, Restore Safety & Recovery Hardening

Tăng cường an toàn khi license hết hạn, bị thu hồi hoặc mất kết nối tới license server. Phiên bản này tập trung ngăn các tác vụ nền, Maintenance Mode, Monitoring, Restore, Search & Replace và scheduled jobs gây ảnh hưởng ngoài ý muốn khi license thay đổi trạng thái, đồng thời bổ sung nhiều lớp bảo vệ cho quá trình restore database và filesystem.

  • Sửa lỗi Maintenance Mode có thể tiếp tục giữ frontend ở trạng thái HTTP 503 sau khi license không còn hoạt động.
  • Maintenance Mode tự chuyển về trạng thái an toàn khi license bị revoke, expired hoặc server xác nhận license không còn hợp lệ.
  • Luôn cho phép tắt Maintenance Mode kể cả khi license không còn active.
  • Không cho license gate khóa các thao tác STOP, DISABLE, ABORT hoặc ROLLBACK cần thiết để cứu website.
  • Khi deactivate license, plugin thực hiện shutdown các runtime Pro liên quan trước khi hoàn tất quá trình deactivate với license server.
  • Scheduled jobs đang pending hoặc running được chuyển sang trạng thái pause khi license không còn hợp lệ.
  • Scheduled jobs không tự động tiếp tục sau khi license bị revoke.
  • Scheduled jobs không tự động sống lại sau khi plugin bị deactivate rồi activate lại.
  • Scheduled jobs không tự động sống lại sau khi plugin bị gỡ và cài lại.
  • Job từng bị pause do reactivation yêu cầu administrator chủ động Resume.
  • Resume scheduled job yêu cầu license đang hoạt động.
  • Ngừng Monitoring cron khi license không còn active.
  • Ngừng HTTP Monitoring runtime khi license không còn active.
  • Ngừng Database Reinfection Watch runtime khi license không còn active.
  • Ngừng Login Monitoring runtime khi license không còn active.
  • Khôi phục Heartbeat và các runtime performance setting về trạng thái an toàn khi license không còn active.
  • Luôn cho phép người dùng tắt Monitoring kể cả khi license inactive.
  • Luôn cho phép người dùng tắt Database Reinfection Watch kể cả khi license inactive.
  • Luôn cho phép Pause và Cancel scheduled job khi license inactive.
  • Luôn cho phép tải xuống backup đã tạo trước đó.
  • Luôn cho phép Search & Replace rollback khi operation đã thay đổi dữ liệu.
  • Luôn cho phép Journal Undo đối với các thay đổi đã được ghi nhận.
  • Luôn cho phép rollback Security Database Cleanup khi cần phục hồi dữ liệu.
  • Bổ sung continuation lease cho Search & Replace.
  • Search & Replace đang chạy không bị chặn giữa operation chỉ vì license bị revoke.
  • Search & Replace đang chạy không bị chặn giữa operation chỉ vì license server tạm thời mất kết nối.
  • Không cho phép bắt đầu Search & Replace mới khi license không đáp ứng yêu cầu.
  • Bổ sung continuation protection cho Backup Restore.
  • Backup Restore đã bắt đầu thay đổi live state được phép tiếp tục tới safe checkpoint hoặc hoàn tất.
  • License bị revoke giữa Restore không làm operation dừng ngay tại trạng thái database hoặc filesystem chưa hoàn chỉnh.
  • Không cho phép bắt đầu Restore mới nếu license không đáp ứng yêu cầu.
  • Bắt buộc tạo safety backup trước khi bắt đầu Restore database hoặc full restore.
  • Safety backup thất bại sẽ chặn Restore thay vì chỉ hiển thị warning rồi tiếp tục.
  • Safety backup được tạo độc lập trước khi thay đổi live database.
  • Cải thiện khả năng recovery khi Restore gặp lỗi giữa quá trình.
  • Database Restore không còn trực tiếp DROP và ghi lại live table theo cách cũ.
  • Database Restore sử dụng temporary table trước khi đưa dữ liệu vào live state.
  • Sử dụng atomic table rename/swap khi môi trường database hỗ trợ.
  • Bổ sung checkpoint cho quá trình swap database table.
  • Giảm nguy cơ database ở trạng thái nửa cũ nửa mới khi PHP hoặc PHP-FPM bị dừng đột ngột.
  • Giữ lại các WordPress runtime option cần thiết trong quá trình Restore.
  • Giữ home và siteurl an toàn trong quá trình Restore để tránh redirect website sang domain của backup.
  • Giữ trạng thái cron cần thiết để Restore có thể tiếp tục.
  • Giữ runtime state của TSWolf cần thiết để hoàn tất operation đang chạy.
  • Tránh Restore ghi đè trực tiếp source của TSWolf đang thực hiện Restore.
  • Cải thiện xử lý Restore backup được tạo từ domain hoặc environment khác.
  • File Restore không còn ghi trực tiếp vào live file bằng cách truncate file trước.
  • File Restore ghi dữ liệu vào temporary file trước.
  • Flush dữ liệu trước khi thay file live.
  • Sử dụng fsync() khi môi trường hỗ trợ.
  • Kiểm tra kích thước file tạm trước khi thay thế file live.
  • Sử dụng atomic rename để đưa file đã xác minh vào vị trí đích.
  • Giảm nguy cơ file PHP bị truncate hoặc ghi dở khi process bị kill giữa Restore.
  • Restore chưa chạm live state có thể được Abort an toàn.
  • Restore đã chạm live state không cho phép bỏ ngang theo cách có thể để website ở trạng thái không nhất quán.
  • Restore đang chạy được hướng dẫn tiếp tục hoặc sử dụng safety recovery khi cần.
  • Bổ sung khả năng nhận diện Restore cũ từ các phiên bản trước đã thay đổi live state.
  • Restore legacy đang dở được chuyển sang continuation mode thay vì bị license gate làm mắc kẹt.
  • Cải thiện xử lý license offline grace.
  • Signed capability đã được xác nhận trước đó có thể được dùng trong phạm vi offline grace phù hợp.
  • Network timeout tạm thời không bị đánh đồng với license revoked.
  • HTTP 408, 429 và một số lỗi server tạm thời có thể sử dụng cached authorization hợp lệ.
  • Explicit license denial không được fallback sang cached authorization.
  • License bị server xác nhận revoked hoặc denied sẽ ngăn việc bắt đầu operation Pro mới.
  • Giảm các request license không cần thiết khi license đã ở terminal state.
  • Tăng cường phân biệt giữa expired, revoked, server_denied và lỗi kết nối tạm thời.
  • Uninstall dọn các cron runtime của TSWolf.
  • Uninstall chuyển job chưa hoàn tất sang trạng thái an toàn thay vì để chúng tự chạy lại sau reinstall.
  • Uninstall reset Maintenance Mode để website không bất ngờ quay lại HTTP 503 sau khi cài plugin lại.
  • Uninstall dọn Login Monitoring runtime.
  • Uninstall dọn các runtime lock liên quan tới File Editor do plugin quản lý.
  • Giữ log, backup và dữ liệu người dùng cần thiết theo policy hiện tại.
  • Không xóa dữ liệu website khi license hết hạn hoặc bị thu hồi.
  • Không tự deactivate plugin khi license bị thu hồi.
vv1.0.11 improvement

Quick & Deep Security Scan, Progress and Diff Viewer Improvements

Bổ sung hai chế độ Quét nhanh và Quét sâu cho Security Scan, sửa logic thống kê tiến trình quét, tối ưu trải nghiệm kiểm tra định kỳ và làm lại giao diện đối chiếu file để phân biệt rõ bản chuẩn với file đang tồn tại trên website

  • Bổ sung chế độ Quét nhanh cho Security Scan.
  • Bổ sung chế độ Quét sâu cho Security Scan.
  • Quét nhanh được thiết kế cho các lần kiểm tra bảo mật định kỳ.
  • Quét sâu tiếp tục thực hiện phạm vi kiểm tra toàn diện như Security Scan đầy đủ.
  • Quét nhanh ưu tiên các khu vực và loại file có rủi ro cao thay vì xử lý toàn bộ filesystem theo cùng một mức độ.
  • Quét nhanh vẫn kiểm tra WordPress Core integrity quan trọng.
  • Quét nhanh vẫn kiểm tra các file PHP có khả năng thực thi.
  • Quét nhanh vẫn kiểm tra các entry point quan trọng của plugin và theme.
  • Quét nhanh vẫn kiểm tra tài khoản và quyền người dùng.
  • Quét nhanh vẫn kiểm tra mật khẩu yếu đối với các tài khoản có mức quyền quan trọng.
  • Quét nhanh vẫn kiểm tra các cấu hình và dữ liệu database quan trọng.
  • Quét sâu giữ đầy đủ filesystem analysis và các bước kiểm tra chuyên sâu.
  • Hiển thị rõ chế độ scan hiện tại trong progress của Security Scan.
  • Snapshot Security Scan ghi nhận chế độ scan đã sử dụng.
  • Scan đang dở chỉ được resume khi chế độ scan hiện tại phù hợp với snapshot.
  • Chuyển từ Quét nhanh sang Quét sâu sẽ tạo phiên scan phù hợp thay vì tiếp tục nhầm snapshot cũ.
  • Sửa lỗi progress có thể hiển thị tổng số tài khoản thành số lượng tài khoản Administrator.
  • Tách riêng số lượng tài khoản đã kiểm tra và số lượng Administrator.
  • Tách riêng số lượt kiểm tra mật khẩu người dùng.
  • Tách riêng trạng thái kiểm tra database và cấu hình.
  • Counter tài khoản được tính theo user_id duy nhất.
  • Không tăng số lượng tài khoản nhiều lần khi cùng một user được kiểm tra bởi nhiều security rule.
  • Sửa frontend progress để giá trị 0 từ backend được cập nhật chính xác.
  • Không còn giữ lại counter cũ khi backend trả về giá trị bằng 0.
  • Cải thiện nội dung progress để người dùng biết Security Scan đang ở phase nào.
  • Làm rõ các phase Filesystem, Users, Database, Configuration và Finalizing.
  • Giảm khả năng người dùng hiểu nhầm scan bị treo khi một phase chưa bắt đầu.
  • Nâng Security Engine version để tránh sử dụng lại snapshot không tương thích với chế độ scan mới.
  • Snapshot Security cũ sẽ được làm mới khi Security Engine version thay đổi.
  • Làm lại giao diện Đối chiếu trực tiếp.
  • Tách rõ hai khu vực Bản chuẩn và File trên website.
  • Bổ sung cột số dòng riêng cho Bản chuẩn.
  • Bổ sung cột số dòng riêng cho file đang tồn tại trên website.
  • Chuẩn hóa cấu trúc thành bốn cột Dòng chuẩn, Bản chuẩn, Dòng web, File trên website.
  • Cố định chiều rộng gutter số dòng để số dòng dài không bị xuống hàng.
  • Sửa lỗi số dòng như 335 có thể bị hiển thị thành nhiều dòng riêng biệt.
  • Căn chỉnh kích thước hai vùng source để người dùng dễ xác định bên nào là bản chuẩn.
  • Bổ sung đường phân cách trực quan giữa bản chuẩn và file trên website.
  • Sửa code dài tràn từ một vùng so sánh sang vùng còn lại.
  • Cho phép code dài wrap trong đúng vùng source tương ứng.
  • Giữ highlight các dòng khác biệt giữa hai phiên bản.
  • Giữ khả năng thu gọn các đoạn code giống nhau để tập trung vào phần thay đổi.
  • Cải thiện khả năng đọc diff trên màn hình desktop lớn.
  • Cải thiện khả năng sử dụng diff đối với người dùng không có kiến thức lập trình chuyên sâu.
vv1.0.10 improvement

Security Scan, Filtering & Admin Table Improvements

Cải thiện Security Scan, hệ thống filter và giao diện bảng quản trị. Bổ sung khôi phục file chuẩn trực tiếp từ danh sách, phát hiện plugin đã bị gỡ khỏi WordPress.org, kiểm tra mật khẩu người dùng quá yếu, sửa lỗi filter trước pagination và tối ưu thao tác với bảng kết quả

  • Bổ sung nút khôi phục bản chuẩn trực tiếp tại danh sách Security đối với file đủ điều kiện.
  • Giữ đầy đủ quy trình backup trước khi khôi phục file.
  • Xác minh nguồn tham chiếu trước khi cho phép khôi phục bản chuẩn.
  • Xác minh integrity của file sau khi hoàn tất khôi phục.
  • Sau khi xử lý file từ danh sách, người dùng được đưa trở lại đúng khu vực Security Scan.
  • Tự động gom các action vào dropdown khi một dòng có quá nhiều thao tác.
  • Giữ các action quan trọng hiển thị trực tiếp khi số lượng thao tác còn ít.
  • Sửa lỗi .tswolf-table-wrap làm ảnh hưởng tới thao tác cuộn trang.
  • Khôi phục khả năng scroll bằng con lăn chuột khi con trỏ nằm trong bảng.
  • Khôi phục thao tác scroll bằng phím mũi tên lên và xuống.
  • Khôi phục thao tác bằng Page Up và Page Down.
  • Khôi phục thao tác bằng Space và Shift + Space khi không focus vào control cần nhập liệu.
  • Tối ưu chiều rộng .tswolf-card trên màn hình desktop lớn.
  • Giảm khoảng trống không cần thiết giữa card và rìa vùng nội dung WordPress Admin.
  • Giữ responsive layout phù hợp trên tablet và màn hình nhỏ.
  • Chuẩn hóa lại logic filter của Security Scan.
  • Áp dụng Security Scan filter trên toàn bộ dataset trước khi thực hiện pagination.
  • Loại bỏ tình trạng cùng một filter bị áp dụng thêm lần thứ hai ở frontend gây thiếu kết quả.
  • Sửa pagination count để phản ánh đúng số lượng finding sau khi filter.
  • Chuẩn hóa lại filter theo severity.
  • Chuẩn hóa lại filter theo loại finding.
  • Chuẩn hóa lại filter theo loại component và dữ liệu liên quan.
  • Sửa logic filter File Scan để dữ liệu được lọc từ nguồn trước khi phân trang.
  • Sửa lỗi file_level đã được frontend gửi lên nhưng trước đây chưa được áp dụng đúng tại backend snapshot query.
  • Tránh tình trạng File Scan chỉ lọc các dòng đang có trên trang hiện tại.
  • Đồng bộ số lượng kết quả và số trang sau khi thay đổi filter.
  • Khi chuyển pagination, giao diện tự động cuộn về đầu bảng tương ứng.
  • Không còn phải tự scroll lên đầu bảng sau mỗi lần chuyển trang.
  • Bổ sung finding Plugin Removed.
  • Phát hiện plugin từng có bằng chứng thuộc WordPress.org nhưng hiện không còn được tìm thấy trên Plugin Information API.
  • Chỉ tạo cảnh báo Plugin Removed khi có đủ bằng chứng nhằm hạn chế false positive đối với plugin custom hoặc premium.
  • Hỗ trợ phát hiện trường hợp plugin cũ vẫn được cài trên website sau khi plugin đã bị remove khỏi WordPress.org.
  • Bổ sung finding Insecure Password.
  • Kiểm tra các tài khoản WordPress đang sử dụng một số mật khẩu đặc biệt yếu hoặc dễ đoán.
  • Áp dụng kiểm tra mật khẩu yếu cho cả Administrator, Editor, Author, Contributor, Subscriber và các role tùy chỉnh.
  • Sử dụng wp_check_password() để xác minh trực tiếp với password hash hiện tại của WordPress.
  • Không giải mã password hash.
  • Không lưu mật khẩu dạng rõ.
  • Không hiển thị mật khẩu đã khớp trong finding hoặc Security Detail.
  • Bổ sung kiểm tra một số password yếu phổ biến.
  • Bổ sung kiểm tra một số biến thể trực tiếp từ username và thông tin định danh của tài khoản khi đủ điều kiện.
  • Giữ phạm vi kiểm tra mật khẩu ở mức bảo thủ để hạn chế false positive.
  • Không tự đánh giá mật khẩu là yếu chỉ dựa trên độ dài hash hoặc metadata của user.
  • Nâng Security Engine version để các rule mới không sử dụng lại snapshot cũ không tương thích.
  • Security Scan sẽ yêu cầu tạo snapshot mới khi engine version thay đổi.
vv1.0.9 fix

Control Flow & Endpoint Security Analysis

Nâng cấp Security Scanner với khả năng phân tích control-flow, allowlist, WordPress AJAX/REST endpoint, nonce, capability và hook propagation để đánh giá chính xác hơn khả năng khai thác thực tế và giảm false positive

  • Bổ sung phân tích control-flow cho dữ liệu đi từ request đến các dangerous sink.
  • Nhận diện fixed allowlist được triển khai bằng switch/case với các giá trị literal.
  • Nhận diện allowlist sử dụng in_array(..., true) và array_search(..., true).
  • Chỉ giảm cảnh báo khi toàn bộ phần dynamic của sink đã được constrain bằng tập giá trị hữu hạn có thể chứng minh.
  • Giữ nguyên cảnh báo nếu vẫn còn biến dynamic khác chưa được kiểm soát trong đường dẫn thực thi.
  • Giới hạn taint analysis theo phạm vi function để tránh request input trong function khác gây false positive.
  • Bổ sung nhận diện WordPress AJAX endpoint thông qua wp_ajax_*.
  • Bổ sung nhận diện public AJAX endpoint thông qua wp_ajax_nopriv_*.
  • Bổ sung nhận diện WordPress REST route và permission_callback.
  • Nhận diện REST endpoint public sử dụng __return_true.
  • Bổ sung nhận diện check_ajax_referer() và check_admin_referer().
  • Bổ sung nhận diện wp_verify_nonce() và các nonce guard phổ biến.
  • Bổ sung nhận diện current_user_can(), user_can() và các capability guard phổ biến.
  • Bổ sung phân tích request propagation qua do_action() và apply_filters().
  • Theo dõi dữ liệu từ WordPress hook sang callback trong cùng source khi có thể xác định tĩnh.
  • Không truyền taint sang hook callback khi dữ liệu đã được constrain bằng fixed allowlist trước đó.
  • Public AJAX hoặc REST endpoint dẫn trực tiếp tới dangerous sink có thể được nâng lên mức Critical.
  • Official checksum khớp không còn tự động làm mất finding hành vi nếu scanner chứng minh được đường khai thác thực tế.
  • Bổ sung thông tin Endpoint, Authentication, Nonce, Capability và Control-flow Constraint trong Security Detail.
  • Giảm false positive đối với request-controlled include/require đã được giới hạn bằng whitelist an toàn.
  • Trường hợp Thrive Leads sử dụng $_POST['ajax_load'] cùng fixed switch allowlist không còn bị cảnh báo sai.
  • Tiếp tục giữ cảnh báo với direct request-to-include, request-to-eval, command execution và các dangerous sink chưa được constrain.
  • Bổ sung regression test cho fixed switch allowlist, strict array allowlist, public AJAX, authenticated AJAX, REST endpoint và WordPress hook propagation.
  • Không thay đổi database schema, license API hoặc capability hiện tại của plugin.
vv1.0.8 fix

Maintenance Risk Detection & Trusted Files Management

Bổ sung khả năng nhận diện plugin WordPress.org đã lâu không được cập nhật hoặc chưa được kiểm thử với phiên bản WordPress hiện tại, đồng thời hoàn thiện hệ thống đánh dấu file an toàn và quản lý các fingerprint đã tin cậy.

  • Bổ sung phát hiện plugin WordPress.org đã lâu không được cập nhật dựa trên metadata last_updated.
  • Bổ sung cảnh báo khi plugin chưa được kiểm thử với phiên bản WordPress hiện tại dựa trên trường tested.
  • Phân loại plugin quá cũ thành Maintenance Risk thay vì cảnh báo Security hoặc malware.
  • Bổ sung mức cảnh báo cao hơn cho plugin đã nhiều năm không có release mới.
  • Tăng mức chú ý khi plugin vừa quá cũ vừa chưa được kiểm thử với WordPress hiện tại.
  • Hiển thị phiên bản plugin, thời điểm cập nhật gần nhất, thời gian không cập nhật và phiên bản WordPress đã được kiểm thử.
  • Bổ sung khuyến nghị kiểm tra changelog, support, staging và phương án thay thế đối với plugin có dấu hiệu bị bỏ quên.
  • Không sử dụng file modification time để suy đoán tuổi đời của plugin Premium hoặc Custom.
  • Cache metadata WordPress.org để giảm số lượng request ra ngoài trong quá trình quét.
  • Sửa UI bulk action “Đánh dấu file đã chọn là an toàn” để người dùng thực sự có thể chọn file.
  • Bổ sung checkbox chọn file trong bảng Security.
  • Bổ sung checkbox chọn tất cả các file đủ điều kiện đánh dấu an toàn.
  • Hiển thị checkbox disabled đối với finding không đủ điều kiện để người dùng biết file không thể được whitelist.
  • Bổ sung nút “Đánh dấu an toàn cho tới khi file thay đổi” trực tiếp trong cột Action của từng file đủ điều kiện.
  • Tiếp tục chặn việc đánh dấu an toàn đối với các finding High/Critical hoặc có bằng chứng thực thi nguy hiểm mạnh.
  • Bổ sung trang “File đã đánh dấu an toàn” để quản lý toàn bộ fingerprint được admin xác nhận.
  • Hiển thị đường dẫn, SHA-256, thời gian xác nhận, tài khoản xác nhận và trạng thái hiện tại của từng trusted file.
  • Phát hiện trusted file đã thay đổi checksum, bị xóa hoặc không còn tồn tại.
  • Bổ sung chức năng thu hồi trạng thái an toàn và đưa file trở lại quá trình quét.
  • Trusted fingerprint chỉ có hiệu lực khi SHA-256 hiện tại vẫn khớp chính xác với fingerprint đã xác nhận.
  • Không thay đổi database schema, license API hoặc capability hiện tại của plugin.
vv1.0.7 fix

Runtime Placeholder Integrity Improvements

Cải thiện khả năng phân biệt giữa file runtime hợp lệ và file bất thường, giảm false positive khi đối chiếu integrity mà vẫn giữ nguyên khả năng phát hiện mã nguy hiểm.

  • Cải thiện xử lý các file runtime không tồn tại trong package phát hành chính thức.
  • Giảm false positive với các index.php placeholder được plugin hoặc theme tạo trong quá trình hoạt động.
  • Nhận diện an toàn các file rất nhỏ chỉ chứa plain text và không có khả năng thực thi code.
  • Không còn tự động nâng mức cảnh báo chỉ vì một runtime placeholder có trạng thái integrity unlisted.
  • Bổ sung kiểm tra PHP opening tag trước khi coi file là inert placeholder.
  • Bổ sung kiểm tra HTML, JavaScript, data URL và control byte để tránh bỏ sót file nguy hiểm.
  • Các file chứa eval, short echo tag, script, HTML hoặc PHP executable vẫn tiếp tục bị Security Scanner kiểm tra.
  • Cải thiện logic kết hợp giữa official checksum, baseline và runtime-generated files.
  • Không hard-code riêng từng plugin; rule mới có thể áp dụng cho các runtime placeholder hợp lệ tương tự.
  • Bổ sung regression test cho các trường hợp runtime placeholder và executable content.
  • Không thay đổi database schema, license API hoặc capability của plugin.
vv1.0.6 fix

Security Scanner Accuracy Improvements

Bản cập nhật tập trung vào việc giảm cảnh báo sai trong Security Scanner, cải thiện độ chính xác khi phân tích PHP và làm rõ hơn các kết quả kiểm tra đối với plugin/theme premium hoặc custom.

  • Sửa lỗi parser PHP khiến một số câu include/require an toàn bị nhận nhầm là sử dụng dữ liệu từ request.
  • Giảm false positive với các file index.php chỉ dùng để chặn truy cập thư mục như // silent, Silence is golden hoặc file PHP rỗng.
  • Cải thiện nhận diện các file PHP chỉ chứa dữ liệu tĩnh, cấu hình hoặc bảng mapping.
  • Chỉ bỏ qua cảnh báo data-only khi nội dung không có hành vi nguy hiểm và checksum vẫn khớp baseline đáng tin cậy.
  • Tự động quét lại đầy đủ khi SHA-256 thay đổi hoặc file xuất hiện thêm code thực thi.
  • Giữ nguyên phát hiện với eval, thực thi động, request input đi vào include/require, remote input, obfuscation và các luồng dữ liệu nguy hiểm.
  • Cải thiện xử lý plugin/theme Premium, Custom hoặc không có source WordPress.org để tránh nâng cảnh báo chỉ vì thiếu nguồn đối chiếu công khai.
  • Tách rõ cảnh báo Security khỏi cảnh báo Maintenance như plugin/theme có phiên bản mới.
  • Sửa nội dung AI Security bị hard-code phiên bản cũ v0.21.7.
  • Cải thiện thông tin hiển thị về baseline, checksum và nguồn integrity.
  • Giảm cảnh báo không cần thiết với các file PHP hợp lệ trong khu vực Uploads.
  • Bổ sung regression test để đảm bảo việc giảm false positive không làm suy yếu khả năng phát hiện mã nguy hiểm.
vv1.0.5 fix

Security Accuracy, Pagination & Multilingual UI

Cải thiện đáng kể độ chính xác của Security Scanner, giảm cảnh báo sai ở các plugin hợp lệ, sửa lại hệ thống phân trang kết quả và hoàn thiện trải nghiệm đa ngôn ngữ để giao diện nhất quán hơn khi chuyển ngôn ngữ

  • Security Scanner phân tích chính xác hơn luồng dữ liệu trước khi xác định một đoạn code là nguy hiểm.
  • Giảm cảnh báo sai đối với các plugin backup, migration, SSH, archive và thư viện PHP cũ.
  • Không còn coi riêng eval(), shell_exec(), exec(), create_function() hoặc include/require là đủ để kết luận code nguy hiểm.
  • Phân biệt chính xác hơn giữa hàm thực thi hệ thống của PHP và các method cùng tên trong class hoặc thư viện bên thứ ba.
  • Các đường dẫn include/require nội bộ, cố định hoặc được giới hạn trong danh sách file an toàn không còn bị cảnh báo nhầm.
  • Tiếp tục cảnh báo mạnh khi dữ liệu từ request, remote source hoặc payload đã giải mã thực sự đi vào lệnh thực thi.
  • Tiếp tục phát hiện các chuỗi hành vi nguy hiểm như command injection, dynamic include và decoded code execution.
  • Cải thiện phân tích các plugin premium hoặc custom chưa có source công khai để đối chiếu.
  • Security Scan tự làm mới snapshot cũ khi engine phân tích thay đổi.
  • Làm lại hệ thống phân trang Security để số lượng kết quả trên mỗi trang ổn định và chính xác hơn.
  • Không còn tình trạng trang đầu chỉ hiện vài finding nhưng phần còn lại bị dồn vào một nút “kết quả tiếp theo”.
  • Bổ sung điều hướng Trang trước, Trang tiếp theo, số trang hiện tại và tổng số trang.
  • Cải thiện đồng bộ giữa số lượng finding hiển thị và tổng số finding thực tế.
  • Mở rộng hệ thống đa ngôn ngữ sang nhiều khu vực giao diện trước đây còn dùng text cố định.
  • Giảm tình trạng chọn English nhưng giao diện vẫn xen lẫn tiếng Việt.
  • Cải thiện bản dịch cho navigation, toolbar, Security, pagination, progress và các thông báo thao tác.
  • Hỗ trợ nhất quán hơn cho Auto/WordPress Language, Tiếng Việt, English, 简体中文 và 日本語.
  • Tạm ẩn các language pack chưa được dịch đầy đủ để tránh giao diện bị trộn nhiều ngôn ngữ.
vv1.0.4 fix

Behavior-Aware Security Heuristics

Security Scanner được nâng cấp để đánh giá hành vi và luồng dữ liệu thay vì xem tên một API nguy hiểm là bằng chứng malware. Điều này giúp giảm mạnh false positive ở plugin backup, migration, archive, xử lý media và thư viện cũ, trong khi những luồng thực thi nhận dữ liệu từ request, remote, decoder hoặc obfuscation vẫn được cảnh báo mạnh.

  • eval() đơn lẻ không còn tự động bị xếp mức Cao nếu chưa phát hiện nguồn dữ liệu nguy hiểm.
  • eval() nhận dữ liệu từ request, remote hoặc payload đã giải mã vẫn được nâng mức cảnh báo mạnh.
  • Cải thiện phân tích shell_exec(), exec(), system(), passthru(), proc_open() và popen().
  • Phân tích nguồn của biến command thay vì chỉ kiểm tra tên hàm thực thi.
  • Theo dấu một số bước gán biến trước khi command được đưa vào hàm thực thi.
  • Nhận diện command nhận dữ liệu trực tiếp từ $_GET, $_POST, $_REQUEST, file upload hoặc request body.
  • Nhận diện command sử dụng dữ liệu lấy từ nguồn bên ngoài.
  • Tiếp tục cảnh báo mạnh đối với downloader và shell pipeline như curl, wget, bash, sh và các luồng tương tự.
  • Nhận diện thêm các command có dấu hiệu obfuscation hoặc giải mã trước khi thực thi.
  • Nhận diện tốt hơn các tác vụ hợp lệ của backup, migration và database.
  • Nhận diện tốt hơn các tác vụ hợp lệ sử dụng mysqldump, MariaDB dump và PostgreSQL dump.
  • Nhận diện tốt hơn các tác vụ archive sử dụng ZIP, TAR, 7-Zip và rsync.
  • Nhận diện tốt hơn các tác vụ media sử dụng FFmpeg và ImageMagick.
  • Nhận diện thêm các ngữ cảnh hợp lệ liên quan đến OpenSSL, Composer và WP-CLI.
  • Command maintenance đã được escape bằng escapeshellarg() hoặc escapeshellcmd() có thể được loại khỏi cảnh báo nhiễu khi không có nguồn input nguy hiểm.
  • Không còn nhầm $object->exec() với hàm PHP exec().
  • Không còn nhầm Class::exec() với hàm PHP exec().
  • create_function() tĩnh được xem chủ yếu là vấn đề tương thích PHP legacy thay vì bằng chứng malware.
  • create_function() vẫn được nâng cảnh báo nếu body hoặc argument nhận dữ liệu từ request, remote hoặc decoder.
  • Cải thiện phát hiện preg_replace() sử dụng modifier /e cũ.
  • preg_replace /e đơn lẻ được xem là code legacy cần kiểm tra thay vì tự động coi là malware mức cao.
  • preg_replace /e nhận dữ liệu không tin cậy vẫn được nâng mức cảnh báo.
  • base64_decode() đơn lẻ không còn tạo finding chỉ vì xuất hiện trong source.
  • gzinflate() và các decoder tương tự không còn tự động bị coi là obfuscation nguy hiểm.
  • Chuỗi Base64 dài không còn bị coi là malware chỉ dựa vào độ dài.
  • Decoder chain nhiều lớp vẫn được phát hiện.
  • Decoder được đưa trực tiếp vào dynamic execution vẫn được cảnh báo mạnh.
  • PHP nằm trong Uploads và sử dụng decoder vẫn được giữ lại để kiểm tra.
  • Bổ sung phát hiện include và require động nhận đường dẫn từ request.
  • Bổ sung phát hiện include và require nhận dữ liệu từ remote hoặc bước giải mã.
  • API thực thi chưa chứng minh được nguồn nguy hiểm được đưa về mức cần kiểm tra thay vì tự động mức Cao.
  • Request-controlled execution vẫn được xếp mức Cao.
  • Remote execution chain vẫn được xếp mức Cao.
  • Obfuscated execution chain vẫn được xếp mức Cao.
  • Decoded payload đi vào dynamic execution vẫn được xếp mức Cao.
  • Luồng thực thi nguy hiểm trong PHP nằm ở Uploads vẫn có thể được nâng lên mức Nghiêm trọng.
  • Integrity và baseline tiếp tục được dùng làm bằng chứng bổ sung, không thay thế việc phân tích hành vi.
  • Snapshot Security cũ sẽ tự cần quét lại để áp dụng engine mới.
  • Security Engine được nâng lên security_v104_behavior_context.
  • Không thay đổi database schema.
  • Không yêu cầu thêm license field mới.
vv1.0.3 fix

Context-Aware Command Security

Cải thiện Security Scanner để phân biệt tốt hơn giữa lệnh hệ thống hợp lệ của plugin và mã thực thi đáng ngờ, giúp giảm cảnh báo sai nhưng vẫn giữ khả năng phát hiện các hành vi nguy hiểm thực sự.

  • Cải thiện cách phân tích shell_exec(), passthru() và proc_open().
  • Giảm cảnh báo sai đối với các plugin backup, migration và maintenance hợp lệ.
  • Nhận diện tốt hơn các command đã được kiểm soát và escape an toàn.
  • Không còn coi riêng việc xuất hiện shell_exec() là đủ để kết luận file đáng ngờ.
  • Tiếp tục cảnh báo mạnh khi command nhận dữ liệu trực tiếp từ request hoặc input người dùng.
  • Tiếp tục phát hiện các chuỗi lệnh nguy hiểm như tải file từ xa rồi thực thi.
  • Tiếp tục phát hiện command execution đi kèm obfuscation hoặc decoder đáng ngờ.
  • Không làm giảm mức cảnh báo chỉ vì file đang khớp baseline.
  • Các file thực thi trong thư mục Uploads vẫn được kiểm tra nghiêm ngặt.
  • Giảm noise trong Security Scan đối với các plugin thương mại có chức năng quản trị hệ thống hợp lệ.
  • Security Scan cũ sẽ được làm mới để áp dụng engine phân tích mới.
  • Không thay đổi cấu trúc database hiện tại.
  • Không yêu cầu thêm quyền license mới.
vv1.0.2 fix

One-Click Batch Processing

Chuẩn hóa các tác vụ dài trong TSWolf theo hướng người dùng chỉ cần bấm chạy một lần. Plugin sẽ tự chia nhỏ công việc thành nhiều batch và tiếp tục xử lý cho tới khi hoàn tất, giúp giảm thao tác thủ công và hạn chế tình trạng phải bấm “Tiếp tục” nhiều lần.

  • File Scan tự chạy liên tục cho tới khi quét xong toàn bộ filesystem.
  • Core Checksum tự kiểm tra toàn bộ file WordPress core mà không cần bấm tiếp từng batch.
  • Quét ảnh dung lượng lớn tự chạy hết Media Library.
  • Dọn Cache và file tạm tự tiếp tục cho tới khi xử lý hết dữ liệu phù hợp.
  • Database Cleanup tự chạy hết các nhóm dữ liệu đã chọn.
  • Database Optimize tự chia danh sách table thành nhiều batch và xử lý tới khi hoàn tất.
  • Tìm bài viết không còn dừng quá trình quét chỉ vì giao diện đã đạt giới hạn số kết quả hiển thị.
  • Chuẩn hóa filename media tự cập nhật toàn bộ reference liên quan theo nhiều batch.
  • Optimize và Replace ảnh tự cập nhật toàn bộ URL/reference trước khi xác nhận hoàn tất.
  • Bổ sung bước kiểm tra lại reference cũ sau khi thay đổi media.
  • Không báo hoàn tất nếu hệ thống vẫn phát hiện dữ liệu hoặc reference chưa được xử lý hết.
  • File ảnh cũ chỉ được xóa sau khi việc cập nhật reference đã được xác nhận hoàn tất.
  • Giữ cơ chế chia nhỏ batch để hạn chế timeout và sử dụng RAM quá mức trên server.
  • Vẫn cho phép dừng sau batch hiện tại đối với các tác vụ dài.
  • Các giới hạn an toàn do người dùng cấu hình cho thao tác xóa hàng loạt vẫn được giữ nguyên.
  • Giảm đáng kể số lần người dùng phải bấm “Batch tiếp”, “Tiếp tục” hoặc chạy lại cùng một thao tác.
vv1.0.1 improvement

Safe File Fingerprint

Bổ sung khả năng ghi nhớ các file đã được người dùng xác nhận là an toàn, giúp giảm cảnh báo lặp lại đối với những file không nguy hiểm nhưng vẫn nằm ở vị trí nhạy cảm.

  • Thêm chức năng đánh dấu file an toàn cho tới khi nội dung file thay đổi.
  • TSWolf ghi nhớ file dựa trên đường dẫn và checksum SHA-256 hiện tại.
  • File đã được xác nhận an toàn sẽ không tiếp tục xuất hiện trong các cảnh báo Security nếu nội dung không thay đổi.
  • Nếu file bị chỉnh sửa hoặc bị chèn thêm dữ liệu, trạng thái an toàn sẽ tự động mất hiệu lực.
  • File thay đổi sẽ được đưa trở lại Security Scan để kiểm tra như bình thường.
  • Không cho phép bỏ qua vĩnh viễn toàn bộ thư mục hoặc nhóm file.
  • Giảm cảnh báo lặp lại đối với các file index.php rỗng hoặc file placeholder hợp lệ.
  • Cải thiện cách hiển thị các file PHP rỗng trong thư mục Uploads để người dùng dễ hiểu hơn.
  • Bổ sung khả năng xác nhận nhiều file an toàn cùng lúc.
  • Thêm danh sách các file đã được người dùng xác nhận là an toàn.
  • Cho phép thu hồi trạng thái an toàn và quét lại file bất kỳ lúc nào.
  • Không cho phép đánh dấu an toàn đối với các file có dấu hiệu malware mạnh hoặc mức cảnh báo cao.
  • Tiếp tục tự động đưa file trở lại cảnh báo nếu checksum thay đổi.
vv0.21.8 fix

Verified File Quarantine

Cải thiện cơ chế xóa file đáng ngờ để đảm bảo TSWolf chỉ báo thành công khi file thực sự đã biến mất khỏi website. Phiên bản này cũng có thể phát hiện trường hợp file bị một tiến trình khác tạo lại ngay sau khi xóa.

  • Xác minh lại filesystem sau khi xóa file thay vì chỉ dựa vào kết quả unlink().
  • Kiểm tra lại file nhiều lần trong một khoảng ngắn trước khi xác nhận xử lý thành công.
  • Phát hiện trường hợp file vừa bị xóa nhưng tự xuất hiện trở lại.
  • Không đánh dấu sự cố là đã xử lý nếu file bị tái tạo trong lúc xác minh.
  • Hiển thị cảnh báo rõ khi nghi ngờ website đang có cơ chế persistence hoặc backdoor tự phục hồi file.
  • Thử xóa lại file bị tái tạo với số lần giới hạn, tránh vòng lặp xử lý vô hạn.
  • Phân biệt rõ lỗi không đủ quyền ghi/xóa với trường hợp file bị tiến trình khác tạo lại.
  • Tiếp tục tạo bản Security Quarantine được mã hóa trước khi xóa file.
  • Giữ lại bản quarantine ngay cả khi quá trình xóa file thất bại để hỗ trợ phục hồi và điều tra.
  • Chỉ ghi nhận file đã được quarantine/xóa thành công sau khi xác minh file thực sự không còn tồn tại.
  • Tự động làm mới trạng thái Security sau khi xử lý file để tránh giao diện tiếp tục hiển thị kết quả cũ.
  • Cải thiện độ chính xác của chức năng Xóa file khỏi website.
  • Giảm tình trạng giao diện báo đã xử lý trong khi file thực tế vẫn còn trên server.
  • Hỗ trợ tốt hơn việc phát hiện malware hoặc backdoor có khả năng tự tạo lại file sau khi bị xóa.
vv0.21.7 fix

Safe Security Remediation & AI Security Setup

Nâng cấp khả năng xử lý sự cố bảo mật sau khi phát hiện mã nguy hiểm. TSWolf giờ có thể tự động loại bỏ một số đường tấn công đã xác định rõ với cơ chế sao lưu và rollback an toàn, đồng thời bổ sung khu vực cấu hình OpenAI để chuẩn bị cho tính năng phân tích mã bằng AI trong các phiên bản tiếp theo.

  • Bổ sung khả năng tự xử lý một số đoạn mã nguy hiểm khi TSWolf xác định được phạm vi cần loại bỏ với độ tin cậy cao.
  • Tự động tạo bản sao lưu trước khi thay đổi source.
  • Kiểm tra cú pháp PHP trước và sau khi sửa.
  • Kiểm tra lại checksum sau khi ghi file.
  • Quét lại đường tấn công sau khi xử lý để xác nhận vấn đề đã được loại bỏ.
  • Tự động rollback về file ban đầu nếu quá trình xử lý gặp lỗi.
  • Không tự sửa những đoạn code có cấu trúc phức tạp hoặc chưa thể cô lập an toàn.
  • Giảm nguy cơ website bị lỗi hoặc trắng trang khi tự động xử lý source.
  • Hỗ trợ xử lý các attack chain kiểu:- nhận dữ liệu từ bên ngoài;
  • - ghi dữ liệu vào database;
  • - xuất trực tiếp nội dung ra website.
  • Cải thiện kết nối giữa kết quả Security Scan và chức năng xử lý trực tiếp.
  • Tăng mức độ an toàn khi xử lý các backdoor nằm trong theme hoặc plugin custom.
  • Bổ sung giao diện AI Security Analysis trong trang chi tiết Security.
  • Chuẩn bị chức năng gửi đoạn code nghi vấn tới AI để hỗ trợ đánh giá mức độ an toàn trong các phiên bản tiếp theo.
  • Phiên bản này chưa gửi source code lên AI.
  • Bổ sung trang TSWolf AI & API để cấu hình OpenAI API key.
  • API key được che khi hiển thị lại trên giao diện quản trị.
  • API key được mã hóa trước khi lưu.
  • Hỗ trợ cấu hình API key từ server/environment thay vì lưu trực tiếp trong WordPress.
  • Không gửi OpenAI API key xuống JavaScript hoặc trình duyệt.
  • Bổ sung khả năng thay thế hoặc xóa API key đã lưu.
  • Cải thiện xử lý trạng thái license để một tính năng không được cấp quyền không làm khóa toàn bộ các chức năng Pro khác.
  • Tiếp tục giữ nguyên cơ chế phân quyền riêng cho từng tính năng theo plan.
  • Không thay đổi database schema hiện tại.
  • Cải thiện các bước kiểm tra sau remediation để tránh báo đã xử lý thành công khi source vẫn còn đường tấn công.
  • Tiếp tục giữ toàn bộ cơ chế Security Quarantine và phục hồi an toàn từ các phiên bản trước.
vv0.21.6 fix

Phát hiện mã độc và nguồn chèn nội dung chính xác hơn

Nâng cấp hệ thống Security Scan để phát hiện tốt hơn các đoạn mã có khả năng cho phép kẻ xấu chèn nội dung, liên kết spam hoặc dữ liệu trái phép vào website. TSWolf giờ có thể phân tích mối liên hệ giữa nhiều đoạn code thay vì chỉ tìm từng từ khóa đáng ngờ riêng lẻ

  • Cải thiện khả năng phát hiện mã cho phép chèn nội dung từ bên ngoài vào website.
  • Phát hiện các đường dẫn có thể ghi dữ liệu trái phép vào database rồi hiển thị ra giao diện website.
  • Tăng khả năng nhận diện backdoor ẩn trong plugin, theme và functions.php.
  • Chủ động phát hiện nguy cơ ngay cả khi nội dung spam hoặc liên kết độc hại chưa được chèn vào database.
  • Cải thiện chức năng Tìm nguồn gây ra khi phát hiện dữ liệu đáng ngờ.
  • Ưu tiên kiểm tra theme đang sử dụng, child theme, MU Plugin và các vị trí quan trọng trước.
  • Giảm khả năng bỏ sót thủ phạm trên website có số lượng plugin hoặc file rất lớn.
  • Hiển thị rõ hơn mối liên hệ giữa nguồn nhận dữ liệu, nơi lưu dữ liệu và vị trí nội dung được xuất ra website.
  • Gom các dấu hiệu thuộc cùng một sự cố thành một cảnh báo thống nhất, dễ hiểu hơn.
  • Cải thiện đánh giá mức độ nguy hiểm để hạn chế cảnh báo sai.
  • Không coi các REST API công khai hoặc thao tác database thông thường là mã độc nếu không có thêm dấu hiệu nguy hiểm.
  • Nhận diện tốt hơn các cơ chế xác thực, kiểm tra quyền và làm sạch dữ liệu hợp lệ.
  • Che các token hoặc secret nhạy cảm khi hiển thị kết quả điều tra.
  • Cải thiện Incident Expansion Scan để tìm thêm các vị trí có liên quan đến cùng một sự cố.
  • Các kết quả quét cũ sẽ được yêu cầu quét lại khi cần để sử dụng bộ quy tắc bảo mật mới.
  • Không thay đổi dữ liệu hoặc cấu hình hiện có khi cập nhật plugin.
vv0.21.4 security

Incident Origin Trace & Re-infection Watch

Mở rộng Security từ phát hiện và làm sạch sang điều tra nguồn gây ra sự cố. Phiên bản này bổ sung Origin Trace, Incident Expansion Scan và Re-infection Watch để hỗ trợ xác định plugin/theme/file có khả năng đã tạo payload độc hại, theo dõi dữ liệu sau khi cleanup và thu thập bằng chứng nếu website bị tái nhiễm.

  • Bổ sung Incident Origin Trace cho các Security Finding liên quan đến database.
  • Cho phép tìm source có liên quan trực tiếp đến option/meta/key đang bị nhiễm.
  • Quét plugin, theme, MU-plugin, drop-in và các file WordPress quan trọng để tìm nguồn ghi dữ liệu.
  • Tìm các reference như update_option(), add_option(), update_post_meta(), $wpdb->update() và $wpdb->query() liên quan đến record bị nhiễm.
  • Tìm domain, URL, anchor text và các chuỗi payload liên quan trong source code.
  • Hiển thị component, file, dòng code, đoạn code liên quan và mức độ tin cậy của từng nguồn nghi vấn.
  • Không tự kết luận một plugin/theme là thủ phạm khi chỉ có bằng chứng tĩnh chưa đủ mạnh.
  • Bổ sung Incident Expansion Scan để kiểm tra phạm vi ảnh hưởng của cùng một incident.
  • Tìm cùng domain hoặc payload trong các vùng database WordPress quan trọng.
  • Kiểm tra WP-Cron có task liên quan đến chuỗi hoặc nguồn nghi vấn.
  • Kiểm tra user/admin gần đây để hỗ trợ điều tra sự cố.
  • Bổ sung Re-infection Watch theo từng database record cụ thể.
  • Sau khi cleanup Security, record bị nhiễm có thể được tự động đưa vào danh sách theo dõi.
  • Ghi nhận thời điểm record bị thay đổi trở lại.
  • Ghi user ID và username khi xác định được.
  • Ghi IP, request URI và request context.
  • Nhận diện context như frontend, wp-admin, AJAX, REST API, WP-Cron và WP-CLI.
  • Ghi PHP call stack để hỗ trợ xác định file/plugin/theme đã thực hiện thay đổi.
  • Ghi SHA-256 trước và sau thay đổi.
  • Không lưu lại plaintext malware payload trong forensic event.
  • Theo dõi thay đổi thông qua WordPress option/meta APIs.
  • Bổ sung theo dõi có chọn lọc direct SQL đối với đúng record đang được watch.
  • Không log toàn bộ SQL của website nhằm hạn chế overhead và lượng dữ liệu forensic.
  • Bổ sung Incident Timeline trong trang chi tiết Security.
  • Timeline hiển thị các sự kiện cleanup, thay đổi và tái nhiễm liên quan đến cùng incident.
  • Nếu payload quay trở lại, Security có thêm bằng chứng runtime thay vì chỉ suy đoán từ source tĩnh.
  • Forensic watcher chỉ được kích hoạt khi thực sự có record cần theo dõi.
  • Trang forensic sử dụng AJAX riêng để tránh tải toàn bộ giao diện quản trị nặng.
  • Nâng Security Engine lên security_v0214_forensics.
vv0.21.3 fix

Baseline Noise Reduction & Smarter Filesystem Security

Giảm mạnh false positive và noise trong Filesystem Security Scan. Phiên bản này cải thiện cách so sánh baseline sau khi plugin/theme được cập nhật, nhận diện đúng runtime file hợp lệ, phân loại lại PHP trong Uploads và điều chỉnh severity của các API PHP cũ như create_function() để kết quả bảo mật tập trung hơn vào những vấn đề thực sự đáng chú ý

  • Không còn tạo Security Finding hàng loạt cho các file bị xóa sau khi plugin/theme được cập nhật hợp lệ.
  • Ưu tiên trusted package và source của version hiện tại hơn filesystem baseline cũ.
  • Baseline mới lưu thêm thông tin version của plugin/theme.
  • Không so checksum giữa file hiện tại và baseline thuộc một version khác khi version cũ đã được xác định.
  • Giảm mạnh tình trạng hàng trăm finding “file có trong baseline nhưng hiện không còn tồn tại” sau khi update plugin.
  • Bổ sung Security Engine Version để phân biệt snapshot được tạo bởi các rule scanner khác nhau.
  • Snapshot từ Security Engine cũ tự được đánh dấu stale và yêu cầu quét lại thay vì tiếp tục hiển thị kết quả lỗi thời.
  • Tiếp tục cải thiện nhận diện Wordfence runtime files trong wp-content/wflogs.
  • Wordfence runtime hợp lệ được loại khỏi baseline-diff trước khi Security Finding được tạo.
  • Snapshot cũ chứa finding Wordfence runtime hợp lệ cũng được lọc lại khi hiển thị.
  • Bổ sung nhận diện các index.php dạng placeholder chỉ dùng để chặn directory listing.
  • File chỉ chứa Silence is golden, exit, die hoặc cấu trúc inert tương đương không còn bị cảnh báo chỉ vì nằm trong Uploads.
  • PHP nằm trong wp-content/uploads nhưng không có tín hiệu nguy hiểm khác được hạ xuống mức Low.
  • PHP trong Uploads vẫn được tăng severity nếu có execution bất thường, obfuscation, encoded payload hoặc tín hiệu malware khác.
  • create_function() đứng một mình không còn bị phân loại High như dấu hiệu malware.
  • create_function() thông thường được chuyển thành finding mức Low liên quan đến compatibility/legacy code.
  • create_function() kết hợp với Base64, decoder, obfuscation, system command hoặc vị trí bất thường vẫn được tăng severity.
  • File CSS phát sinh ngoài trusted package nhưng không chứa tín hiệu nguy hiểm chỉ được xếp mức Low.
  • Integrity mismatch thực sự với file có trong package chính thức vẫn tiếp tục được cảnh báo.
  • Không ẩn các trường hợp file hiện tại khác nội dung source chính thức nếu không có bằng chứng đó chỉ là runtime/generated file hợp lệ.
  • Giảm số lượng finding không có giá trị hành động trong Những mục cần chú ý.
  • Kết quả Security tập trung hơn vào malware, integrity mismatch thực sự, file thực thi bất thường và thay đổi có ý nghĩa bảo mật.
vv0.21.1 fix

Encrypted Quarantine & Runtime File Intelligence

Cải thiện mạnh độ chính xác của Security Scan và cơ chế quarantine. Phiên bản này mã hóa payload độc hại được lưu để hoàn tác, bổ sung self-integrity cho chính TSWolf, nhận diện đúng các runtime file hợp lệ của Wordfence/plugin và sửa một lỗi AJAX thực tế được phát hiện trong quá trình quét. -

  • Chuyển Security Quarantine từ lưu payload.bin plaintext sang payload.tswq được mã hóa.
  • Ưu tiên mã hóa bằng libsodium secretbox, fallback sang AES-256-GCM khi cần.
  • Bổ sung authentication cho dữ liệu quarantine, không chỉ encode hoặc che giấu nội dung.
  • Tránh trường hợp Wordfence hoặc security scanner khác tiếp tục phát hiện payload độc hại bên trong thư mục quarantine của TSWolf.
  • Giữ khả năng restore các quarantine cũ sử dụng payload.bin từ phiên bản ≤0.21.0.
  • Tiếp tục ưu tiên lưu quarantine ngoài webroot khi môi trường cho phép.
  • Nếu phải lưu dưới wp-content/.tswolf-wpmt-backups, payload vẫn được mã hóa trước khi ghi.
  • Giới hạn permission của payload và metadata quarantine về mức an toàn hơn.
  • Bổ sung Self Integrity Manifest cho chính TSWolf WP Maintains Tools.
  • Package release chứa SHA-256 manifest của các file PHP/JS/CSS thuộc đúng phiên bản plugin.
  • TSWolf không còn tự coi source của chính mình là plugin Custom/Premium chưa xác minh.
  • File của TSWolf thay đổi hợp lệ sau khi nâng version không còn bị cảnh báo chỉ vì baseline cũ khác checksum.
  • Nếu source TSWolf thực sự bị sửa khác release manifest, Security Scan vẫn tiếp tục cảnh báo.
  • Bổ sung nhận diện Wordfence runtime data trong wp-content/wflogs.
  • Các file runtime hợp lệ như config-livewaf.php không còn bị cảnh báo chỉ vì Wordfence tự cập nhật dữ liệu WAF.
  • Baseline mới không còn ghi nhận các runtime file biến động liên tục của Wordfence như file source tĩnh.
  • Baseline cũ chứa các file Wordfence runtime cũng được xử lý để tránh false positive khi file bị rotate hoặc thay đổi.
  • Không allow-list toàn bộ wflogs một cách mù quáng; PHP thực thi bất thường hoặc payload nguy hiểm bên trong vẫn tiếp tục bị phát hiện.
  • Bổ sung nhận diện runtime log dạng <?php die(); ?> hoặc exit() theo sau bởi text/JSON.
  • Các file log hợp lệ của plugin không còn bị coi là malware chỉ vì không tồn tại trong package chính thức.
  • Runtime log chỉ được miễn cảnh báo khi phần PHP đầu tiên thực sự chặn execution và không xuất hiện PHP executable block bổ sung phía sau.
  • File phát sinh ngoài package chính thức vẫn tiếp tục bị cảnh báo nếu chứa code thực thi hoặc pattern nguy hiểm.
  • Security Detail cũ được đánh giá lại bằng rule mới để giảm các finding lỗi thời từ scanner phiên bản trước.
  • Phát hiện và sửa lỗi Call to a member function get_var() on null trong AJAX Dashboard Summary.
  • Bổ sung global $wpdb đúng scope cho phần sử dụng database trong AJAX handler.
  • Rà lại các method sử dụng $wpdb để tránh lỗi tương tự.
  • Tiếp tục giữ cơ chế Trusted Package Integrity của v0.21.0 cho plugin/theme premium hoặc custom.
vv0.21.0 fix

Context-Aware Security & Trusted Package Integrity

Nâng cấp Security Scan theo hướng phân tích ngữ cảnh thay vì chỉ dựa trên từ khóa, giúp giảm mạnh false positive trong mã PHP hợp lệ. Đồng thời bổ sung cơ chế Trusted Package Integrity cho plugin/theme custom hoặc premium để có thể đối chiếu file thực tế với package gốc đáng tin cậy.

  • Thay đổi PHP security heuristic từ kiểm tra từ khóa đơn lẻ sang phân tích theo ngữ cảnh sử dụng.
  • base64_decode() đứng một mình không còn tự động tạo Security Finding.
  • Code decode dữ liệu phục vụ hiển thị hoặc xử lý thông thường không còn bị coi là mã độc chỉ vì sử dụng Base64.
  • Case WPBakery base64_decode(strip_tags($value)) không còn bị cảnh báo sai.
  • assert() thông thường không còn tự động bị đánh dấu nguy hiểm nếu không có dấu hiệu dynamic execution.
  • eval(base64_decode(...)) tiếp tục được phát hiện và nâng mức cảnh báo phù hợp.
  • Chuỗi gzinflate() + Base64 + obfuscation hoặc dynamic execution tiếp tục được coi là tín hiệu nguy hiểm mạnh.
  • gzinflate() được phân loại đúng là cơ chế giải nén/obfuscation, không còn mặc định bị mô tả như hàm thực thi code.
  • Payload Base64 dài, bất thường hoặc có dấu hiệu obfuscation vẫn được đưa vào nhóm cần kiểm tra.
  • PHP decoder xuất hiện trong các vị trí bất thường như uploads tiếp tục bị tăng mức độ cảnh báo.
  • Finding cũ sử dụng heuristic của các bản trước được đánh giá lại bằng rule mới khi mở chi tiết, giúp loại bỏ cảnh báo lỗi thời.
  • Baseline khớp không làm giảm severity nếu file chứa hành vi thực thi mã nguy hiểm rõ ràng.
  • File premium/custom khớp baseline nhưng chỉ chứa API decode hợp lệ không còn bị đưa vào “Những mục cần chú ý” một cách không cần thiết.
  • Bổ sung Trusted Package Integrity cho plugin và theme Custom/Premium.
  • Cho phép upload ZIP gốc từ vendor để làm nguồn đối chiếu đáng tin cậy.
  • Kiểm tra tên component và version trước khi chấp nhận package làm nguồn trusted.
  • Tạo manifest SHA-256 cho các file PHP, JavaScript và CSS trong trusted package.
  • Đối chiếu file đang chạy với trusted package để phát hiện file bị thay đổi.
  • Phát hiện file bị thiếu so với package gốc.
  • Phát hiện file phát sinh thêm ngoài package gốc.
  • Trusted Package được tự động sử dụng trong các lần Security Scan tiếp theo.
  • Chỉ lưu manifest hash và metadata cần thiết; không giữ lại source ZIP premium sau khi xử lý.
  • Cho phép thay thế trusted package khi component được nâng cấp.
  • Cho phép xóa trusted reference đã lưu.
  • Thay đổi trusted package sẽ tự đánh dấu Security snapshot cũ là stale để tránh dùng kết quả integrity lỗi thời.
  • Giới hạn ZIP tối đa 128 MB.
  • Giới hạn tổng dữ liệu giải nén tối đa 512 MB.
  • Giới hạn tối đa 8.000 file PHP/JS/CSS trong một trusted package để kiểm soát tài nguyên.
  • Uninstall plugin sẽ dọn các trusted manifest và metadata liên quan khỏi WordPress.
vv0.20.4 fix

Security Cleanup & Quarantine Workflow

Mở rộng Security từ chức năng phát hiện sang quy trình xử lý hoàn chỉnh ngay trong plugin. Phiên bản này cho phép sao lưu, làm sạch payload độc hại có độ tin cậy cao, xác minh lại dữ liệu sau khi sửa và hoàn tác khi cần, đồng thời cải thiện mạnh khả năng phát hiện hidden SEO spam trong database.

  • Nâng cấp phát hiện hidden SEO spam trong dữ liệu WordPress.
  • Gom nhiều hidden backlinks trong cùng một record thành một Security Incident thay vì tạo nhiều cảnh báo rời rạc.
  • Phát hiện thêm các kỹ thuật che giấu liên kết như width:0, height:0, visibility:hidden, opacity:0, left:-9999px, left:-100vw, clip, clip-path, font-size:0, line-height:0, color:transparent và các biến thể 1px hidden box.
  • Tự nâng mức cảnh báo lên High khi một record chứa nhiều hidden links, nhiều external domains hoặc nhiều kỹ thuật che giấu đồng thời.
  • Hiển thị rõ số lượng liên kết đáng ngờ, số domain ngoài, số kỹ thuật che giấu và toàn bộ evidence liên quan.
  • Hiển thị đầy đủ các fragment được xác định là có thể xử lý an toàn trước khi người dùng thực hiện cleanup.
  • Bổ sung action Sao lưu & xóa payload đã phát hiện trực tiếp trong Security Inspector.
  • Không xóa toàn bộ option, post hoặc meta khi chỉ một phần dữ liệu bị nhiễm.
  • Chỉ loại bỏ đúng các fragment độc hại có độ tin cậy đủ cao.
  • Tự động lưu toàn bộ giá trị gốc vào Security Quarantine trước khi thay đổi dữ liệu.
  • Bổ sung kiểm tra SHA-256 trước khi ghi để tránh ghi đè record đã thay đổi kể từ lúc finding được tạo.
  • Tự đọc lại database và xác minh dữ liệu sau khi cleanup.
  • Nếu verification thất bại, hệ thống sẽ cố gắng khôi phục lại dữ liệu gốc.
  • Bổ sung Undo / Hoàn tác cho các cleanup đã thực hiện.
  • Tích hợp Security cleanup và restore vào Change Journal.
  • Restore cũng kiểm tra checksum để tránh ghi đè dữ liệu mới hơn.
  • Không tự động cleanup dữ liệu serialized nhằm tránh phá cấu trúc option/meta của theme hoặc plugin.
  • External link chỉ bị ẩn bằng một tín hiệu yếu như display:none hoặc visibility:hidden đơn lẻ sẽ không được auto-delete.
  • Iframe, redirect, raw-IP script hoặc payload đáng ngờ nhưng chưa đủ bằng chứng vẫn chỉ được cảnh báo để xác minh thủ công.
  • Nếu chỉ làm sạch được một phần record nhưng vẫn còn tín hiệu đáng ngờ khác, hệ thống hiển thị trạng thái xử lý một phần thay vì đánh dấu record đã an toàn.
  • Sau cleanup hoặc restore, Security snapshot được đánh dấu stale để lần quét tiếp theo luôn sử dụng dữ liệu thực tế mới.
  • Tiếp tục không cảnh báo nhầm WordPress oEmbed hợp lệ.
  • Với payload hidden SEO spam mẫu trong fl_footer_html, hệ thống phát hiện đầy đủ 8/8 hidden links trên 5 external domains và xác định toàn bộ 8/8 fragment đủ điều kiện safe cleanup.
vv0.20.3 fix

User Provenance & WordPress oEmbed Detection

Cải thiện khả năng xác minh nguồn gốc tài khoản quản trị và giảm false positive trong Database Security Scan. Phiên bản này bổ sung theo dõi provenance cho Administrator, tích hợp có chọn lọc với cảnh báo Wordfence và nhận diện chính xác hơn WordPress oEmbed hợp lệ có visibility:hidden.

  • Sửa false positive với iframe WordPress oEmbed sử dụng style="position: absolute; visibility: hidden;".
  • Nhận diện chính xác hơn cấu trúc oEmbed hợp lệ do WordPress core tạo.
  • Chỉ bỏ qua iframe khi đồng thời có đủ các dấu hiệu phù hợp như wp-embedded-content, URL /embed/, sandbox="allow-scripts", security="restricted", data-secret và kích thước hợp lệ.
  • Không coi visibility:hidden là an toàn một cách chung chung.
  • Iframe bên ngoài thực sự bị ẩn vẫn tiếp tục bị phát hiện.
  • Iframe có width="0", height="0" hoặc display:none vẫn tiếp tục được cảnh báo.
  • Iframe cố tình giả dạng wp-embedded-content nhưng không có cấu trúc oEmbed hợp lệ vẫn bị quét trúng.
  • Bổ sung hệ thống theo dõi provenance cho tài khoản Administrator.
  • Ghi nhận admin được tạo qua luồng WordPress chuẩn từ sự kiện user_register.
  • Theo dõi trường hợp user được cấp hoặc thay đổi quyền Administrator sau khi tài khoản đã tồn tại.
  • Duy trì trạng thái các Administrator đã biết để hỗ trợ phát hiện tài khoản xuất hiện bất thường về sau.
  • Administrator mới xuất hiện mà không có provenance hợp lệ có thể được đưa vào Security Findings ở mức High để xác minh.
  • Không còn phụ thuộc hoàn toàn vào mốc “admin mới trong 30 ngày” để phát hiện tài khoản bất thường.
  • Bổ sung khả năng đọc có chọn lọc finding active của Wordfence dạng created outside of WordPress.
  • User được Wordfence cảnh báo tạo ngoài luồng WordPress có thể được đưa vào Security Findings và Những mục cần chú ý.
  • Không quét mù toàn bộ custom table của Wordfence nhằm tránh tải database và false positive.
  • Cảnh báo nguồn gốc user chỉ được xem là bằng chứng cần xác minh, không tự động kết luận tài khoản là mã độc.
  • Các admin đã tồn tại trước khi hệ thống provenance bắt đầu được theo dõi không bị suy đoán nguồn tạo nếu không có đủ bằng chứng.
  • Giữ nguyên nguyên tắc ưu tiên bằng chứng thực tế trước khi đề xuất xử lý user.
vv0.20.2 fix

Security Filtering & Performance Optimization

Tối ưu mạnh phần Security và hiệu năng giao diện quản trị. Sửa false positive với WordPress oEmbed, bổ sung filter theo mức độ cảnh báo, đưa user đáng nghi vào danh sách cần chú ý và chuyển các màn hình dữ liệu lớn sang cơ chế AJAX/lazy loading để giảm tải DOM, hạn chế giật lag khi mở trang hoặc scroll.

  • Sửa false positive khiến marginwidth="0" và marginheight="0" trong WordPress oEmbed bị hiểu nhầm thành iframe có width="0" hoặc height="0".
  • Nhận diện tốt hơn cấu trúc WordPress oEmbed hợp lệ để tránh cảnh báo High không cần thiết.
  • Vẫn tiếp tục phát hiện iframe thực sự bị ẩn bằng width="0", height="0", display:none hoặc visibility:hidden.
  • Bổ sung filter Security Findings theo mức độ Critical, High, Medium và Low.
  • Cho phép kết hợp filter mức độ với loại finding, nhóm Security và từ khóa tìm kiếm.
  • Chuyển Security Findings sang filter và phân trang trực tiếp trên snapshot phía server.
  • Không còn yêu cầu tải toàn bộ Security Findings vào DOM trước khi lọc.
  • Chuyển các màn hình có lượng dữ liệu lớn sang AJAX/lazy loading để giảm thời gian tải ban đầu.
  • Dữ liệu chỉ được tải khi tab hoặc khu vực tương ứng thực sự được mở.
  • Giảm số lượng record phải giữ đồng thời trong DOM ở các bảng lớn.
  • Khi rời tab có dữ liệu nặng, HTML kết quả có thể được giải phóng khỏi DOM trong khi snapshot vẫn được giữ phía server.
  • Khi quay lại tab, dữ liệu được tải lại theo trang qua AJAX thay vì giữ toàn bộ nội dung trong trình duyệt.
  • Tối ưu các bảng dài nhằm giảm hiện tượng khựng khi scroll trên wp-admin.
  • Chuyển Jobs và Logs sang cơ chế tải dữ liệu theo nhu cầu thay vì render toàn bộ ngay từ đầu.
  • Bổ sung user đáng nghi vào Những mục cần chú ý.
  • Phát hiện và cảnh báo admin mới xuất hiện sau Security baseline.
  • Cảnh báo admin mới trong thời gian gần đây khi chưa có baseline để xác minh.
  • Phát hiện thay đổi thông tin nhận dạng của tài khoản quản trị.
  • Phát hiện capability nhạy cảm được gán trực tiếp cho user.
  • Phát hiện role hoặc quyền truy cập bất thường.
  • Hỗ trợ cảnh báo Application Password cũ hoặc cần được kiểm tra.
  • Security Findings của user tiếp tục hiển thị ID, username, email, role, ngày đăng ký, nguồn ước định, mức độ tin cậy và bằng chứng liên quan.
  • Dashboard có thể tổng hợp các user/quyền đáng nghi từ Security Scan gần nhất vào Những mục cần chú ý.
vv0.20.1 fix

Security Inspection & User Verification

Nâng cấp Security Scan theo hướng dễ sử dụng cho người không có kiến thức kỹ thuật. Bổ sung phân nhóm, tìm kiếm, thông tin thời gian và dữ liệu xác minh tài khoản để quản trị viên biết mục nào đáng chú ý, xuất hiện khi nào, vì sao bị cảnh báo và có đủ cơ sở để xử lý hay chưa.

  • Bổ sung filter Security Findings theo nhóm File, Database Content, Database Configuration, User & Permissions và WordPress Configuration.
  • Thêm tìm kiếm nhanh theo file, username, email, database table và thông tin liên quan trong finding.
  • Mở rộng thông tin user với User ID, username, display name, email, role và ngày đăng ký.
  • Bổ sung phân tích nguồn tài khoản để hỗ trợ xác định user hợp lệ, user cần kiểm tra hoặc tài khoản có dấu hiệu bất thường.
  • Hiển thị mức độ tin cậy và bằng chứng được sử dụng khi đánh giá nguồn hoặc mức độ đáng ngờ của tài khoản.
  • Không tự kết luận user là tài khoản mã độc khi không có đủ bằng chứng; các trường hợp không xác định được nguồn tạo được ghi rõ là chưa xác định.
  • Bổ sung thông tin ngày tạo/ngày sửa cho các dữ liệu Security Scan khi WordPress hoặc filesystem thực sự cung cấp timestamp.
  • Với các bảng không có timestamp gốc như options, postmeta và usermeta, hệ thống không tự suy đoán thời gian tạo hoặc chỉnh sửa.
  • Metadata liên kết với post, comment hoặc user có thể hiển thị thêm mốc thời gian của đối tượng cha khi dữ liệu đó hữu ích cho việc xác minh.
  • Cải thiện Security Findings để người dùng có thể hiểu vấn đề, vị trí, thời gian, lý do cảnh báo và bằng chứng liên quan trước khi xử lý.
  • Tiếp tục ưu tiên ẩn dữ liệu đã xác minh an toàn để giảm nhiễu và tránh làm người dùng phổ thông phải kiểm tra các mục không cần thiết.
  • Tăng cơ chế bảo vệ chống false positive đối với user và database nhằm hạn chế nguy cơ xóa nhầm tài khoản hoặc dữ liệu hợp lệ.
vv0.20.0 improvement

Database Content Security

Mở rộng Security Scan để kiểm tra đồng thời filesystem, WordPress Core/plugin/theme, tài khoản người dùng, cấu hình database và dữ liệu đang lưu trong WordPress. Dữ liệu an toàn được ẩn; chỉ các record thực sự cần chú ý mới xuất hiện.

  • Bổ sung Database Content Security vào cùng lượt quét Security một lần bấm.
  • Quét theo batch options, posts/post meta, comments/comment meta, term descriptions/term meta và user meta.
  • Phát hiện PHP payload, encoded/dynamic execution, JavaScript obfuscation, script URI nguy hiểm, iframe ẩn, redirect bất thường và các payload lưu trong database.
  • Phát hiện hidden SEO-spam links và JavaScript có dấu hiệu đọc cookie rồi gửi dữ liệu ra ngoài.
  • Không cảnh báo script, iframe, embed hoặc external link bình thường nếu không có tín hiệu nguy hiểm mạnh hơn.
  • Bổ sung baseline cho siteurl, home và admin_email.
  • Cho đối chiếu và highlight dữ liệu baseline ↔ dữ liệu hiện tại khi giá trị bảo mật quan trọng thay đổi.
  • Thêm Database Security Inspector với table, field, record/key và đoạn dữ liệu nghi vấn được highlight.
  • Bổ sung kiểm tra capability nhạy cảm được cấp trực tiếp cho user qua user meta, không chỉ kiểm tra role.
  • Database scan chạy theo batch/resume để hạn chế timeout và tải tài nguyên trên website lớn.
  • Dữ liệu đã xác minh bình thường tiếp tục được ẩn khỏi Security Findings.
  • Không quét mù custom table của plugin bên thứ ba để tránh tải database quá mức và false positive.
v0.19.0 improvement

Security Action-first, Safe Remediation & Official Restore

Nâng cấp Security Scanner theo hướng dành cho người quản trị WordPress không cần kiến thức bảo mật hoặc code: chỉ hiện những gì cần chú ý, cho phép đối chiếu và khôi phục file chính thức, xử lý file nghi vấn an toàn, đồng thời giảm tối đa thông tin kỹ thuật không cần thiết ở màn hình đầu.

  • Ẩn file đã xác minh an toàn khỏi Security Findings.
  • Gom màn hình đầu thành Cần xử lý ngay, Cần kiểm tra, Cần cập nhật.
  • Ba ô trạng thái đồng thời là bộ lọc nhanh cho bảng findings.
  • Đối chiếu Bản chuẩn ↔ file hiện tại với highlight phần thêm, xóa và thay đổi.
  • Hỗ trợ WordPress Core, plugin WordPress.org và theme WordPress.org đúng phiên bản đang cài.
  • Thêm Khôi phục bản chuẩn cho file official bị sửa hoặc bị mất.
  • Backup file hiện tại trước khi restore và kiểm SHA-256 lại sau khi ghi.
  • Thêm Xóa file khỏi website theo cơ chế quarantine: luôn lưu bản sao an toàn trước khi loại file khỏi vị trí đang chạy.
  • Không cho one-click xóa file chỉ vì khác baseline hoặc là file mới.
  • File official bị sửa ưu tiên restore thay vì xóa.
  • Bảo vệ main plugin/theme file và MU-plugin khỏi one-click removal.
  • Action trong bảng mở tab mới và đổi tên theo đúng mục đích: Xem & đối chiếu, Xem & xử lý, Xem & khôi phục.
  • Plugin/theme có bản cập nhật mới dẫn trực tiếp tới trang WordPress Updates.
  • Xem toàn bộ file hiện tại chỉ xuất hiện khi thực sự cần.
  • File được tự kiểm lại sau khi xử lý; file đã khớp nguồn tin cậy chuyển sang trạng thái Đã an toàn.
  • Security UI tự nhận diện ngôn ngữ và hỗ trợ VI, EN, Simplified Chinese, Traditional Chinese, Japanese, Korean, Spanish, French, German, Portuguese Brazil, Indonesian và Thai.
  • Thêm selector ngôn ngữ Security riêng cho từng user WordPress.
vv0.18.0 fix

One-click Security Scan & Security File Inspector

Nâng cấp chương trình quét bảo mật

  • Bổ sung xác minh integrity cho plugin được phát hành trên WordPress.org bằng checksum chính thức đúng slug + installed version trước khi chạy heuristic.
  • File plugin khớp checksum WordPress.org được coi là trusted và không còn xuất hiện trong Security Findings chỉ vì chứa các pattern kỹ thuật hợp lệ.
  • Plugin WordPress.org có file bị sửa, file lạ hoặc file bị thiếu được giữ lại trong kết quả để kiểm tra chi tiết bằng baseline và contextual heuristic.
  • Bổ sung xác minh theme WordPress.org bằng package ZIP chính thức đúng phiên bản. Scanner hash các file PHP/JS/CSS trong package để đối chiếu với website vì WordPress.org hiện chưa cung cấp public checksum API tương đương cho theme.
  • Package theme chỉ được sử dụng làm nguồn đối chiếu read-only; không được cài hoặc thực thi trong quá trình Security Scan.
  • Plugin/theme custom, premium hoặc chưa thể xác minh qua WordPress.org không bị coi là bất hợp pháp hay malware. Các thành phần này tự động fallback về filesystem baseline và contextual heuristic.
  • Security Scan hiện kiểm tra luôn trạng thái cập nhật của toàn bộ plugin và theme đã cài.
  • Plugin/theme có phiên bản mới được báo rõ installed version → available version.
  • Plugin/theme lỗi thời được tách khỏi malware/integrity findings và mặc định chỉ mang mức cảnh báo thấp.
  • Hỗ trợ update metadata tiêu chuẩn của WordPress, vì vậy plugin premium có hệ thống updater riêng vẫn có thể được nhận diện là cần cập nhật khi nhà cung cấp tích hợp với WordPress Update API.
  • Bảng Security hiển thị nguồn rõ hơn: WordPress Core, WordPress.org Plugin, WordPress.org Theme, hoặc Custom / Premium / chưa xác minh.
  • Summary bổ sung số file plugin/theme được WordPress.org xác minh an toàn, số file lệch nguồn chính thức và số plugin/theme cần cập nhật.
  • Trang Xem chi tiết / đối chiếu bổ sung tên component, slug, phiên bản cài đặt, phiên bản mới, nguồn đối chiếu, trạng thái integrity và phương pháp verification.
  • File chính thức bị thiếu không còn bị báo trùng lần nữa ở filesystem baseline deleted phase.
  • Danh sách file của plugin/theme được cache ngắn hạn trong Security Scan để tránh duyệt lại toàn bộ cây thư mục ở mỗi batch.
v0.17.0 improvement

Beginner-first UX & Guided Maintenance

Đơn giản hóa trải nghiệm bảo trì cho người quản lý website không chuyên kỹ thuật.

  • Dashboard sức khỏe 0–100 và các việc nên làm bằng ngôn ngữ dễ hiểu.
  • Guided Maintenance theo 5 bước: chẩn đoán, backup, dọn dẹp, bảo mật và giám sát.
  • Easy/Expert mode, entity picker thay cho nhập ID thủ công và cảnh báo phá hủy mạnh hơn.
  • Giữ nguyên engine scan, snapshot, rollback, backup/restore và Safety Guard hiện có.
v0.2.0 improvement

Version 0.2.0

Unused image candidate scanning from a date range, default 2021-07-01.

  • Unused image candidate scanning from a date range, default 2021-07-01.
  • Conservative attachment-reference checks before deletion.
  • Post search/delete by post type, author ID, category ID, tag ID, created/modified dates, contains/exact/fuzzy text search.
  • Trash or permanent post deletion, with optional exclusive child-media cleanup.
  • Category/tag delete, move related posts, or delete related posts.
  • User delete with related posts or reassign content to another user.
  • Scheduled jobs for posts, images, terms, users and image optimization.
  • WordPress/PHP/database versions.
  • Disk free space, PHP/WP memory limits and upload limit.
  • REST API, loopback, scheduled events, HTTPS/SSL, SQL server, HTTP requests and upload checks through WordPress Site Health where available.
  • Read/write status for WordPress root, wp-content, uploads, plugins and themes.
  • Common PHP extension availability.
  • Revisions, expired normal/site transients, orphan post/term/user/comment metadata, spam/trash comments.
  • Small cleanup batches.
  • Optional database snapshot before cleanup.
  • Table size/free-space/engine report.
  • Core vs non-core WordPress-prefix table visibility; non-core tables are never auto-dropped.
  • OPTIMIZE TABLE limited to 10 selected/reclaimable tables per request.
  • Stateful wp-content scan in small time/file batches.
  • Large cache/log files, recently modified files, suspicious filenames and PHP-like files inside uploads.
  • Permission report.
  • Core checksum verification is on-demand only and uses the official WordPress.org checksum endpoint when requested.
  • Cache/temp cleanup for wp-content/cache, uploads/cache and wp-content/upgrade.
  • Existing local WebP/AVIF/JPEG/PNG conversion/optimization via WordPress image editor.
  • Quality, max dimensions, conventional upscale/sharpen and metadata stripping where supported by the local image backend.
  • Oversized-image scanning.
  • Thumbnail regeneration.
  • Attachment filename normalization with common WordPress URL-reference updates.
  • No bundled AI model, CDN or third-party image service.
  • Database, themes, plugins, uploads, wp-config.php and full-site backup sets.
  • Full-site includes an external parent-level wp-config.php when applicable.
  • Database dump is chunked; gzip is used locally when available.
  • File backup uses ZipArchive and multiple .tswbak parts.
  • Backup and restore run in small time/file batches rather than one long request.
  • Restore scope: all, database only or files only.
  • wp-config.php is backed up before it is restored.
  • Backup storage prefers a writable directory outside ABSPATH; otherwise it uses a protected hidden directory under wp-content.
  • Official core checksum check on demand.
  • Heuristic PHP scan for PHP in uploads and suspicious patterns such as eval/base64_decode/gzinflate/shell execution calls and long encoded blobs.
  • Scanner never auto-deletes or auto-rewrites suspicious files.
  • Recent administrator overview.
  • Plugin activation/deactivation/update and theme-switch logging.
  • Optional rate-limited failed-login logging; IP is stored only as a salted hash.
  • Optional theme/plugin file-editor disable setting.
  • Local rotation of the eight standard WordPress auth keys/salts with wp-config.php backup first.
  • Autoload option count/size and largest autoload entries.
  • Database size.
  • Persistent object-cache status.
  • WP-Cron event/overdue overview.
  • Current-request query count.
  • Active plugin inventory.
  • Optional external HTTP request count by host/day; events are buffered and written once per request, not once per HTTP call.
  • Heartbeat interval control.
  • Oversized-image scan is available in Media Tools.
  • The plugin intentionally does not run a permanent per-plugin profiler because such instrumentation itself adds overhead and cannot safely attribute plugin latency from ordinary plugin context.
  • Front-end 503 maintenance mode.
  • Administrator/admin/AJAX/REST/cron/XML-RPC bypasses.
  • Exact IP whitelist.
  • Custom title/message and Retry-After value.
  • Minimal inline output with no external assets.
  • Disabled by default.
  • Optional hourly checks for site HTTP status, overdue cron, free disk percentage, database size, SSL expiry and recent fatal PHP errors.
  • Optional alert email through the site's existing wp_mail configuration.
  • Duplicate issue-email cooldown.
  • Unused-media and oversized-media results show lazy-loaded thumbnails.
  • Clicking an image opens a local admin modal with dimensions, bytes, MIME, path/URL, dates, author, parent, alt text and generated sub-sizes.
  • Already-detected page/post references are shown immediately.
  • Lightweight direct usage checks cover attachment parent, featured images and WooCommerce galleries.
  • A separate on-demand deep usage scan covers post content, post meta/page builders, term/user metadata, options and comments, capped per source for server safety.
  • No Composer, npm, CDN or third-party service dependency.
  • No front-end assets are enqueued by normal plugin operation.
  • Admin CSS/JS loads only on Tools > TSWolf Maintains.
  • Expensive scanners are on-demand and stateful/batched.
  • Background monitoring is disabled until explicitly enabled.
  • Scheduled destructive jobs use locks and small batches.
  • Security scans are heuristic/read-only.
  • No non-core database table is automatically dropped.
  • Core checksum verification makes a network request only when the administrator explicitly starts it.
  • Thiết kế lại Search & Replace theo flow Scan → chọn item → Replace giống các scanner Post/Media/Taxonomy.
  • Thêm Replace trực tiếp từng item và Replace các item đã chọn theo batch.
  • Thêm link Đối chiếu cho từng kết quả, mở trang riêng và đọc lại dữ liệu hiện tại trước khi dựng nội dung sau Replace.
  • Bỏ yêu cầu nhập REPLACE thủ công trên giao diện; backend vẫn giữ confirm token, rollback, rebase và optimistic locking.
  • Fix Search & Replace false conflict and allow safe rebase on the latest value.
  • Add retry-safe rollback checkpoint recovery and optimistic DB write protection.
  • Harden AJAX nonce recovery and snapshot restore against 403/WAF bursts.
  • Restore only the first snapshot page automatically; load remaining results on demand.
  • Turbo >=80% target: longer bounded requests, larger adaptive DB windows, larger bulk index/snapshot writes, and AJAX efficiency telemetry for Media + Standard Search & Replace.
  • Added newest/oldest ordering for Posts Search and Search & Replace, plus explicit term-ID fallback ordering where WordPress has no creation timestamp.
  • Added a global Advanced setting to show/hide trustworthy source dates in result tables without clearing current results.
  • Added source timestamps to media/file/security results where available; files use mtime and unknown creation dates are never fabricated.
  • Search & Replace sessions are paged and browser rendering remains bounded.
v0.3.0 improvement

Version 0.3.0

Every server-side admin action now exposes a common sticky activity panel with running/success/error state and elapsed time.

  • Every server-side admin action now exposes a common sticky activity panel with running/success/error state and elapsed time.
  • Known-total operations use real percentages; unknown-total filesystem/security work uses an indeterminate bar plus real counters instead of fake percentages.
  • Bulk post/media actions show processed/total progress and can stop after the current batch without aborting an in-flight PHP request.
  • Backup/restore use the same progress panel across their multi-request loops; stopping prevents the next batch and preserves resumable state.
  • Core checksum shows actual cursor/total percentage.
  • Scheduled jobs expose live processed/total/percent through an admin-only AJAX status endpoint.
  • Category/tag/user scheduled jobs now estimate real object totals and accumulate progress across batches instead of remaining at 0/1.
  • The recent-jobs table refreshes only while the Schedule tab is open or while a newly-created background job is actively watched.
  • Handles the harmless browser View Transition rejection AbortError: Transition was skipped without allowing it to interfere with plugin actions.
  • No permanent frontend polling, worker, websocket, CDN or external progress service was added.