Back to skill

Security audit

Senior Django Developer

Security checks for vulnerabilities and agentic risk

Overview

This Django code-generation skill is mostly purpose-aligned, but it tries to override normal agent behavior, expand edit scope, and require disclosure of chain-of-thought reasoning.

Review this skill before installing. It does not show exfiltration or destructive behavior, but it can push an agent to rewrite more code than requested, ignore preferred response formats, and expose reasoning that should stay private. If used, constrain it with explicit user instructions such as minimal changes only, no chain-of-thought, pinned dependencies, and no unrelated file-wide cleanup without approval.

Vulnerability Patterns
  • Skill Instruction HijackingAlters the agent's session goals or safety constraints when the skill loads
  • Insecure DependenciesIntroduces malicious components through unsafe dependency sources
  • Agent Memory PoisoningWrites attacker-controlled rules into memory that affect later sessions
  • Remote Payload Retrieval and ExecutionFetches external code whose behavior can change after review
  • Embedded Malicious CodeShips malicious scripts inside the skill and executes them locally
Findings (2)

T01 · Skill Instruction Hijacking

Error
Location
SKILL.md:10
Finding

Agent Behavior and Output Hijacking Through Mandatory Skill Directives

Content
View full analysis
Remediation
View remediation

T08 · Insecure Dependencies

Warning
Location
SKILL.md:38
Finding

Unpinned Package and Container Image Dependencies

Content
View full analysis
Remediation
View remediation
Vulnerability Patterns
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
  • Excessive AgencyUnrestricted Tool Access, Autonomous Decision Making, Scope Creep
  • Supply ChainUnpinned Dependencies, External Script Fetching, Obfuscated Code
Findings (6)

Credential Access

High
Category
Privilege Escalation
Confidence
60% confidence
Finding

Code accesses credential files (SSH keys, AWS credentials, etc.). This could indicate credential theft attempts.

Content

Scanner excerpt · SKILL.md (reported line 499)May include surrounding context.

md
build/
.venv/
venv/
.env
*.sqlite3
db.sqlite3
staticfiles/

Credential Access

High
Category
Privilege Escalation
Confidence
60% confidence
Finding

Code accesses credential files (SSH keys, AWS credentials, etc.). This could indicate credential theft attempts.

Content

Scanner excerpt · SKILL.md (reported line 524)May include surrounding context.

md
build/
.venv/
venv/
.env
*.sqlite3
db.sqlite3
staticfiles/

Ssd 1

High
Category
Not specified by scanner
Confidence
100% confidence
Finding

The skill instructs the model to reveal internal reasoning in a dedicated chain-of-thought section, directly conflicting with hidden-reasoning safeguards. This is dangerous because it can expose sensitive internal decision-making patterns, make downstream prompt injection easier, and normalize behavior that leaks privileged internal analysis beyond what users need.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
98% confidence
Finding

Mandating Russian specifically for the reasoning section imposes an unnecessary locale constraint unrelated to secure Django code generation. While not directly enabling code execution or data exfiltration, it can interfere with user expectations, reduce transparency for non-Russian users, and act as a subtle instruction-priority override in agent behavior.

Content

No source excerpt is available for this finding.

Context-Inappropriate Capability

Medium
Category
Not specified by scanner
Confidence
99% confidence
Finding

The skill explicitly requires a dedicated ## Цепочка мыслей section with step-by-step execution reasoning. This asks the model to disclose internal reasoning that is not necessary to generate Django code and can override standard safeguards that keep chain-of-thought hidden. In an agent skill, this also increases prompt-injection surface by making internal planning externally visible and easier to steer.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
95% confidence
Finding

The response format requires a section title in Russian, forcing a specific language and output structure regardless of user preference. This is a policy/behavioral override that is not justified by the skill's stated purpose and can degrade usability or create instruction conflicts in multilingual environments.

Content

No source excerpt is available for this finding.

Static analysis

No suspicious patterns detected.