{{currentView.title}}
October 31, 2025
Russian Offensive Campaign Assessment, October 31, 2025
October 31, 2025, 6:00 pm ET
Click here to see ISW’s interactive map of the Russian invasion of Ukraine. This map is updated daily alongside the static maps present in this report.
Click here to see ISW's interactive map of Ukraine's offensive in Kursk Oblast.
Click here to see ISW’s 3D control of terrain topographic map of Ukraine. Use of a computer (not a mobile device) is strongly recommended for using this data-heavy tool.
Click here to access ISW’s archive of interactive time-lapse maps of the Russian invasion of Ukraine. These maps complement the static control-of-terrain map that ISW produces daily by showing a dynamic frontline. ISW will update this time-lapse map archive monthly.
Note: The data cut-off for this product was 12pm ET on October 31. ISW will cover subsequent reports in the November 1 Russian Offensive Campaign Assessment.
Ukrainian forces marginally advanced during recent counterattacks north of Pokrovsk as Russian forces continue to infiltrate into Pokrovsk and east of Myrnohrad (east of Pokrovsk). Geolocated footage published on October 31 indicates that Ukrainian forces recently marginally advanced in eastern Rodynske (north of Pokrovsk).[1] Additional geolocated footage published on October 30 shows Ukrainian forces striking Russian positions in northern Pokrovsk and in eastern Rih (immediately east of Pokrovsk) after what ISW assesses to be an infiltration mission.[2] ISW assesses that these infiltration missions did not change the control of terrain or the forward edge of the battle area (FEBA). A source reportedly affiliated with Ukrainian military intelligence stated on October 29 that Russian forces are infiltrating Pokrovsk in groups of five to 10 people and that Pokrovsk is mainly a contested "gray zone."[3] The Russian Ministry of Defense (MoD) claimed that elements of the 2nd Combined Arms Army (CAA, Central Military District [CMD]) are advancing within Pokrovsk, including near the Pokrovsk railway station in central Pokrovsk, and that elements of the 5th Motorized Rifle Brigade (51st CAA, formerly known as the 1st Donetsk People's Republic Army Corps [DNR AC], Southern Military District [SMD]) are advancing in Myrnohrad.[4] Russian milbloggers also claimed that Russian forces are advancing further in Pokrovsk and into eastern Myrnohrad and near Rodynske.[5] Another Russian milblogger claimed that elements of the 41st CAA (CMD) advanced west of Pokrovsk toward Hryshyne and advanced to the M-30 Pokrovsk-Pavlohrad highway.[6] The porous nature of the frontline and pervasiveness of drones in this area continues to complicate and obscure the tactical picture in Pokrovsk, and ISW will provide an updated assessment as the situation becomes clearer.
The Pentagon approved the provision of Tomahawk missiles to Ukraine on October 31, but the final decision remains with US President Donald Trump. CNN, citing three US and European officials, reported on October 31 that the Pentagon determined that providing Tomahawks to Ukraine would not negatively impact US stockpiles.[7] The officials noted that the decision to actually send Ukraine the missiles rests with Trump. ISW continues to assess that providing US Tomahawk missiles to Ukraine would parallel Russia's regular use of long-range cruise and ballistic missiles against Ukraine and reduce this important Russian advantage.[8] Russia regularly uses missiles comparable to the Tomahawk, such as Kh-series and Kalibr cruise, Kinzhal aeroballistic, and Iskander ballistic and cruise missiles that Russia uses in its nightly strikes against Ukraine.[9] Russia has used most of these missile types since 2022 and began using Iskander-K cruise missiles in 2023. The Tomahawk missiles’ long-range and larger payload would enable the Ukrainian military to inflict substantial damage on key Russian military assets located deep within Russian territory, such as the Shahed drone factory in Yelabuga, Republic of Tatarstan, and the Engels-2 Air Base in Saratov Oblast, from which Russia sorties the strategic bombers that fire air-launched cruise missiles at Ukraine.
Russia and Belarus continue to threaten Europe with the future deployment of Oreshnik missiles to Belarus. Belarusian President Alexander Lukashenko stated on October 31 that Russia will deploy the Oreshnik missile system on combat duty to Belarus in December 2025.[10] Kremlin officials have claimed as recently as October 29 that Russia and Belarus do not feel "safe" given European “Russophobic statements” and supposed militaristic aspirations and hysteria.[11] ISW continues to assess that Russia is using the Oreshnik as part of a reflexive control campaign and ongoing nuclear saber rattling aimed at undermining Western resolve to militarily support Ukraine.[12] Lukashenko and Russian President Vladimir Putin announced plans in December 2024 to deploy the Oreshnik missile systems to Belarus in 2025.[13]
Ukraine continues to conduct long-range drone and missile strikes against Russian air defense and energy infrastructure. The Ukrainian Navy reported, and geolocated footage indicates, that Ukrainian forces conducted a Neptune missile strike against the Oryol Thermal Power Plant in Oryol Oblast and the Novobryansk substation in Bryansk Oblast overnight on October 30 to 31.[14] The Ukrainian Navy reported that both facilities supply power to Russian military enterprises in Oryol Oblast. Ukraine’s Unmanned Systems Forces (USF) reported on October 31 that USF elements, in cooperation with the Russian Chernaya Iskra insurgency group, disabled a Russian Buk-M3 surface-to-air missile (SAM) system and NEBO-U early warning radar system in Rostov Oblast on the night of September 27 to 28.[15]
Russian forces have repeatedly struck Ukraine with nuclear-capable 9M729 Novator ground-launched cruise missiles since August 2025, in apparent violation of the Intermediate-Range Nuclear Forces (INF) Treaty. Ukrainian Foreign Minister Andriy Sybiha told Reuters on October 31 that Russian forces recently began using nuclear-capable 9M729 Novator ground-launched cruise missiles against Ukraine, the first public acknowledgement that Russian forces have employed these missiles against Ukraine.[16] Sybiha noted that the missile’s range violates the INF Treaty, which bans ground-launched missiles with a range between 500 and 5,500 kilometers. Russian Oreshnik missiles also notably violate the INF Treaty.[17] A military source told Reuters that Russian forces launched a 9M729 missile against an unspecified target in Ukraine at a range of over 1,200 kilometers on October 5. A senior Ukrainian official told Reuters that Russian forces launched Novator missiles against Ukraine twice in 2022 and 23 times since August 2025. Russia’s use of the missile comes against the backdrop of Russian President Vladimir Putin’s announcements of Russian nuclear weapons tests of the Burevestnik missile and Poseidon unmanned underwater vehicle.[18]
A German court convicted several citizens of conspiring to commit acts of sabotage in Germany on behalf of Russia, and Lithuanian authorities closed the Vilnius Airport due to more aerial incursions from Belarusian airspace. German outlet Deutsche Welle (DW) reported on October 30 that a German court convicted a dual German-Russian citizen and two other German citizens of espionage and conspiring to commit acts of sabotage in Germany on behalf of Russia.[19] DW noted that the dual German citizen admitted to fighting in a pro-Russian militia in eastern Ukraine in 2014. Lithuanian President Gitanas Nauseda announced on October 31 that authorities closed the Vilnius Airport after observing an unspecified number of balloons flying toward the airport from Belarusian airspace.[20] This incident marks the most recent instance of balloon disruptions near the Vilnius Airport in October 2025.[21] Lithuania recently extended its closure of land border crossings with Belarus in response to the incidents.[22] ISW assesses that the aerial incursions into Belarus are very likely linked to Russia's ongoing Phase Zero informational and psychological conditions-setting phase — to gauge NATO's responsiveness and gather actionable intelligence in preparation for a possible NATO-Russia war in the future.[23]
Russian Defense Minister Andrei Belousov recently appointed former First Deputy Trade and Industry Minister Vasily Osmakov as Deputy Minister of Defense. Belousov announced Osmakov’s appointment on October 31 at the Commonwealth of Independent States (CIS) Council of Defense Ministers in Kazakhstan.[24] Russian state outlet RBK reported on October 31 that Osmakov became an official in the Ministry of Industry and Trade in 2004 and first deputy minister in 2021.[25] Sources told RBK that the Russian MoD is appointing Osmakov to replace Russian Deputy Defense Minister Alexander Fomin due to Fomin’s supposed retirement. ISW has not observed additional statements about Fomin retiring.
Key Takeaways:
- Ukrainian forces marginally advanced during recent counterattacks north of Pokrovsk as Russian forces continue to infiltrate into Pokrovsk and east of Myrnohrad (east of Pokrovsk).
- The Pentagon approved the provision of Tomahawk missiles to Ukraine on October 31, but the final decision remains with US President Donald Trump.
- Russia and Belarus continue to threaten Europe with the future deployment of Oreshnik missiles to Belarus.
- Ukraine continues to conduct long-range drone and missile strikes against Russian air defense and energy infrastructure.
- Russian forces have repeatedly struck Ukraine with nuclear-capable 9M729 Novator ground-launched cruise missiles since August 2025, in apparent violation of the Intermediate-Range Nuclear Forces (INF) Treaty.
- A German court convicted several citizens of conspiring to commit acts of sabotage in Germany on behalf of Russia, and Lithuanian authorities closed the Vilnius Airport due to more aerial incursions from Belarusian airspace.
- Russian Defense Minister Andrei Belousov recently appointed former First Deputy Trade and Industry Minister Vasily Osmakov as Deputy Minister of Defense.
- Ukrainian forces advanced in the Dobropillya tactical area and near Pokrovsk. Russian forces advanced in the Kostyantynivka-Druzhkivka tactical area and near Pokrovsk.
We do not report in detail on Russian war crimes because these activities are well-covered in Western media and do not directly affect the military operations we are assessing and forecasting. We will continue to evaluate and report on the effects of these criminal activities on the Ukrainian military and the Ukrainian population and specifically on combat in Ukrainian urban areas. We utterly condemn Russian violations of the laws of armed conflict and the Geneva Conventions and crimes against humanity even though we do not describe them in these reports.
- Ukrainian Operations in the Russian Federation
- Russian Supporting Effort – Northern Axis
- Russian Main Effort – Eastern Ukraine (comprised of three subordinate main efforts)
- Russian Subordinate Main Effort #1 – Push Ukrainian forces back from the international border with Belgorod Oblast and approach to within tube artillery range of Kharkiv City
- Russian Subordinate Main Effort #2 – Capture the remainder of Luhansk Oblast and push westward into eastern Kharkiv Oblast and encircle northern Donetsk Oblast
- Russian Subordinate Main Effort #3 – Capture the entirety of Donetsk Oblast, the claimed territory of Russia’s proxies in Donbas, and possibly advance into Dnipropetrovsk Oblast
- Russian Supporting Effort – Southern Axis
- Russian Air, Missile, and Drone Campaign
- Significant Activity in Belarus
Ukrainian Operations in the Russian Federation
See topline text.
Russian Supporting Effort – Northern Axis (Russian objective: Create defensible buffer zones in northern Ukraine along the international border)
Russian forces continued offensive operations in northern Sumy Oblast on October 31 but did not advance.
Fighting continued in Kursk and Sumy oblasts on October 30 and 31.[26] Russian milbloggers claimed that Ukrainian forces counterattacked near Stepne (northwest of Sumy City) and Varachyne (north of Sumy City).[27]
Order of Battle: Drone operators of the Russian Rubikon Center for Advanced Unmanned Technologies are reportedly striking the Ukrainian rear in the Sumy direction.[28]
Russian Main Effort – Eastern Ukraine
Russian Subordinate Main Effort #1 – Kharkiv Oblast (Russian objective: Push Ukrainian forces back from the international border with Belgorod Oblast and approach to within tube artillery range of Kharkiv City)
Russian forces continued offensive operations in northern Kharkiv Oblast on October 31 but did not advance.
Russian forces attacked northeast of Kharkiv City near Vovchansk on October 30 and 31.[29]
The spokesperson of a Ukrainian brigade reported that Ukrainian strikes against the Belgorod Reservoir Dam raised the water levels of the Vovcha and Siverskyi Donets rivers, which is making it more difficult for Russian forces to cross the river.[30]
Order of Battle: Elements of the Russian 82nd Motorized Rifle Regiment and 1009th Motorized Rifle Regiment (both of the 69th Motorized Rifle Division, 6th Combined Arms Army [6th CAA], Leningrad Military District [LMD]), 128th Motorized Rifle Brigade (44th Army Corps [AC], LMD) and 136th Motorized Rifle Brigade (58th CAA, Southern Military District [SMD]) are reportedly operating in the Vovchansk direction.[31]
Russian forces continued offensive operations northeast of Velykyi Burluk near Milove and Khatnie and east of Velykyi Burluk near Dvorichanske on October 30 and 31 but did not advance.[32]
Russian Subordinate Main Effort #2 – Luhansk Oblast (Russian objective: Capture the remainder of Luhansk Oblast and push westward into eastern Kharkiv Oblast and northern Donetsk Oblast)
Ukrainian forces recently maintained positions or advanced in the Kupyansk direction.
Refinement of areas under Russian claims: Geolocated footage published on October 30 indicates that Ukrainian forces hold positions in eastern Kurylivka (southeast of Kupyansk) — an area in which Russian sources previously claimed that Russian forces maintained a presence.[33]
Russian forces attacked near and within Kupyansk itself; northeast of Kupyansk near Fyholivka and toward Kolodyazne; east of Kupyansk near Pishchane and toward Petropavlivka; and southeast of Kupyansk near Stepova Novoselivka and toward Novoosynove on October 30 and 31.[34]
Order of Battle: Drone operators and other elements of the Russian 47th Tank Division (1st Guards Tank Army [GTA], Moscow Military District [MMD]), including its 272nd Motorized Rifle Regiment and 375th Separate Anti-Tank Artillery Battalion, are reportedly operating in the Kupyansk direction.[35]
Russian forces continued offensive operations northeast of Borova toward Novoplatonivka on October 31 but did not advance.[36]
Russian forces continued offensive operations in the Lyman direction on October 31 but did not make confirmed advances.
Unconfirmed claims: A Russian milblogger claimed that Russian forces advanced in a forested area west of Yampil (southeast of Lyman).[37]
Russian forces attacked northwest of Lyman near Derylove, Korovii Yar, and Shandryholove; north of Lyman near Karpivka; east of Lyman near Torske; and southeast of Lyman near Yampil on October 30 and 31.[38]
A non-commissioned officer (NCO) of a Ukrainian brigade operating in the Lyman direction reported on October 31 that Russian forces are leveraging specialized units to infiltrate Ukrainian positions and are leveraging thermal-shielding cloaks and tents to offset Ukrainian drones with thermal imaging sensors.[39] The NCO reported that Ukrainian forces are observing an increase in Russian drones in the area, particularly heavy bomber drones such as the Koschei being used for logistics.
Russian Subordinate Main Effort #3 – Donetsk Oblast (Russian objective: Capture the entirety of Donetsk Oblast, the claimed territory of Russia’s proxies in Donbas, and advance into Dnipropetrovsk Oblast)
Russian forces continued offensive operations in the Siversk direction on October 31 but did not advance.
Unconfirmed claims: A Russian milblogger claimed that Russian forces advanced in the fields and to a bridge along the Zvanivka-Siversk road south of Siversk.[40]
Russian forces continued assaults northwest of Siversk near Dronivka, northeast of Siversk near Serebryanka, southeast of Siversk near Vyimka, and south of Siversk near Pereizne and Zvanivka on October 30 and 31.[41]
Ukrainian state electricity transmission operator Ukrenergo and Ukrainian President Volodymyr Zelensky reported on October 30 that Russian forces struck the Slavyansk Thermal Power Plant (TPP) with a glide bomb and killed at least two employees.[42]
Ukrainian forces maintained positions or recently advanced and Russian forces recently advanced in the Kostyantynivka-Druzhkivka tactical area.
Assessed Russian Advances: Ukrainian military observer Kostyantyn Mashovets stated that Russian forces recently seized Volodymyrivka (southwest of Druzhkivka).[43]
Refinement of areas under Russian claims: Geolocated footage published on October 31 shows a Russian strike against Ukrainian drone operators east of Kostyantynivka, indicating that Ukrainian forces either maintained positions or recently advanced in an area where Russian sources previously claimed that Russian forces maintained a presence.[44]
Unconfirmed claims: A Russian milblogger claimed that elements of the Russian 150th Motorized Rifle Division (8th Combined Arms Army [CAA], Southern Military District [SMD]) reportedly advanced west of Pleshchiivka, north and northeast of the Kleban-Byk reservoir (both southeast of Kostyantynivka), and west of Toretske (southwest of Druzhkivka).[45]
Russian forces attacked northeast of Kostyantynivka near Chasiv Yar; east of Kostyantynivka near Stupochky; southeast of Kostyantynivka near Shcherbynivka, Pleshchiivka, and Toretsk; south of Kostyantynivka near Yablunivka; south of Druzhkivka near Rusyn Yar; and southwest of Druzhkivka near Sofiivka and Volodymyrivka on October 30 and 31.[46]
Ukrainian Donetsk Oblast Military Administration Head Vadym Filashkin reported on October 30 that Russian forces struck residential infrastructure in Kostyantynivka, killing one person and injuring six others.[47] The Ukrainian National Police reported that Russian forces struck Kramatorsk with an Iskander-M ballistic missile and two Shahed-type drones.[48]
Order of Battle: Elements of the Russian 238th Artillery Brigade (8th CAA), including drone operators of the brigade's Berkut Group, are reportedly striking Ukrainian positions west of the Kleban-Byk reservoir and near Oleksiyevo-Druzhkivka (northwest of Kostyantynivka).[49] First person view (FPV) drone operators of the Russian 57th Spetsnaz Company of the 8th CAA reportedly struck Ukrainian positions near Volodymyrivka (southwest of Druzhkivka).[50]
Ukrainian forces advanced in the Dobropillya tactical area.
Assessed Ukrainian Advances: Ukrainian military observer Kostyantyn Mashovets reported that Ukrainian forces re-took Dorozhnie (southeast of Dobropillya), although ISW does not assess that this event happened in the previous 24 hours.[51]
Unconfirmed claims: A Russian milblogger claimed that Russian forces advanced in northern Shakhove (east of Dobropillya).[52]
Russian forces attacked northeast of Dobropillya toward Petrivka, east of Dobropillya near Shakhove, and southeast of Dobropillya near Zapovidne on October 30 and 31.[53] A Russian milblogger claimed that Ukrainian forces counterattacked near Zapovidne.[54]
Ukrainian forces recently advanced in Pokrovsk direction.
Assessed Ukrainian advances: See topline text for information on assessed Ukrainian advances in the Pokrovsk direction.
Russian forces attacked near and within Pokrovsk itself; north of Pokrovsk near Rodynske; northeast of Pokrovsk near Zatyshok, Novoekonomichne, Sukhetske, and Krasnyi Lyman; east of Pokrovsk near Myrnohrad; southeast of Pokrovsk near Lysivka and Novopavlivka; south of Pokrovsk near Chunyshyne; and southwest of Pokrovsk near Zvirove, Udachne, Kotlyne, and Molodetske; and west of Pokrovsk toward Hryshyne on October 30 and 31.[55] A Russian milblogger claimed that Ukrainian forces counterattacked near Sukhetske and Zatyshok.[56]
Order of Battle: Drone operators and other elements of the Russian 56th Separate Spetsnaz Battalion (51st CAA, formerly 1st Donetsk People's Republic Army Corps [DNR AC], SMD) and the 1435th and 506th motorized rifle regiments (both of the 27th Motorized Rifle Division, 2nd CAA, Central Military District [CMD]) are reportedly operating in the Pokrovsk direction.[57]
Ukrainian forces recently maintained positions or advanced in the Novopavlivka direction.
Refinement of areas under Russian claims: Geolocated footage published on October 31 indicates that Ukrainian forces hold positions southwest of Horikhove (southeast of Novopavlivka), in an area in which Russian sources previously claimed that Russian forces maintained a presence.[58]
Unconfirmed claims: A Russian milblogger claimed that Russian forces advanced into southern Novopavlivka.[59]
Russian forces attacked northeast of Novopavlivka near Novomykolaivka, southeast of Novopavlivka near Dachne, south of Novopavlivka near Filiya, and southwest of Novopavlivka near Zelenyi Hai on October 30 and 31.[60]
Russian forces continued offensive operations in the Velykomykhailivka direction on October 31 but did not make confirmed advances.
Unconfirmed claims: The Russian Ministry of Defense (MoD) and Russian milbloggers claimed that Russian forces seized Novooleskandrivka (southwest of Velykomykhailivka).[61]
Russian forces attacked southeast of Velykomykhailivka near Sosnivka, south of Velykomykhailivka near Stepove and toward Orestopil, and southwest of Velykomykhailivka near Oleksiivka and Verbove on October 30 and 31.[62]
Geolocated footage published on October 31 shows elements of the Russian 36th Motorized Rifle Brigade (29th CAA, Eastern Military District [EMD]) raising flags at multiple locations in Novooleksandriivka (southwest of Velykomykhailivka) after what ISW assesses to be an infiltration mission.[63] ISW assesses that this infiltration mission did not change the control of terrain or the forward edge of the battle area (FEBA).
Order of Battle: Elements of the Russian 11th Air Force and Air Defense Army (Russian Aerospace Forces [VKS] and EMD) are reportedly striking Ukrainian positions near Nechaivka (southwest of Velykomykhailivka).[64] Drone operators of the 5th Tank Brigade (36th CAA, EMD) are reportedly striking Ukrainian equipment in the Velykomykhailivka direction.[65]
Russian Supporting Effort – Southern Axis (Russian objective: Maintain frontline positions, secure rear areas against Ukrainian strikes, and advance within tube artillery range of Zaporizhzhia City)
Russian forces continued offensive operations in eastern Zaporizhia Oblast on October 31 but did not make confirmed advances.
Unconfirmed claims: A Kremlin-affiliated milblogger claimed that Russian forces advanced toward Vesele and Zelenyi Hai (both east of Hulyaipole).[66]
Russian forces attacked northeast of Hulyaipole near Rybne, Pavlivka, Novovasylivske, Novohryhorivka, Novomykolaivka, and Uspenivka and toward Nove and east of Hulyaipole near Zelenyi Hai on October 30 and 31.[67]
Russian forces continued offensive operations in western Zaporizhia Oblast on October 31 but did not make confirmed advances.
Unconfirmed claims: A Russian milblogger claimed that Russian forces advanced within Prymorske and on the eastern outskirts of Stepnohirsk (both west of Orikhiv).[68]
Russian forces attacked southeast of Orikhiv near Mala Tokmachka; south of Orikhiv near Novodanylivka; southwest of Orikhiv near Lobkove and Nesteryanka; and west of Orikhiv near Novoandriivka and Stepnohirsk on October 30 and 31.[69]
Ukrainian Zaporizhia Oblast Military Administration Head Ivan Fedorov reported that Russian first-person view (FPV) drone operators struck Malokaterynivka (northwest of Orikhiv), killing one civilian and injuring another.[70]
Order of Battle: Drone operators of the Russian 4th Military Base (58th Combined Arms Army [CAA], Southern Military District [SMD]) reportedly continue to strike Ukrainian forces near Mala Tokmachka.[71] Drone operators of the Nemets group of the 3rd Assault Company of the 291st Motorized Rifle Regiment (42nd Motorized Rifle Division, 58th CAA, SMD) reportedly continue to strike Ukrainian positions in Zaporizhia Oblast.[72]
Russian forces continued limited ground assaults in the Kherson direction on October 30 and 31 but did not advance.[73]
Ukrainian Kherson Oblast Military Administration Head Oleksandr Prokudin reported on October 31 that Russian drone operators dropped explosive devices on civilians in Kherson City, injuring one civilian.[74]
Order of Battle: Elements of the Russian 215th Separate Reconnaissance Battalion (98th Airborne [VDV] Division) are reportedly striking Ukrainian forces near the Antonivskyi railway and roadway bridges (east of Kherson City).[75]
Russian Air, Missile, and Drone Campaign (Russian Objective: Target Ukrainian military and civilian infrastructure in the rear and on the frontline)
Russian forces conducted a series of drone and missile strikes against Ukraine on the night of October 30 to 31. The Ukrainian Air Force reported that Russian forces launched one Iskander-M ballistic missile from Rostov Oblast and 145 total Shahed-type and Gerbera-type drones, including roughly 90 Shaheds, from the directions of Kursk and Oryol cities; Primorsko-Akhtarsk, Krasnodar Krai; and occupied Cape Chauda and Hvardiiske, Crimea.[76] The Ukrainian Air Force reported that Ukrainian air defenses downed or suppressed the ballistic missile and 107 drones and that 36 unspecified drones struck 20 unspecified locations. The Ukrainian State Emergency Service reported on October 31 that Russian forces struck an apartment building in Sumy City overnight, injuring 11 civilians, including four children.[77] Ukrainian officials reported that Russian drones struck civilian, railway, and energy infrastructure in Sumy, Odesa, and Kharkiv oblasts.[78]
The International Atomic Energy Agency (IAEA) reported on October 31 that Russian forces damaged the Pivdennoukrainska Nuclear Power Plant (NPP) in Mykolaiv Oblast and the Rivne NPP during strikes on the night of October 29 to 30.[79]
Significant activity in Belarus (Russian efforts to increase its military presence in Belarus and further integrate Belarus into Russian-favorable frameworks)
See topline text.
Note: ISW does not receive any classified material from any source, uses only publicly available information, and draws extensively on Russian, Ukrainian, and Western reporting and social media as well as commercially available satellite imagery and other geospatial data as the basis for these reports. References to all sources used are provided in the endnotes of each update.
[1] https://x.com/99Dominik_/status/1984200462212682212 https://t.me/kyriienko_press/2
[2] https://x.com/Bielitzling/status/1984032655114170503; https://x.com/reDroneFPV/status/1983979605062250731 ; https://x.com/Bielitzling/status/1983960379991716043 https://t.me/shershni68/842
[3] https://t.me/DeepStateUA/22677
[4] https://t.me/mod_russia/58035
[5] https://t.me/RVvoenkor/102865 ; https://t.me/RVvoenkor/102886 ; https://t.me/dva_majors/82388 ; https://t.me/motopatriot78/43871
[6] https://t.me/motopatriot78/43875
[7] https://www.cnn.com/2025/10/31/politics/pentagon-tomahawks-trump-ukraine
[8] https://understandingwar.org/research/russia-ukraine/russian-offensive-campaign-assessment-october-17-2025/ ; https://understandingwar.org/research/russia-ukraine/russian-offensive-campaign-assessment-october-15-2025/
[9] https://understandingwar.org/research/russia-ukraine/russian-offensive-campaign-assessment-october-15-2025/
[10] https://t.me/tass_agency/346588
[11] https://understandingwar.org/research/russia-ukraine/russian-offensive-campaign-assessment-october-29-2025/
[12] https://understandingwar.org/research/russia-ukraine/russian-offensive-campaign-assessment-october-29-2025/ ; https://understandingwar.org/research/russia-ukraine/russian-offensive-campaign-assessment-october-27-2025/ ; https://understandingwar.org/research/russia-ukraine/russian-offensive-campaign-assessment-november-22-2024/ ; https://understandingwar.org/research/russia-ukraine/russian-offensive-campaign-assessment-october-15-2025/
[13] https://understandingwar.org/research/russia-ukraine/russian-offensive-campaign-assessment-december-6-2024/ ; https://understandingwar.org/research/russia-ukraine/russian-offensive-campaign-assessment-december-26-2024/
[14] https://www.facebook.com/navy.mil.gov.ua/posts/1248833803950866?ref=embed_post ; https://x.com/bayraktar_1love/status/1984036331744587839; https://x.com/neonhandrail/status/1984042373857603723; https://x.com/giK1893/status/1984041519477879023; https://t.me/exilenova_plus/13342; https://x.com/wartranslated/status/1984263886858826202
[15] https://t.me/ukr_sof/2220; https://armyinform dot com.ua/2025/10/31/bijczi-sso-urazyly-dva-krytychni-elementy-systemy-ppo-rf-yaki-koshtuyut-sotni-miljoniv- ; https://t.me/ukr_sof/2220 ; https://suspilne dot media/1152980-sili-specoperacij-zsu-u-rostovskij-oblasti-rf-znisili-zrk-buk-m3-ta-urazili-rls-nebo-u/
[16] https://www.reuters.com/business/aerospace-defense/russia-uses-missile-ukraine-that-led-trump-quit-nuclear-treaty-kyiv-says-2025-10-31/
[17] https://understandingwar.org/research/russia-ukraine/russian-offensive-campaign-assessment-august-5-2025/
[18] https://understandingwar.org/research/russia-ukraine/russian-offensive-campaign-assessment-october-30-2025/; https://understandingwar.org/research/russia-ukraine/russian-offensive-campaign-assessment-october-29-2025/
[19] https://www.dw dot com/en/germany-news-munich-court-jails-man-for-spying-for-russia/live-74553936
[20] https://suspilne dot media/1152924-prezident-litvi-poobicav-so-incidenti-z-meteokulami-aki-letat-z-bilorusi-ne-zalisatsa-bez-vidpovidi/ ; https://www.facebook.com/nausedagitanas/posts/pfbid0331RD2Sq3XEpps1ytK2suxCDipNPjqhEMYhNGWiMQNXfSBFLLC2kPxHshUx1tsuFBl?locale=ru_RU
[21] https://suspilne dot media/1148724-vilnuskij-aeroport-zakritij-cerez-nevidomi-povitrani-kuli/ ; https://understandingwar.org/research/russia-ukraine/russian-offensive-campaign-assessment-october-29-2025/; https://understandingwar.org/research/russia-ukraine/russian-offensive-campaign-assessment-october-27-2025/ ; https://understandingwar.org/research/russia-ukraine/russian-offensive-campaign-assessment-september-27-2025/
[22] https://understandingwar.org/research/russia-ukraine/russian-offensive-campaign-assessment-october-27-2025/
[23] https://understandingwar.org/research/russia-ukraine/russian-offensive-campaign-assessment-october-28-2025/; https://understandingwar.org/research/russia-ukraine/russian-offensive-campaign-assessment-october-27-2025/ ; https://understandingwar.org/research/russia-ukraine/russian-offensive-campaign-assessment-october-26-2025/ ; https://understandingwar.org/research/russia-ukraine/russian-offensive-campaign-assessment-october-24-2025/ ; https://understandingwar.org/research/russia-ukraine/russian-offensive-campaign-assessment-october-19-2025/; https://understandingwar.org/research/russia-ukraine/russian-offensive-campaign-assessment-october-12-2025/; https://understandingwar.org/research/russia-ukraine/russian-offensive-campaign-assessment-october-11-2025/
[24] https://t.me/tass_agency/346547 ; https://t.me/tass_agency/346570 ; https://t.me/mod_russia/58039
[25] https://www.rbc dot ru/politics/31/10/2025/690495029a7947372300bc4c
[26] https://t.me/GeneralStaffZSU/30901 ; https://t.me/GeneralStaffZSU/30879 ; https://t.me/GeneralStaffZSU/30877
[27] https://t.me/dva_majors/82388 ; https://t.me/severnnyi/5572
[28] https://t.me/severnnyi/5577
[29] https://t.me/GeneralStaffZSU/30901 ; https://t.me/GeneralStaffZSU/30879 ; https://t.me/GeneralStaffZSU/30877 ; https://t.me/severnnyi/5572 ; https://t.me/dva_majors/82388
[30] https://youtu.be/F3EPadIzywY?t=2817; https://armyinform dot com.ua/2025/10/31/tam-bingo-mozhna-zbyraty-na-harkivshhyni-vorog-ne-mozhe-forsuvaty-richky-bo-pidnyalasya-voda/
[31] https://t.me/severnnyi/5576 ; https://t.me/armycorp44/288 ; https://t.me/wargonzo/30221 ; https://www.facebook.com/share/v/1C4qWvwJbv/; https://armyinform dot com.ua/2025/10/30/20-rokiv-tyurmy-abo-kontrakt-z-rf-pid-vovchanskom-vzyaly-v-polon-najmanczya-z-iraku/
[32] https://t.me/GeneralStaffZSU/30901 ; https://t.me/GeneralStaffZSU/30879 ; https://t.me/GeneralStaffZSU/30877 ; https://t.me/dva_majors/82388 ; https://t.me/wargonzo/30210
[33] https://x.com/ZoamSc2/status/1984073929330459077; https://t.me/vpolezrenia1/10251
[34] https://t.me/GeneralStaffZSU/30901 ; https://t.me/GeneralStaffZSU/30879 ; https://t.me/GeneralStaffZSU/30877; https://t.me/wargonzo/30210 ; https://t.me/dva_majors/82388
[35] https://t.me/motopatriot78/43860 ; https://t.me/mod_russia/58023 ; https://x.com/ZoamSc2/status/1984073929330459077 ; https://t.me/vpolezrenia1/10251
[36] https://t.me/GeneralStaffZSU/30901
[37] https://t.me/motopatriot78/43886
[38] https://t.me/GeneralStaffZSU/30901 ; https://t.me/GeneralStaffZSU/30879 ; https://t.me/GeneralStaffZSU/30877 ; https://t.me/wargonzo/30210
[39] https://armyinform.com dot ua/2025/10/31/koshheya-vykorystovuyut-dlya-logistyky-rosiyany-hochut-infiltruvaty-speczpidrozdily-poblyzu-lymana/
[40] https://t.me/voenkorKotenok/68538
[41] https://t.me/GeneralStaffZSU/30901 ; https://t.me/GeneralStaffZSU/30879 ; https://t.me/GeneralStaffZSU/30877 ; https://t.me/wargonzo/30210
[42] https://t.me/energyofukraine/5098 ; https://t.me/V_Zelenskiy_official/16675
[43] https://t.me/zvizdecmanhustu/3070
[44] https://x.com/MaxximOSINT/status/1984113336188121380 ; https://t.me/motopatriot78/43865
[45] https://t.me/motopatriot78/43872
[46] https://t.me/GeneralStaffZSU/30901 ; https://t.me/GeneralStaffZSU/30879 ; https://t.me/GeneralStaffZSU/30877 ; https://t.me/wargonzo/30210
[47] https://t.me/VadymFilashkin/12029
[48] https://t.me/mvs_ukraine/55619; https://armyinform dot com.ua/2025/10/31/naslidky-obstriliv-rf-na-donechchyni-8-zagyblyh-19-poranenyh-ye-vluchannya-v-energetychnyj-obyekt/
[49] https://t.me/epoddubny/25360 ; https://t.me/nm_dnr/14499 ; https://t.me/mod_russia/58020
[50] https://t.me/nm_dnr/14491
[51] https://t.me/zvizdecmanhustu/3070
[52] https://t.me/motopatriot78/43880
[53] https://t.me/GeneralStaffZSU/30901 ; https://t.me/GeneralStaffZSU/30879 ; https://t.me/GeneralStaffZSU/30877 ; https://t.me/motopatriot78/43880 ; https://t.me/wargonzo/30210
[54] https://t.me/wargonzo/30210
[55] https://t.me/GeneralStaffZSU/30901 ; https://t.me/GeneralStaffZSU/30879 ; https://t.me/GeneralStaffZSU/30877 ; https://t.me/motopatriot78/43880 ; https://t.me/wargonzo/30210
[56] https://t.me/wargonzo/30210
[57] https://t.me/nm_dnr/14492 ; https://t.me/motopatriot78/43860
[58] https://t.me/creamy_caprice/10407; https://t.me/urga_74/7368
[59] https://t.me/motopatriot78/43859
[60] https://t.me/GeneralStaffZSU/30901 ; https://t.me/GeneralStaffZSU/30879 ; https://t.me/GeneralStaffZSU/30877 ;
[61] https://t.me/mod_russia/58032 ; https://t.me/RVvoenkor/102884; https://t.me/sashakots/57341 ; https://t.me/mod_russia/58035
[62] https://t.me/GeneralStaffZSU/30901 ; https://t.me/GeneralStaffZSU/30879 ; https://t.me/GeneralStaffZSU/30877 ; https://t.me/rybar/74842
[63] https://t.me/voin_dv/17481; https://x.com/richardzai38580/status/1984174851071123693; https://t.me/creamy_caprice/10405;
[64] https://t.me/boris_rozhin/185303 ; https://t.me/voin_dv/17483
[65] https://t.me/voin_dv/17475
[66] https://t.me/rybar/74842
[67] https://t.me/GeneralStaffZSU/30901; https://t.me/GeneralStaffZSU/30877; https://t.me/GeneralStaffZSU/30879
[68] https://t.me/rusich_army/26562
[69] https://t.me/GeneralStaffZSU/30901; https://t.me/GeneralStaffZSU/30879; https://t.me/GeneralStaffZSU/30877; https://t.me/dva_majors/82388; https://t.me/wargonzo/30210; https://t.me/rusich_army/26562
[70] https://t.me/ivan_fedorov_zp/27718 ; https://t.me/ivan_fedorov_zp/27719
[71] https://t.me/vrogov/22282
[72] https://t.me/wargonzo/30208
[73] https://t.me/GeneralStaffZSU/30901; https://t.me/GeneralStaffZSU/30879; https://t.me/GeneralStaffZSU/30877
[74] https://t.me/olexandrprokudin/10749 ; https://t.me/khersonskaODA/44486 ; https://suspilne dot media/kherson/1153112-rosijskij-dron-atakuvav-colovika-u-dniprovskomu-rajoni-hersona/ ; https://www.facebook.com/khoda.gov.ua/posts/1229761189185708?ref=embed_post ; https://t.me/olexandrprokudin/10748 ; https://t.me/khersonskaODA/44497
[75] https://t.me/osvedomitell_alex/30110; https://t.me/operator_ak12/12652
[76] https://t.me/kpszsu/46058
[77] https://t.me/dsns_telegram/52242; https://armyinform dot com.ua/2025/10/31/rosiya-zavdala-udariv-po-sumah-vynykly-pozhezhi-ye-travmovani/ ; https://t.me/akovalenko1989/9995
[78] https://t.me/OleksiiKuleba/7368; https://armyinform dot com.ua/2025/10/31/armiya-rf-atakuvala-zaliznychnu-infrastrukturu-sumshhyny-ta-harkivshhyny/; https://t.me/synegubov/18026; https://suspilne dot media/odesa/1152778-rf-atakuvala-energeticnu-infrastrukturu-odesini-e-vlucanna/ ; https://www.facebook.com/oda.odesa/posts/pfbid02WDWG2DeZtr9jyVuTECLh7Kj3yoMSyqJLiWJnnxEWJLNt152gwYjMoxDfc6WNkHvol
[79] https://suspilne dot media/1152724-u-magate-zaavili-so-udari-rf-30-zovtna-poskodili-pidstancii-vazlivi-dla-bezpeki-ukrainskih-aes/ ; https://www.iaea dot org/newscenter/pressreleases/update-324-iaea-director-general-statement-on-situation-in-ukraine












