T09 · Insecure Skill Coding Practices
- Location
api_client.js:35- Finding
Plaintext Credential Persistence in Project Configuration
- Content
View full analysis
- Remediation
View remediation
Security audit
Security checks for vulnerabilities and agentic risk
The skill targets a real RRBD admin backend but stores passwords in plaintext and ships runnable scripts with hardcoded account credentials.
Review before installing. Do not use a real RRBD account with this package unless password persistence is removed, hardcoded credentials are deleted and rotated, runtime history files are excluded from releases, and invocation is narrowed to explicit RRBD tasks. Treat any shipped media URLs and exposed test account credentials as already disclosed.
api_client.js:35Plaintext Credential Persistence in Project Configuration
scripts/create_another_video.js:11Hardcoded Account Credentials in Executable Scripts and Documentation
index.js:182Unencrypted Cross-Session Storage of User Video Activity and Direct Media URLs
package-lock.json:14Dependency Artifacts Resolved Through a Third-Party Registry Mirror
The skill is described broadly, but the underlying workflow appears to include fixed authenticated API retrieval tasks rather than a true general NL-driven interface. In security terms, that mismatch increases the likelihood of over-permissioning and accidental use of a production account in testing or automation contexts.
The skill is described broadly, but the underlying workflow appears to include fixed authenticated API retrieval tasks rather than a true general NL-driven interface. In security terms, that mismatch increases the likelihood of over-permissioning and accidental use of a production account in testing or automation contexts.
The skill is described broadly, but the underlying workflow appears to include fixed authenticated API retrieval tasks rather than a true general NL-driven interface. In security terms, that mismatch increases the likelihood of over-permissioning and accidental use of a production account in testing or automation contexts.
The skill is described broadly, but the underlying workflow appears to include fixed authenticated API retrieval tasks rather than a true general NL-driven interface. In security terms, that mismatch increases the likelihood of over-permissioning and accidental use of a production account in testing or automation contexts.
The skill is described broadly, but the underlying workflow appears to include fixed authenticated API retrieval tasks rather than a true general NL-driven interface. In security terms, that mismatch increases the likelihood of over-permissioning and accidental use of a production account in testing or automation contexts.
The skill is described broadly, but the underlying workflow appears to include fixed authenticated API retrieval tasks rather than a true general NL-driven interface. In security terms, that mismatch increases the likelihood of over-permissioning and accidental use of a production account in testing or automation contexts.
The skill is described broadly, but the underlying workflow appears to include fixed authenticated API retrieval tasks rather than a true general NL-driven interface. In security terms, that mismatch increases the likelihood of over-permissioning and accidental use of a production account in testing or automation contexts.
The skill is described broadly, but the underlying workflow appears to include fixed authenticated API retrieval tasks rather than a true general NL-driven interface. In security terms, that mismatch increases the likelihood of over-permissioning and accidental use of a production account in testing or automation contexts.
The skill is described broadly, but the underlying workflow appears to include fixed authenticated API retrieval tasks rather than a true general NL-driven interface. In security terms, that mismatch increases the likelihood of over-permissioning and accidental use of a production account in testing or automation contexts.
The skill is described broadly, but the underlying workflow appears to include fixed authenticated API retrieval tasks rather than a true general NL-driven interface. In security terms, that mismatch increases the likelihood of over-permissioning and accidental use of a production account in testing or automation contexts.
The skill is described broadly, but the underlying workflow appears to include fixed authenticated API retrieval tasks rather than a true general NL-driven interface. In security terms, that mismatch increases the likelihood of over-permissioning and accidental use of a production account in testing or automation contexts.
The skill is described broadly, but the underlying workflow appears to include fixed authenticated API retrieval tasks rather than a true general NL-driven interface. In security terms, that mismatch increases the likelihood of over-permissioning and accidental use of a production account in testing or automation contexts.
The skill is described broadly, but the underlying workflow appears to include fixed authenticated API retrieval tasks rather than a true general NL-driven interface. In security terms, that mismatch increases the likelihood of over-permissioning and accidental use of a production account in testing or automation contexts.
The skill is described broadly, but the underlying workflow appears to include fixed authenticated API retrieval tasks rather than a true general NL-driven interface. In security terms, that mismatch increases the likelihood of over-permissioning and accidental use of a production account in testing or automation contexts.
The skill is described broadly, but the underlying workflow appears to include fixed authenticated API retrieval tasks rather than a true general NL-driven interface. In security terms, that mismatch increases the likelihood of over-permissioning and accidental use of a production account in testing or automation contexts.
The skill is described broadly, but the underlying workflow appears to include fixed authenticated API retrieval tasks rather than a true general NL-driven interface. In security terms, that mismatch increases the likelihood of over-permissioning and accidental use of a production account in testing or automation contexts.
The skill is described broadly, but the underlying workflow appears to include fixed authenticated API retrieval tasks rather than a true general NL-driven interface. In security terms, that mismatch increases the likelihood of over-permissioning and accidental use of a production account in testing or automation contexts.
The skill is described broadly, but the underlying workflow appears to include fixed authenticated API retrieval tasks rather than a true general NL-driven interface. In security terms, that mismatch increases the likelihood of over-permissioning and accidental use of a production account in testing or automation contexts.
The skill is described broadly, but the underlying workflow appears to include fixed authenticated API retrieval tasks rather than a true general NL-driven interface. In security terms, that mismatch increases the likelihood of over-permissioning and accidental use of a production account in testing or automation contexts.
The documentation explicitly says the system will prompt for a phone number and password and automatically save them to a configuration file. Persisting user passwords in local config creates a clear secret-retention and leakage risk, especially if the file is plaintext, shared, backed up, or accessible to other tools and users on the system.
Instructing the collection and storage of user-provided login credentials in a config file creates a direct confidentiality risk and expands the attack surface to local files, logs, backups, and future tool reads. In this skill context, the danger is elevated because the credentials unlock a real admin/backend account with access to user, media, and possibly financial operations.
The trigger conditions are so broad that they could capture general user requests for system operations, troubleshooting, or automation unrelated to the RRBD domain. In context, this is dangerous because the skill can authenticate to a real backend and handle local config, so over-triggering may lead to inappropriate invocation, data access, or remote actions.
This code transmits a phone number and password for login without any user warning, consent prompt, or indication of how the credentials are protected. In an automation skill, silent credential use is dangerous because users may trigger account actions unknowingly, and any code, log, or repository exposure compromises a real account.
The code contains hardcoded login credentials, including a phone number and password, which are directly usable to access the backend. Embedded secrets are easily leaked through source control, logs, package distribution, or reverse engineering, enabling unauthorized access to administrative or sensitive video data.
A network authentication call is made with fixed credentials and no disclosure or user mediation, meaning anyone with access to the code can replay the login behavior. This creates a direct account-compromise path and makes accidental credential exposure especially dangerous in an automation skill context.
Detected: suspicious.exposed_secret_literal