T03 · Remote Payload Retrieval and Execution
- Location
scripts/setup.sh:109- Finding
Unverified Remote Installer Download and Execution
- Content
View full analysis
- Remediation
View remediation
Security audit
Security checks for vulnerabilities and agentic risk
This DOCX skill mostly matches its purpose, but its setup can install software, run a mutable remote installer, and persist shell PATH changes.
Install only if you are comfortable reviewing and running a setup script that may install packages, use sudo, fetch a remote dotnet installer, modify ~/.bashrc, and restore NuGet packages. Prefer provisioning .NET and optional tools yourself, use --minimal, and avoid applying untrusted DOCX templates unless external links/relationships are stripped or reviewed.
scripts/setup.sh:109Unverified Remote Installer Download and Execution
scripts/dotnet/MiniMaxAIDocx.Core/Commands/ApplyTemplateCommand.cs:262Unvalidated External Relationships Propagated from DOCX Templates
Mixing characters from multiple Unicode scripts in a single identifier is a common technique to create visually ambiguous tool names.
The skill includes environment inspection, build, restore, setup, and dependency-check behavior that is materially broader than a simple document-processing capability. In a security-sensitive agent setting, such hidden operational breadth can expose system details, modify the environment, or expand attack surface under the guise of formatting a Word document.
The skill includes environment inspection, build, restore, setup, and dependency-check behavior that is materially broader than a simple document-processing capability. In a security-sensitive agent setting, such hidden operational breadth can expose system details, modify the environment, or expand attack surface under the guise of formatting a Word document.
The skill includes environment inspection, build, restore, setup, and dependency-check behavior that is materially broader than a simple document-processing capability. In a security-sensitive agent setting, such hidden operational breadth can expose system details, modify the environment, or expand attack surface under the guise of formatting a Word document.
The activation rule says the skill MUST be used for a very broad set of formal-writing requests, even when the user does not explicitly ask for DOCX output. Because this skill has shell-execution behavior, overbroad routing can cause unnecessary command execution and file-processing workflows to be invoked for ordinary writing tasks that should remain in-text.
The trigger list contains highly generic terms such as 'document', '报告', and '排版', which are likely to collide with everyday conversation and unrelated tasks. In context, that is more dangerous because this skill can launch shell/setup/doc-processing actions, making accidental invocation materially risky rather than merely inconvenient.
Hidden instructions were detected in comments or invisible text. These could contain malicious directives. Manual review is recommended.
<w:rFonts
w:ascii="Calibri" <!-- Latin characters (U+0000–U+007F) -->
w:hAnsi="Calibri" <!-- Latin extended, Greek, Cyrillic -->
w:eastAsia="SimSun" <!-- CJK Unified Ideographs, Kana, Hangul -->
w:cs="Arial" <!-- Arabic, Hebrew, Thai, Devanagari -->
Hidden instructions were detected in comments or invisible text. These could contain malicious directives. Manual review is recommended.
└──────────────────────────────────┘
```xml
<!-- H1: bold but same size as body — no visual separation -->
<w:rPr><w:b/><w:sz w:val="24"/></w:rPr>
<!-- Body -->
<w:rPr><w:sz w:val="24"/></w:rPr>
Hidden instructions were detected in comments or invisible text. These could contain malicious directives. Manual review is recommended.
```xml
<w:rPr><w:b/><w:sz w:val="56"/></w:rPr> <!-- 28pt heading -->
<w:rPr><w:sz w:val="20"/></w:rPr> <!-- 10pt body -->
GOOD: H1=20pt with body=11pt (ratio ~1.8x)
Hidden instructions were detected in comments or invisible text. These could contain malicious directives. Manual review is recommended.
<w:pPr>
<w:spacing w:line="240" w:lineRule="auto"/> <!-- 1.0 spacing (240/240) -->
<w:spacing w:after="0"/> <!-- no paragraph gap -->
</w:pPr>
Hidden instructions were detected in comments or invisible text. These could contain malicious directives. Manual review is recommended.
```xml
<!-- Page margins: 1 inch = 1440 twips on all sides -->
<w:pgMar w:top="1440" w:right="1440" w:bottom="1440" w:left="1440"
w:header="720" w:footer="720" w:gutter="0"/>
Hidden instructions were detected in comments or invisible text. These could contain malicious directives. Manual review is recommended.
<w:spacing w:before="360" w:after="120"/>
</w:pPr>
<!-- Body paragraph: 0pt before, 8pt after -->
<w:pPr>
<w:spacing w:before="0" w:after="160"/>
</w:pPr>
Hidden instructions were detected in comments or invisible text. These could contain malicious directives. Manual review is recommended.
</w:rPr>
</w:style>
<!-- Apply consistently: every H2 references the style -->
<w:p>
<w:pPr>
<w:pStyle w:val="Heading2"/>
Hidden instructions were detected in comments or invisible text. These could contain malicious directives. Manual review is recommended.
// <w:r>
// <w:rPr>
// <w:b/> <!-- New: bold -->
// <w:rPrChange w:id="7" w:author="Bob" w:date="2026-03-22T11:00:00Z">
// <w:rPr/> <!-- Old: no formatting -->
// </w:rPrChange>
Hidden instructions were detected in comments or invisible text. These could contain malicious directives. Manual review is recommended.
When the entire search text is within a single w:r (run):
<!-- Before -->
<w:r>
<w:rPr><w:b /></w:rPr>
<w:t>{{companyName}}</w:t>
Hidden instructions were detected in comments or invisible text. These could contain malicious directives. Manual review is recommended.
Critical distinction: w:styleId vs w:name:
<!-- styleId="1" but name="heading 1" -->
<w:style w:type="paragraph" w:styleId="1">
<w:name w:val="heading 1"/>
<w:basedOn w:val="a"/>
Hidden instructions were detected in comments or invisible text. These could contain malicious directives. Manual review is recommended.
<!-- Source -->
<w:pPr><w:pStyle w:val="Heading1"/></w:pPr>
<!-- After mapping -->
<w:pPr><w:pStyle w:val="1"/></w:pPr>
ResolveComment ignores the supplied commentId and marks the first matching extensible comment element as done, so callers cannot reliably resolve the intended comment. In a document automation skill that may process legal, business, or approval documents, this can silently falsify review state, hide unresolved issues, or mark the wrong thread as complete, undermining document integrity and auditability.
Hidden instructions were detected in comments or invisible text. These could contain malicious directives. Manual review is recommended.
/// <w:headerReference w:type="default" r:id="rId7"/>
/// <w:footerReference w:type="default" r:id="rId8"/>
/// <w:headerReference w:type="first" r:id="rId9"/>
/// <w:titlePg/> <!-- needed to activate first-page header/footer -->
/// </w:sectPr>
///
/// Header/Footer XML (in separate part):
Hidden instructions were detected in comments or invisible text. These could contain malicious directives. Manual review is recommended.
/// <w:gridCol w:w="3120"/> <w:gridCol w:w="3120"/> <w:gridCol w:w="3120"/>
/// </w:tblGrid>
/// <w:tr>
/// <w:tc> <!-- left: logo text --> </w:tc>
/// <w:tc> <!-- center: title --> </w:tc>
/// <w:tc> <!-- right: page num --> </w:tc>
/// </w:tr>
Hidden instructions were detected in comments or invisible text. These could contain malicious directives. Manual review is recommended.
/// <w:tblBorders>
/// <w:top w:val="single" w:sz="12" w:space="0" w:color="000000"/>
/// <w:bottom w:val="single" w:sz="12" w:space="0" w:color="000000"/>
/// <!-- No left, right, insideV borders -->
/// <w:insideH w:val="none" w:sz="0" w:space="0" w:color="auto"/>
/// <w:insideV w:val="none" w:sz="0" w:space="0" w:color="auto"/>
/// </w:tblBorders>
Hidden instructions were detected in comments or invisible text. These could contain malicious directives. Manual review is recommended.
/// XML:
/// <w:tblGrid>
/// <w:gridCol w:w="1440"/> <!-- 1 inch -->
/// <w:gridCol w:w="4680"/> <!-- 3.25 inches -->
/// <w:gridCol w:w="3240"/> <!-- 2.25 inches -->
/// </w:tblGrid>
///
Hidden instructions were detected in comments or invisible text. These could contain malicious directives. Manual review is recommended.
/// Row 1: <w:tcPr><w:vMerge w:val="restart"/></w:tcPr>
/// <w:p><w:r><w:t>Visible content</w:t></w:r></w:p>
/// Row 2: <w:tcPr><w:vMerge/></w:tcPr>
/// <w:p/> <!-- MUST still have a paragraph, even though cell is merged -->
/// Row 3: <w:tcPr><w:vMerge/></w:tcPr>
/// <w:p/> <!-- MUST still have a paragraph -->
///
YARA rule matched a known malware signature (reverse shell, backdoor, ransomware, C2 framework, or info stealer).
sudo apt-get update -qq
sudo apt-get install -y -qq wget apt-transport-https
wget -q "https://dot.net/v1/dotnet-install.sh" -O /tmp/dotnet-install.sh
chmod +x /tmp/dotnet-install.sh
/tmp/dotnet-install.sh --channel 8.0 --install-dir "$HOME/.dotnet"
export PATH="$HOME/.dotnet:$PATH"
echo 'export PATH="$HOME/.dotnet:$PATH"' >> "$HOME/.bashrc"
fi
;;
dnf)
sudo dnf install -y dotnet-sdk-8.0
;;
pacman)
sudo pacman -S --noconfirm dotnet-sdk
;;
zypper)
sudo zypper install -y dotnet-sdk-8.0
;;
apk)
apk add --no-cache dotnet8-sdk
;;
none)
if [ "$OS" = "windows-git-bash" ]; then
fail "On Windows, install .NET SDK from: https://dotnet.microsoft.com/download"
fail "
The use of --noconfirm with pacman suppresses an important safety checkpoint for privileged package installation. In an agent setup script, bypassing confirmation increases the chance of unintended or silent host changes and reduces the user's opportunity to inspect what will be installed.
sudo dnf install -y dotnet-sdk-8.0
;;
pacman)
sudo pacman -S --noconfirm dotnet-sdk
;;
zypper)
sudo zypper install -y dotnet-sdk-8.0
No suspicious patterns detected.