T05 · Unauthorized Access and Privilege Escalation
- Location
safe_cron.py:22- Finding
Supplementary Groups Are Retained During Privilege Dropping
- Content
View full analysis
- Remediation
View remediation
Security audit
Security checks for vulnerabilities and agentic risk
The skill is a disclosed command-running utility, but its safety claims are undercut by concrete privilege, logging, timeout, and release-verification weaknesses.
Review before installing or using from any privileged or multi-user environment. Treat it as a small command wrapper, not a complete sandbox: avoid running secret-bearing commands, do not rely on the /tmp log for secure audit storage, and require fixes for supplementary groups, process-group termination, secure logging, and version-matched signed manifests before production use.
safe_cron.py:22Supplementary Groups Are Retained During Privilege Dropping
safe_cron.py:68Predictable Privileged Log File Permits Symlink Attacks and Sensitive Data Exposure
safe_cron.py:48Timeout Kills Only the Direct Child and Leaves Descendant Processes Running
isnad_manifest.json:5Integrity Manifest Does Not Match the Advertised Release Version
The skill advertises security-sensitive behavior and demonstrates subprocess execution, yet it declares no explicit tool scope such as permissions or allowed-tools. That creates a governance gap: an agent platform may permit broader shell or file capabilities than intended, undermining the skill's own safety claims and making misuse or overreach easier if the skill is invoked in a permissive environment.
subprocess module calls execute external commands. Without careful input validation, this enables command injection.
try:
# We use subprocess.Popen without shell=True for maximum safety
process = subprocess.Popen(
command_parts,
stdout=subprocess.PIPE,
stderr=subprocess.PIPE,
No suspicious patterns detected.