
Security News
/Research
Wallet-Draining npm Package Impersonates Nodemailer to Hijack Crypto Transactions
Malicious npm package impersonates Nodemailer and drains wallets by hijacking crypto transactions across multiple blockchains.
@chess-captcha/core
Advanced tools
A chess-based CAPTCHA library that generates mate-in-1 puzzles using Stockfish engine. Built with TypeScript, React, and chess.js. For the React chessboard component for this CAPTCHA, see [@chess-captcha/react-jsx](https://www.npmjs.com/package/@chess-cap
A chess-based CAPTCHA library that generates mate-in-1 puzzles using Stockfish engine. Built with TypeScript, React, and chess.js. For the React chessboard component for this CAPTCHA, see @chess-captcha/react-jsx
npm i @chess-captcha/core
import { ChessCaptcha } from "chess-captcha";
// Create a captcha instance
const captcha = new ChessCaptcha({
queueCapacity: 3, // Number of pre-generated puzzles
expirationTime: 180, // Expiration time in seconds
});
// Initialize the puzzle queue
await captcha.init();
// Get a puzzle for the user
const puzzle = await captcha.getMateIn1Captcha();
console.log("Puzzle FEN:", puzzle.fen);
console.log("Expires at:", new Date(puzzle.expireAt));
// Verify user's answer (e.g., "e2e4")
const isCorrect = await captcha.verifyCaptcha(puzzle, "e2e4");
console.log("Answer correct:", isCorrect);
// Load puzzles from CSV file
const captcha = new ChessCaptcha({
filename: "path/to/puzzles.csv", // CSV file with FEN strings
expirationTime: 300,
});
await captcha.init(); // Loads puzzles from CSV
new ChessCaptcha(config?: Partial<CaptchaConfig>)
Configuration Options:
queueCapacity
: Number of pre-generated puzzles (default: 3)expirationTime
: Puzzle expiration time in seconds (default: 180)filename
: Path to CSV file with pre-generated FEN strings (optional)init(): Promise<void>
Initialize the puzzle queue. If filename
is provided, loads puzzles from CSV file. Otherwise, generates puzzles using Stockfish engine.
getMateIn1Captcha(): Promise<CaptchaResult>
Get a mate-in-1 puzzle. Returns a promise that resolves to:
{
fen: string; // Chess position in FEN notation
expireAt: number; // Expiration timestamp
}
Note: A generated puzzle may have more than one valid solution.
verifyCaptcha(secret: CaptchaSecret, answer: string): Promise<boolean>
Verify a user's answer. Returns true
if the answer is correct and not expired.
Parameters:
secret
: The puzzle secret returned by getMateIn1Captcha()
answer
: The move in format "e2e4" (from square + to square)When using pre-generated puzzles, provide a CSV file with the following format:
fen,description
rnbqkbnr/pppppppp/8/8/8/8/PPPPPPPP/RNBQKBNR w KQkq - 0 1,Starting position
r1bqkbnr/pppp1ppp/2n5/4p3/4P3/5N2/PPPP1PPP/RNBQKB1R w KQkq - 0 1,After 1.e4 Nc6
Only the first column (FEN) is required. Additional columns are ignored.
MIT
FAQs
A chess-based CAPTCHA library that generates mate-in-1 puzzles using Stockfish engine. Built with TypeScript, React, and chess.js. For the React chessboard component for this CAPTCHA, see [@chess-captcha/react-jsx](https://www.npmjs.com/package/@chess-cap
The npm package @chess-captcha/core receives a total of 0 weekly downloads. As such, @chess-captcha/core popularity was classified as not popular.
We found that @chess-captcha/core 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.
Security News
/Research
Malicious npm package impersonates Nodemailer and drains wallets by hijacking crypto transactions across multiple blockchains.
Security News
This episode explores the hard problem of reachability analysis, from static analysis limits to handling dynamic languages and massive dependency trees.
Security News
/Research
Malicious Nx npm versions stole secrets and wallet info using AI CLI tools; Socket’s AI scanner detected the supply chain attack and flagged the malware.