issue-request-manager

Security checks across static analysis, malware telemetry, and agentic risk

Overview

This looks like a benign issue-tracking helper, but it stores issue data locally and can send issue details through configured WeChat credentials.

Before installing, treat this as a local issue manager with optional WeChat notifications. Protect any WeChat Secret, verify message recipients, do not assume GitHub/GitLab/Jira integration is implemented, and confirm close/assign/priority changes before using them on real project data.

Static analysis

No static analysis findings were reported for this release.

VirusTotal

VirusTotal findings are pending for this skill version.

View on VirusTotal

Risk analysis

Artifact-based informational review of SKILL.md, metadata, install specs, static scan signals, and capability signals. ClawScan does not execute the skill or run runtime probes.

What this means

Users should not assume the skill will safely synchronize with external trackers unless they add and review that integration themselves.

Why it was flagged

The included code shows local issue objects, local JSON persistence, and WeChat notification helpers, but no GitHub/GitLab/Jira connector implementation.

Skill content
支持多平台集成(GitHub, GitLab, Jira等)
Recommendation

Treat the included artifacts as a local issue manager with optional WeChat notifications; verify any external tracker integration before relying on it.

What this means

If later connected to a real project tracker, these actions could reassign, reprioritize, or close real work items.

Why it was flagged

These are issue-mutating operations; they fit the skill purpose and are documented as user commands, but they can affect workflow state.

Skill content
`assign issue #<编号> to <用户>` ... `set priority #<编号> to <级别>` ... `close issue #<编号>`
Recommendation

Confirm mutating actions before applying them to real project systems, especially close or reassignment operations.

What this means

Future installs could resolve to different dependency versions than the author tested.

Why it was flagged

The dependency versions are lower-bound ranges rather than pinned or locked versions; installation is user-directed and no remote script is shown.

Skill content
json5>=0.9.0
requests>=2.25.1
Recommendation

Pin or lock dependency versions before production use, and install only from trusted package sources.

What this means

Anyone with the configured WeChat app secret may be able to send messages through that enterprise application.

Why it was flagged

The notifier uses a configured enterprise WeChat secret to obtain an access token; this is expected for WeChat notifications but grants delegated messaging authority.

Skill content
"corpsecret": self.secret; response = requests.get(url, params=params)
Recommendation

Use a least-privilege WeChat application, protect the Secret, rotate it if exposed, and avoid committing real credentials into config files.

What this means

Issue titles, descriptions, status, and assignee information may be disclosed to the selected WeChat users.

Why it was flagged

Issue notification messages can include issue descriptions and are sent to configured WeChat recipients through the WeChat API.

Skill content
描述: {issue.get('description', 'N/A')[:100]}...; https://qyapi.weixin.qq.com/cgi-bin/message/send
Recommendation

Verify recipient lists and avoid sending sensitive customer, security, or internal details to broad groups.

What this means

Stored issue descriptions, comments, and assignees can remain on disk after use.

Why it was flagged

Issue data is persisted locally across runs in a JSON database, which is appropriate for the skill but may contain sensitive issue text.

Skill content
db_path: str = "data/issues.json"; json.dump(self.issues, f, ensure_ascii=False, indent=2)
Recommendation

Store the data directory in an appropriate project location, protect it with normal file permissions, and delete or archive it when no longer needed.