
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.
@datafordeler/ejf
Advanced tools
Datafordeler SDK for Javascript Ejf Client (Ejerfortegnelsen) for Node.js
This is an unofficial SDK for interacting with the Ejerfortegnelsen service provided by Datafordeler, a Danish public data distribution platform. The Ejerfortegnelsen service contains detailed data about property owners and property trades across Denmark.
This SDK is designed to be type-safe, providing well-defined input and output types for all interactions, ensuring a smooth and predictable developer experience.
To install this package, use one of the following commands depending on your package manager:
npm install @datafordeler/ejfyarn add @datafordeler/ejfpnpm add @datafordeler/ejfThe client exposes a set of methods designed to be type-safe, ensuring that you can work with strongly typed data throughout your application.
Here's a basic example of how to use the client:
import { EJF } from '@datafordeler/ejf';
const authConfig = {}; // See below for authentication
const client = new EJF(authConfig);
const result = await client.EjerskabMedStamoplysninger({
BFEnr: '12345678',
Status: 'Gældende',
});
console.log(result.features[0]?.properties); // { id_lokalId: ... }
The client requires authentication with a certificate to access the services. As a user you must also request access to the service from Datafordeler as well as have your ip whitelisted. See more at Datafordeler - Anmodning om adgang til ejerfortegnelsen.
The certificate should be in PFX / P12 format and can be provided using one of the following methods:
import { Agent } from "undici";
import { EJF } from '@datafordeler/ejf';
const connect = {
keepAlive: true,
rejectUnauthorized: false;
passphrase: "my-passphrase",
pfx: fs.readFileSync("path/to/cert.pfx"),
// ... other settings
}
const agent = new Agent({ connect });
const client = new EJF({ agent });
// call servuces
Here's an example of how to provide a certificate using a path:
import { EJF } from '@datafordeler/ejf';
const agentConfig = {
certPath: 'path/to/cert.pem',
passphrase: 'my-passphrase',
};
const client = new EJF({ agentConfig });
// call services
We strive to keep all our SDK clients, including @datafordeler/ejf, up to date with the latest changes and improvements in the corresponding Datafordeler services. Our goal is to ensure compatibility and provide a seamless experience for developers.
However, please note that we cannot guarantee that all services will be updated immediately in response to changes in the Datafordeler platform. There may be instances where updates are delayed due to unforeseen circumstances or dependencies on external factors.
We encourage users to report any issues or discrepancies they encounter, and we will do our best to address them in a timely manner.
Contributions are welcome! If you'd like to contribute to this project, please follow the standard GitHub flow:
Fork the repository Create a new branch Make your changes Submit a pull request Please ensure all new code is properly tested and follows the existing code style.
This project is licensed under the MIT License. See the LICENSE file for details.
This SDK is developed and maintained by Simon Saxtorph @HelloAgent and @EstateHub. Special thanks to the Datafordeler team for providing the APIs.
FAQs
Datafordeler SDK for Javascript Ejf Client (Ejerfortegnelsen) for Node.js
We found that @datafordeler/ejf 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.