T09 · Insecure Skill Coding Practices
- Location
SKILL.md:111- Finding
Plaintext Storage of Feishu and GitHub Credentials
- Content
View full analysis
Vulnerability Details
File Location:
SKILL.md, lines 111–122
Vulnerability Type: Plaintext sensitive credential storage guidance
Risk Level: MediumThe skill explicitly permits sensitive Feishu and GitHub credentials to be stored in
TOOLS.md, a plaintext project documentation file.markdown ## Configuration Reference Store these in `TOOLS.md` or as environment variables: | Variable | Purpose | |----------|---------| | `FEISHU_APP_ID` | Feishu app ID | | `FEISHU_APP_SECRET` | Feishu app secret | | `FEISHU_WIKI_SPACE_ID` | Wiki space ID | | `FEISHU_WIKI_NODE_TOKEN` | Wiki document node token | | `GITHUB_REPO` | Target repo (e.g., `org/repo`) | | `GITHUB_TOKEN` | GitHub PAT with repo scope |Technical Analysis
FEISHU_APP_SECRETandGITHUB_TOKENare authentication credentials. Storing them in an ordinary Markdown file exposes them to any user, process, indexing service, backup system, log collector, or version-control operation that can read or copy the project directory.The guidance also describes the GitHub token as having
reposcope. Depending on the token type and repository configuration, this may grant substantially more authority than the issue-creation workflow requires. The combination of plaintext storage and excessive token scope violates secret-management and least-privilege principles.No hardcoded credentials were present in the audited files. The vulnerability is the unsafe configuration recommendation, which can cause users to persist real credentials insecurely.
Attack Path
- A user follows the skill's configuration instructions.
- The user writes a valid Feishu application secret or GitHub token into
TOOLS.md. - The plaintext file is accidentally committed, shared, backed up, indexed, included in diagnostic output, or read by another local process or user.
- An unauthorized party extracts the credential.
- The party authenticates to the cor ...[truncated 896 chars]
- Remediation
View remediation
Remediation Suggestions
- Remove the recommendation to store secrets in
TOOLS.mdor any other project documentation file. - Explicitly prohibit committing or recording authentication credentials in source-controlled files.
- Require credentials to be supplied at runtime through environment variables populated by an approved secret manager, operating-system credential store, or CI/CD secret facility.
- Use short-lived credentials where supported and establish routine rotation and immediate revocation procedures.
- Replace broadly scoped GitHub tokens with fine-grained tokens limited to the target repository and only the Issues permission required by this workflow.
- Restrict the Feishu application to the minimum API permissions and Wiki spaces necessary for the update operation.
- Add secret-scanning controls, pre-commit checks, and repository ignore rules as defense-in-depth measures.
- If credentials have already been placed in
TOOLS.md, remove them from the file and version-control history, revoke or rotate them immediately, and review relevant access logs for misuse.
- Remove the recommendation to store secrets in
