Ukraine has ratcheted up attacks on Russian energy infrastructure this month, hitting the most assets and the widest range of targets since the war began.
December has seen at least 24 assaults on Russian refineries, oil tankers and other assets at sea, as well as major pipeline infrastructure, according to data compiled by Bloomberg based on public statements from both countries.
The attacks are adding to pressure on Russia’s exports, which are already challenged by international sanctions on the nation’s top oil producers. Although Moscow still ships significant volumes of crude, the flow of petrodollars – a key source of funds for its war – is declining, and the government expects oil and gas revenue to sink to 23 percent of budgetary income this year, a record low.
Notably, Kyiv has intensified attacks on offshore infrastructure, including repeated assaults on Lukoil PJSC’s oil and gas fields in the Caspian Sea. It also hit the Black Sea ports of Taman and Rostov during the month, leaving several tankers ablaze, and continued to strike Russia’s shadow fleet.
Inland, Ukraine kept up strikes on Russian fuel-producing plants, on one occasion using Storm Shadow air-launched cruise missiles for the first time to attack the Novoshakhtinsk refinery, according to the military’s General Staff.
Russia, meanwhile, is still regularly hitting Ukrainian energy and civilian targets, leaving thousands of people without power, water and heating amid freezing temperatures.
The attacks continue despite a recent flurry of diplomatic activity, with US President Donald Trump pushing to secure a resolution to the conflict that’s dragged on for almost four years. Although Trump hailed progress at the weekend, his campaign has since faced fresh complications, with Russia’s Vladimir Putin saying he would revise his country’s negotiating position.
What do you think? We’d love to hear from you, join the conversation on the
Rigzone Energy Network.
The Rigzone Energy Network is a new social experience created for you and all energy professionals to Speak Up about our industry, share knowledge, connect with peers and industry insiders and engage in a professional community that will empower your career in energy.
element
var scriptTag = document.createElement(‘script’);
scriptTag.src = url;
scriptTag.async = true;
scriptTag.onload = implementationCode;
scriptTag.onreadystatechange = implementationCode;
location.appendChild(scriptTag);
};
var div = document.getElementById(‘rigzonelogo’);
div.innerHTML += ” +
‘‘ +
”;
var initJobSearch = function () {
//console.log(“call back”);
}
var addMetaPixel = function () {
if (-1 > -1 || -1 > -1) {
/*Meta Pixel Code*/
!function(f,b,e,v,n,t,s)
{if(f.fbq)return;n=f.fbq=function(){n.callMethod?
n.callMethod.apply(n,arguments):n.queue.push(arguments)};
if(!f._fbq)f._fbq=n;n.push=n;n.loaded=!0;n.version=’2.0′;
n.queue=[];t=b.createElement(e);t.async=!0;
t.src=v;s=b.getElementsByTagName(e)[0];
s.parentNode.insertBefore(t,s)}(window, document,’script’,
‘https://connect.facebook.net/en_US/fbevents.js’);
fbq(‘init’, ‘1517407191885185’);
fbq(‘track’, ‘PageView’);
/*End Meta Pixel Code*/
} else if (0 > -1 && 92 > -1)
{
/*Meta Pixel Code*/
!function(f,b,e,v,n,t,s)
{if(f.fbq)return;n=f.fbq=function(){n.callMethod?
n.callMethod.apply(n,arguments):n.queue.push(arguments)};
if(!f._fbq)f._fbq=n;n.push=n;n.loaded=!0;n.version=’2.0′;
n.queue=[];t=b.createElement(e);t.async=!0;
t.src=v;s=b.getElementsByTagName(e)[0];
s.parentNode.insertBefore(t,s)}(window, document,’script’,
‘https://connect.facebook.net/en_US/fbevents.js’);
fbq(‘init’, ‘1517407191885185’);
fbq(‘track’, ‘PageView’);
/*End Meta Pixel Code*/
}
}
// function gtmFunctionForLayout()
// {
//loadJS(“https://www.googletagmanager.com/gtag/js?id=G-K6ZDLWV6VX”, initJobSearch, document.body);
//}
// window.onload = (e => {
// setTimeout(
// function () {
// document.addEventListener(“DOMContentLoaded”, function () {
// // Select all anchor elements with class ‘ui-tabs-anchor’
// const anchors = document.querySelectorAll(‘a .ui-tabs-anchor’);
// // Loop through each anchor and remove the role attribute if it is set to “presentation”
// anchors.forEach(anchor => {
// if (anchor.getAttribute(‘role’) === ‘presentation’) {
// anchor.removeAttribute(‘role’);
// }
// });
// });
// }
// , 200);
//});
