finetuning

ISSUES FOUND max severity CRITICALSkillSpector Do not install 100 registry microsoft last scanned 2 scans

11 findings (5 critical, 6 medium), mainly data exfiltration, unauthorized tool use, command injection. Most recent scan 2026-10-22.

Second scanner: NVIDIA SkillSpector

Independent static run, no language model, over the same files as the Cisco scan above. How the two scanners compare across the whole corpus: Two scanners, one corpus.

What this skill does

Fine-tune models on Microsoft Foundry using SFT (supervised), DPO (preference), or RFT (reinforcement with graders). Covers dataset preparation, training job submission, deployment, and evaluation. USE FOR: fine-tune, SFT, DPO, RFT, training data, grader, distillation, fine-tuned model, training job, large file upload, calibrate grader, deploy fine-tuned model, evaluate fine-tuned model. DO NOT USE FOR: general model deployment without fine-tuning (use deploy-model), agent creation (use agents), prompt optimization without training (use prompt-optimizer).

Package
34 files, 184 KB
SKILL.md
576 words, 8 sections
Code
Python (16)
License
MIT

SKILL.md covers: Fine-Tuning on Microsoft Foundry · When to Use · Workflows · References · Scripts · Rules · Quick Reference · Error Handling

Findings

CRITICAL Cross-file env var exfiltration: 11 files Data Exfiltrationbehavioral

Environment variable access with network calls in scripts/check_training.py, scripts/evaluate_model.py, scripts/submit_training.py, scripts/monitor_training.py, scripts/calibrate_grader.py, scripts/generate_distillation_data.py, scripts/score_dataset.py, scripts/cleanup.py, scripts/common.py, scripts/convert_dataset.py

Remediation: Review data flow across files: scripts/calibrate_grader.py, scripts/generate_distillation_data.py, scripts/convert_dataset.py, scripts/evaluate_model.py, scripts/submit_training.py, scripts/common.py, scripts/cleanup.py, scripts/check_training.py, scripts/deploy_model.py, scripts/monitor_training.py, scripts/score_dataset.py
CRITICAL Cross-file exfiltration chain: 11 files Data Exfiltrationbehavioral

Multi-file exfiltration chain detected: scripts/check_training.py, scripts/evaluate_model.py, scripts/submit_training.py, scripts/monitor_training.py, scripts/calibrate_grader.py, scripts/generate_distillation_data.py, scripts/score_dataset.py, scripts/cleanup.py, scripts/common.py, scripts/convert_dataset.py collect data → encode → scripts/submit_training.py, scripts/deploy_model.py, scripts/common.py transmit to network

Remediation: Review data flow across files: scripts/calibrate_grader.py, scripts/generate_distillation_data.py, scripts/convert_dataset.py, scripts/evaluate_model.py, scripts/submit_training.py, scripts/common.py, scripts/cleanup.py, scripts/check_training.py, scripts/deploy_model.py, scripts/monitor_training.py, scripts/score_dataset.py
CRITICAL Environment variable access with network calls detected Data Exfiltrationbehavioral

Script accesses environment variables and makes network calls in /Users/brianlevine/claude-projects/skill-scanner-test/skills/microsoft-azure-skills/skills/microsoft-foundry/finetuning/scripts/common.py

/Users/brianlevine/claude-projects/skill-scanner-test/skills/microsoft-azure-skills/skills/microsoft-foundry/finetuning/scripts/common.py

Remediation: Remove environment variable harvesting or network transmission
CRITICAL Environment variable access with network calls detected Data Exfiltrationbehavioral

Script accesses environment variables and makes network calls in /Users/brianlevine/claude-projects/skill-scanner-test/skills/microsoft-azure-skills/skills/microsoft-foundry/finetuning/scripts/submit_training.py

/Users/brianlevine/claude-projects/skill-scanner-test/skills/microsoft-azure-skills/skills/microsoft-foundry/finetuning/scripts/submit_training.py

Remediation: Remove environment variable harvesting or network transmission
CRITICAL Dangerous code execution functions that can execute arbitrary code Command Injectionstatic

Pattern detected: exec(

scripts/calibrate_grader.py:54

exec(compile(source, grader_path, "exec"), namespace)
Remediation: Avoid eval(), exec(), and compile(). Use safer alternatives like ast.literal_eval() or operator module
MEDIUM Undeclared network usage Unauthorized Tool Usestatic

Skill code uses network libraries but doesn't declare network requirement

SKILL.md

Remediation: Declare network usage in compatibility field or remove network calls
MEDIUM Outbound network request primitives that can transmit data externally Data Exfiltrationstatic

Pattern detected: requests.put(

scripts/deploy_model.py:120

resp = requests.put(url, headers={
Remediation: Ensure network operations are necessary and document allowed destinations
MEDIUM Outbound network request primitives that can transmit data externally Data Exfiltrationstatic

Pattern detected: requests.get(

scripts/deploy_model.py:141

resp = requests.get(url, headers={"Authorization": f"Bearer {token}"}, timeout=(10, 60))
Remediation: Ensure network operations are necessary and document allowed destinations
MEDIUM Outbound network request primitives that can transmit data externally Data Exfiltrationstatic

Pattern detected: requests.delete(

scripts/deploy_model.py:167

resp = requests.delete(url, headers={"Authorization": f"Bearer {token}"}, timeout=(10, 60))
Remediation: Ensure network operations are necessary and document allowed destinations
MEDIUM Outbound network request primitives that can transmit data externally Data Exfiltrationstatic

Pattern detected: requests.get(

scripts/deploy_model.py:178

resp = requests.get(url, headers={"Authorization": f"Bearer {token}"}, timeout=(10, 60))
Remediation: Ensure network operations are necessary and document allowed destinations
MEDIUM Outbound network request primitives that can transmit data externally Data Exfiltrationstatic

Pattern detected: requests.post(

scripts/submit_training.py:84

resp = requests.post(url, headers={
Remediation: Ensure network operations are necessary and document allowed destinations

What is in the package

34 files, 184 KB. Show the list.
FileKindSize
SKILL.mddoc5.4 KB
references/agentic-rft.mddoc3.2 KB
references/dataset-formats.mddoc3.7 KB
references/deployment.mddoc3.4 KB
references/evaluation.mddoc5.8 KB
references/grader-design.mddoc3.4 KB
references/hyperparameters.mddoc3.2 KB
references/large-file-uploads.mddoc927 B
references/platform-gotchas.mddoc2.0 KB
references/reward-hacking.mddoc2.9 KB
references/training-curves.mddoc4.1 KB
references/training-types.mddoc3.1 KB
references/vision-fine-tuning.mddoc4.1 KB
scripts/calibrate_grader.pyscript9.3 KB
scripts/check_training.pyscript7.8 KB
scripts/cleanup.pyscript9.5 KB
scripts/common.pyscript7.6 KB
scripts/convert_dataset.pyscript11 KB
scripts/deploy_model.pyscript9.4 KB
scripts/evaluate_model.pyscript11 KB
scripts/generate_distillation_data.pyscript10 KB
scripts/monitor_training.pyscript5.7 KB
scripts/score_dataset.pyscript7.7 KB
scripts/submit_training.pyscript11 KB
workflows/dataset-creation.mddoc3.1 KB
workflows/diagnose-poor-results.mddoc2.3 KB
workflows/full-pipeline.mddoc3.1 KB
workflows/iterative-training.mddoc3.1 KB
workflows/quickstart.mddoc4.5 KB
scripts/validate/__init__.pyscript305 B
scripts/validate/data_stats.pyscript6.2 KB
scripts/validate/validate_dpo.pyscript3.7 KB
scripts/validate/validate_rft.pyscript8.6 KB
scripts/validate/validate_sft.pyscript4.5 KB

External hosts referenced

learn.microsoft.com management.azure.com your-function-app.azurewebsites.net ai.azure.com cognitiveservices.azure.com github.com

Hostnames that appear in the skill's files. Referencing a host is not a finding; compare against the findings above and the skill's stated purpose.

Environment variables referenced

AZURE_AI_PROJECT_ENDPOINT AZURE_OPENAI_API_KEY AZURE_OPENAI_ENDPOINT OPENAI_BASE_URL API_KEY AZURE_COGSERVICES_ACCOUNT AZURE_RESOURCE_GROUP AZURE_SUBSCRIPTION_ID AZ_CLI_PATH BASE_URL ENDPOINT KEY

Package contents recorded 2026-10-22 at commit f49ac319a7d3. The scan above ran against the version current at scan time; the two can differ if the skill has since been updated.

What we checked

What we did not check

Scan history

DateVerdictFindingsChangeAnalyzersRaw
CRITICAL 11 = static bytecode pipeline correlation behavioral trigger JSON
CRITICAL 11 first scan static bytecode pipeline correlation behavioral trigger JSON

Sources