For Prospective Students

I’m glad you’re considering working with me at NC State.
Before You Email: At NC State, as in other large CS PhD programs, students typically connect with an advisor after joining the department. You do not need to email me or secure an advisor before applying, and emailing me does not affect your chances of admission.
- Already in the program? See PhD Students at NC State for research projects and advising.
- Applying to NC State? See Prospective PhD Students for application details.
- Interested in my research? See Working with Me for research interests and qualifications.
PhD Students at NC State #
If you are already at NC State and interested in working with me, send me a brief email. We can get to know each other before agreeing on an advising relationship through:
- Research: A research internship1 or a semester-long independent research study.
- Classes: Taking one of my courses with a research component.
Faculty in NC State’s Wolfpack Security and Privacy Research (WSPR) Lab frequently co-advise students with overlapping or adjacent research interests. Check out the other affiliated faculty for potential co-advisors.
Prospective PhD Students #
You can apply to NC State’s Computer Science PhD program without having an advisor lined up, and emailing me does not improve your chances of admission. The usual steps are below.
1. Apply to NC State
Apply to the CSC PhD program2. The application deadline is usually December 15 (official page), for fall admission only.
2. Indicate Your Research Interests
The following help me identify applications from students interested in working with me, in decreasing order of visibility:
- List me as a primary or secondary faculty of interest.
- Mention my name in your statement of purpose.
- Select (Cyber) Security as a research area of interest.
3. Admission Decision
I do not schedule meetings before you apply. After reviewing applications, I contact candidates directly to arrange interviews.
The Graduate School and department handle admission, with input from faculty. Individual professors (including me) usually:
- Cannot guarantee admission or funding to anyone
- Cannot evaluate applications before the official review process
- Cannot provide individual feedback on rejected applications
4. Join and Connect with an Advisor
After accepting an admission offer and joining NC State’s CSC PhD program, you can contact professors to discuss research and advising. See PhD Students at NC State to connect with me.
NC State:
General Advice:
- Demystifying PhD Admissions in Computer Science by ThanhVu Nguyen
- Collection of sample Statements of Purpose in CS
Restrictions for International Students: If you are an international student, be aware that (cyber) security research involves topics that might fall under US control regulations or other legal constraints. These might include but are not limited to:
- Countries with International Trade and Arms Regulations (ITAR) Restrictions (e.g., Cuba, Iran, North Korea, Russia)
- Countries under certain US Sanctions (e.g., Cuba, Iran, North Korea, Syria)
For prospective students from such countries, it will be very difficult to impossible to obtain a visa, conduct research, or be employed in the cyber security area in the US.
Working with Me #
Outside My Areas: My research does not include:
- Physical goods supply chain
- Blockchain technologies
- Foundational AI research
Qualifications: I am looking for students who have:
- A solid background in computer science, computer security, human-computer interaction, or related areas
- Prior exposure to computer security through classes, projects, or internships, so you know what draws you to this field and its particular challenges before committing to a five- to six-year PhD.
In addition, I value:
- Research experience (e.g., undergraduate research, Master’s thesis, publications in relevant venues)
- Experience with user studies and human subjects research
- Practical experience in software development or open source communities, since much of my research focuses on developers.
Research Interests #
My research focuses on the people who build and maintain the software we depend on. I take a human-centered approach to software supply chain security and open source security. More recently, I have been exploring how AI and autonomous agents change the work of developing and securing software. See the publications page for papers and details.
I often combine studies of people’s experiences with large-scale analyses of software and development practices, drawing on both qualitative and quantitative methods.
Software Supply Chain Security #
I study security across the software supply chain, from authoring code and managing source to builds, dependencies, and distribution. My focus is on the developers and other practitioners who shape these processes.
- Build processes: build script quality [C20] and the challenges of reproducible builds [C13].
- Contribution authenticity: attribution of open source contributions, contributor spoofing, and adoption of commit signing [C18].
- Software composition analysis: how developers use SCA tools and assess vulnerability alerts in context [C19].
- Supply chain security practices: developers’ approaches to securing their supply chains [W3] and broader research directions [J1].
Open Source Security #
I study open source as a foundation of our software ecosystem, focusing on how maintainers and contributors secure and sustain their projects under practical constraints. My work also examines collaboration and support from organizations that depend on these projects.
- Project practices and ecosystem support: maintainers’ security practices and resource constraints [C10], and how companies assess and support the open source projects they depend on [C12].
- Secret leakage: prevention and handling of secret leakage in source code repositories [C14].
- Trust relationships and measurement: understanding and measuring trust through developers’ behavior [C15].
Human-Centered Security and Privacy #
I sometimes also study broader questions in human-centered and usable security, including how people understand security and privacy, make decisions, and interact with security tools.
- Security decisions and constraints: security decisions in small and medium-sized enterprises [C9], and how software creators address unintended consequences of security and privacy tools [C17].
- Security advice and developer support: security and privacy advice shared during crises [C16], library-integrated guidance for secure cryptography use [C4], and IDE support for secure Android development [C3].
- Privacy expectations and security perceptions: users’ expectations of privacy in cloud applications [C6] and perceptions of messaging security [C8].
AI, Agents, and Software Security #
More recently, I have been studying secure AI integration and exploring how autonomous agents reshape development practices and software ecosystems.
- Secure AI integration: how practitioners select and securely integrate AI components [Preprint].
- Autonomous agents: emerging work on adversarial and defensive uses of autonomous agents in software development.
- Agents in development workflows: security implications of developers delegating work to agents.