
Research
PyPI Package Disguised as Instagram Growth Tool Harvests User Credentials
A deceptive PyPI package posing as an Instagram growth tool collects user credentials and sends them to third-party bot services.
Heybox is a famous Chinese gamer community. There are lots of useful articles and game reviews on this site. To protect their valuable assets, Heybox uses relatively complex anti-crawler algorithm to sign every request. They really do a great job on this algorithm, so I spend some time to study how it works and publish this package as a way to share my learnings to everyone.
In this package, only hkey
hash algorithm is published by calculate(url)
. It's not enough to use this hash to fetch any Heybox's API, which requires more hashes and per-request nonce for every API call. So I think it may be OK to make this package public available on NPM.
To Heybox dev team: If my understanding is not true, please contact me by opening new issues in this project and let me know your concern.
To add hkey
on a url, call calculate(url)
.
import { calculate } from 'heybox-url';
const url = calculate('https://api.xiaoheihe.cn/foo/bar?k1=v1&k2=v2');
// hkey and _time are added in the query string.
url === 'https://api.xiaoheihe.cn/foo/bar?k1=v1&k2=v2&hkey=KM6MP94&_time=1693395090';
const enum HKeyAlgorithm {
Plain = 'plain', // No nonce.
Web = 'web',
Android = 'android',
}
interface HKeyOptions {
timestamp?: number; // Timestamp in seconds. Default to current time.
nonce?: string; // Nonce. Default to a random string.
algorithm?: HKeyAlgorithm; // Algorithm. Default to 'plain'.
}
/**
* Calculates hash and returns a new url with hash parameters in query string.
* The url must be a Heybox API url.
* @param {string} url Heybox API url.
* @param {HKeyOptions | undefined} options Options to customize hkey algorithm.
* @returns {string}
*/
export declare function calculate(url: string, options?: HKeyOptions): string;
MIT
FAQs
Calculate Heybox url hash
The npm package heybox-url receives a total of 0 weekly downloads. As such, heybox-url popularity was classified as not popular.
We found that heybox-url demonstrated a not healthy version release cadence and project activity because the last version was released 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 deceptive PyPI package posing as an Instagram growth tool collects user credentials and sends them to third-party bot services.
Product
Socket now supports pylock.toml, enabling secure, reproducible Python builds with advanced scanning and full alignment with PEP 751's new standard.
Security News
Research
Socket uncovered two npm packages that register hidden HTTP endpoints to delete all files on command.