diff --git a/lib/modules/manager/terraform/extract.spec.ts b/lib/modules/manager/terraform/extract.spec.ts
index d407b781d2077fd9c86e9663a131d2b3c03f4bef..9d9a546a45a37683870c1fb0de796f5e664de4b2 100644
--- a/lib/modules/manager/terraform/extract.spec.ts
+++ b/lib/modules/manager/terraform/extract.spec.ts
@@ -40,6 +40,17 @@ describe('modules/manager/terraform/extract', () => {
       expect(await extractPackageFile('nothing here', '1.tf', {})).toBeNull();
     });
 
+    it('returns null for no deps', async () => {
+      // ModuleExtractor matches `module` at any position.
+      const src = codeBlock`
+        data "sops_file" "secrets" {
+          source_file = "\${path.module}/secrets.enc.json"
+        }
+        `;
+
+      expect(await extractPackageFile(src, '1.tf', {})).toBeNull();
+    });
+
     it('extracts  modules', async () => {
       const res = await extractPackageFile(modules, 'modules.tf', {});
       expect(res?.deps).toHaveLength(18);
diff --git a/lib/modules/manager/terraform/extract.ts b/lib/modules/manager/terraform/extract.ts
index 3c4013138e29ec5e669e3851d067a4c4776586b7..9196c45aae3cd3091489ea6cacda0734004093a5 100644
--- a/lib/modules/manager/terraform/extract.ts
+++ b/lib/modules/manager/terraform/extract.ts
@@ -1,6 +1,11 @@
 import is from '@sindresorhus/is';
 import { logger } from '../../../logger';
-import type { ExtractConfig, PackageFileContent } from '../types';
+import type {
+  ExtractConfig,
+  PackageDependency,
+  PackageFileContent,
+} from '../types';
+import type { DependencyExtractor } from './base';
 import { resourceExtractors } from './extractors';
 import * as hcl from './hcl';
 import {
@@ -15,7 +20,7 @@ export async function extractPackageFile(
 ): Promise<PackageFileContent | null> {
   logger.trace({ content }, `terraform.extractPackageFile(${packageFile})`);
 
-  const passedExtractors = [];
+  const passedExtractors: DependencyExtractor[] = [];
   for (const extractor of resourceExtractors) {
     if (checkFileContainsDependency(content, extractor.getCheckList())) {
       passedExtractors.push(extractor);
@@ -36,7 +41,7 @@ export async function extractPackageFile(
       .toString()}]`
   );
 
-  const dependencies = [];
+  const dependencies: PackageDependency[] = [];
   const hclMap = await hcl.parseHCL(content, packageFile);
   if (is.nullOrUndefined(hclMap)) {
     logger.debug({ packageFile }, 'failed to parse HCL file');
@@ -51,5 +56,5 @@ export async function extractPackageFile(
   }
 
   dependencies.forEach((value) => delete value.managerData);
-  return { deps: dependencies };
+  return dependencies.length ? { deps: dependencies } : null;
 }