Skill flagged — suspicious patterns detected

ClawHub Security flagged this skill as suspicious. Review the scan results before using.

Near Dca

v1.0.0

Dollar-cost averaging for NEAR tokens with flexible scheduling, performance tracking, and cancellation support.

0· 1k·0 current·0 all-time
MIT-0
Download zip
LicenseMIT-0 · Free to use, modify, and redistribute. No attribution required.
Security Scan
VirusTotalVirusTotal
Suspicious
View report →
OpenClawOpenClaw
Suspicious
medium confidence
!
Purpose & Capability
The code and metadata implement a NEAR DCA manager and associated CLI/actions as described, which legitimately needs account_id and private_key to execute swaps. However, the published manifest (requires.env) declares no required credentials and the SKILL.md/skill.yaml/README disagree about storage paths and configuration keys. Requiring private keys to perform swaps is expected for this purpose, but the skill fails to declare or enforce secure credential handling in its manifest — an incoherence.
Instruction Scope
Runtime instructions and the CLI (scripts/dca.js and SKILL.md) focus on creating/listing/cancelling DCA plans and referencing a local plans file (~/.near-dca/plans.json). The actual manager uses a configurable storage_path (default ./data/dca_state.json) and the README shows storing account_id/private_key in OpenClaw config. The scope is appropriate for DCA, but the documentation/code mismatch about storage locations and where credentials are read from is confusing and could lead to accidental plaintext key storage.
Install Mechanism
This is instruction-only (no install spec). Code files are included in the package and dependencies are minimal (bignumber.js). There are no remote download URLs or extract operations in the provided metadata, so install mechanism risk is low based on available info.
!
Credentials
The implementation accepts and uses account_id and private_key to perform swaps (DCAManager.executePurchase and NEARIntegration.executeSwap). Yet the skill declares no required environment variables/primary credential and the manifest doesn't require secure credential storage. The README suggests putting private_key in config (a plaintext example). Actions also accept private_key in params, increasing risk of accidental secret exposure. Requesting/using private keys is proportionate to the DCA purpose, but omitting any declared secret requirement and providing examples that encourage insecure storage is a notable mismatch and risk.
Persistence & Privilege
The skill does not request always:true and uses local JSON files for state. It defines a scheduled trigger (*/5 * * * *) that will run the executor periodically — expected for automation but worth noting because scheduled execution combined with private-key usage increases impact if misconfigured. The skill does not modify other skills or system-wide settings in the provided code.
What to consider before installing
This skill appears to implement the described DCA functionality, but exercise caution before installing or providing secrets. Key points to consider: - Do not supply real private keys to the skill until you verify how the host stores them. The code accepts both config-stored and per-call private_key parameters and README examples show plaintext config values — which is insecure. - The skill's manifest does not declare required credentials even though the code uses account_id/private_key; that mismatch can lead to accidental secret placement in plaintext files. Prefer using OpenClaw's secure credential storage (or hardware wallets / read-only flows) instead of putting keys in config files. - There are inconsistent storage locations in docs and code (~/.near-dca/plans.json vs ./data/dca_state.json). Verify where state will be written on your machine and sandbox the skill (or inspect/modify paths) if you want the data in a specific secure location. - The code simulates swaps (mock price fetch and fake tx hashes) rather than performing real network calls, which is safer for review, but also means you should confirm any production-version network interactions before trusting it with funds. - The packaged test state file appears malformed/duplicated — a sign of sloppy packaging. If you proceed, run the tests in a sandboxed environment first and review the code paths that would perform real network calls or use private keys. If you need this functionality, request from the maintainer that the skill declare required credentials in its manifest, remove plaintext private_key examples from README, support secure credential retrieval, and document exactly where state and history are written.

Like a lobster shell, security has layers — review code before you run it.

latestvk97f094hhagd7bzasevqmwz57d80r3gm

License

MIT-0
Free to use, modify, and redistribute. No attribution required.

Comments