
Research
Supply Chain Attack on Axios Pulls Malicious Dependency from npm
A supply chain attack on Axios introduced a malicious dependency, plain-crypto-js@4.2.1, published minutes earlier and absent from the project’s GitHub releases.
@dataformer/gcp-auth
Advanced tools
GCP authentication service for Dataformer - handles both local gcloud and deployed service account auth
GCP Authentication Service for Dataformer - provides unified authentication for all Google Cloud Platform services across local development and deployed environments.
This service automatically detects the environment and uses the appropriate authentication method, eliminating the need for manual authentication configuration in each Google Cloud client.
# Install Google Cloud SDK
# https://cloud.google.com/sdk/docs/install-sdk
# Initialize gcloud (if not already done)
gcloud init
# Set up application default credentials
gcloud auth application-default login
# Verify configuration
gcloud config list
gcloud auth list
# Set environment variable pointing to service account key JSON
export GOOGLE_APPLICATION_CREDENTIALS="/path/to/service-account-key.json"
import { GcpAuthService } from '@dataformer/gcp-auth';
// Create auth service with default configuration
const auth = await GcpAuthService.create();
// Get configuration for Google Cloud client libraries
const config = await auth.getClientConfig();
import { GcpAuthService } from '@dataformer/gcp-auth';
const auth = await GcpAuthService.create({
projectId: 'my-custom-project',
scopes: ['https://www.googleapis.com/auth/bigquery'],
keyFilename: '/path/to/custom-service-account.json'
});
import { GcpAuthService } from '@dataformer/gcp-auth';
// This will validate auth and log details
const auth = await GcpAuthService.create();
// Get detailed auth information
const authInfo = await auth.getAuthInfo();
console.log('Project ID:', authInfo.projectId);
console.log('Auth Type:', authInfo.authType);
console.log('Service Account:', authInfo.serviceAccountEmail);
All @dataformer/*-client packages that interact with Google Cloud services now use this authentication service automatically:
@dataformer/bigquery-client@dataformer/cloud-storage-client@dataformer/firestore-client@dataformer/secret-manager-client@dataformer/pubsub-client@dataformer/bigtable-clientimport { BigQueryClient } from '@dataformer/bigquery-client';
// Client automatically uses proper authentication
const client = await BigQueryClient.create({
projectId: 'my-project',
datasetId: 'my-dataset'
});
const results = await client.queryRows('SELECT * FROM my_table LIMIT 10');
The service respects these environment variables:
GOOGLE_CLOUD_PROJECT - GCP project IDGCLOUD_PROJECT - Alternative GCP project IDGOOGLE_APPLICATION_CREDENTIALS - Path to service account key JSONEnsure your service accounts have the appropriate permissions for the services you're using:
roles/bigquery.user - For BigQuery operationsroles/storage.admin - For Cloud Storage operationsroles/secretmanager.admin - For Secret Manager operationsroles/pubsub.editor - For Pub/Sub operationsroles/datastore.user - For Firestore operationsroles/bigtable.user - For Bigtable operationsFor local development, your gcloud user account needs:
roles/resourcemanager.projectViewer - To list and access projects"Could not determine GCP project ID"
gcloud config set project YOUR_PROJECT_IDGOOGLE_CLOUD_PROJECT environment variable"Failed to get GCP credentials"
gcloud auth application-default loginPermission Denied Errors
import { GcpAuthService } from '@dataformer/gcp-auth';
const auth = await GcpAuthService.create();
try {
await auth.validateAuth();
console.log('✅ Authentication working');
} catch (error) {
console.error('❌ Authentication failed:', error.message);
}
GcpAuthServiceGcpAuthService.create(config?: GcpAuthConfig)
getCredentials() - Get auth client for Google Cloud librariesgetProjectId() - Get current GCP project IDgetClientConfig() - Get config object for Google Cloud clientsgetAuthInfo() - Get detailed authentication informationvalidateAuth() - Validate and log authentication statusGcpAuthConfig - Configuration optionsGcpAuthInfo - Authentication status informationFAQs
GCP authentication service for Dataformer - handles both local gcloud and deployed service account auth
We found that @dataformer/gcp-auth demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Research
A supply chain attack on Axios introduced a malicious dependency, plain-crypto-js@4.2.1, published minutes earlier and absent from the project’s GitHub releases.

Research
Malicious versions of the Telnyx Python SDK on PyPI delivered credential-stealing malware via a multi-stage supply chain attack.

Security News
TeamPCP is partnering with ransomware group Vect to turn open source supply chain attacks on tools like Trivy and LiteLLM into large-scale ransomware operations.