Secure Coding
SEI CERT C++ Coding Standard (2016 Edition)
The SEI CERT C++ Coding Standard (2016 Edition) is available for free to promote the adoption of secure coding standards. This latest edition complements our Secure Coding in C and C++ Professional Certificate.
Secure Coding
Summer 2017 Edition of the Secure Coding Newsletter
The team provides links to its open research and development positions.
Secure Coding
CERT Is Hiring
Your top-notch skills and knowledge can help us make a difference in our nation’s cybersecurity. Explore our career opportunities today.
Secure Coding
Research into API Usability and Security
We're studying how to design APIs that are usable by programmers for developing secure code.
Secure Coding
Secure Coding in C and C++ Course
We offer this four-day course to help you identify and prevent common programming errors in C and C++, plus understand how these errors can lead to code that is vulnerable to exploitation.
Secure Coding
Secure Coding Professional Certificates
Our certificate programs, one for Java and the other for C and C++, enable software developers to eliminate security vulnerabilities before products ship.
Secure Coding
SEI Book Series in Software Engineering
Our SEI researchers write books covering software engineering topics for this series of books published by Addison-Wesley Professional.
Our Mission: We reduce the number of vulnerabilities to a level that can be fully mitigated in operational environments. This reduction is accomplished by preventing coding errors or discovering and eliminating security flaws during implementation and testing.
The CERT Division has been extremely successful in the development of secure coding standards, which have been adopted at corporate levels by companies such as Cisco and Oracle, and the development of the Source Code Analysis Laboratory (SCALe), which supports conformance testing of systems against these coding standards. The success of the secure coding standards and SCALe contributed to the impetus for including software assurance requirements in the National Defense Authorization Act (NDAA) for Fiscal Year 2013.
Eliminating vulnerabilities during development can result in a two to three orders-of-magnitude reduction in the total cost of repairing the code versus making the repairs afterwards. To achieve these goals, it is necessary to determine how to develop verifiably secure code within budget and on schedule.
We research secure coding.
We do research and development to create tools to support creation of secure code right from the start, and analytical tools to detect code vulnerabilities. We also work with the software development and security communities to research and develop secure coding standards for commonly used programming languages and for smartphone platforms (Android, iOS, Win8).We participate in international standards development.
We participate in the development of international standards for programming languages to improve the security of these languages.We provide SCALe conformance testing services.
We assess whether your software conforms to CERT secure coding standards through our Source Code Analysis Laboratory (SCALe).Engage with Us
Help inform our research. Share what has worked for you, or let us know if you need support from our team.
Publications & Media
- 09/24/2017 Hands-On Tutorial: Auditing Static Analysis Alerts Using a Lexicon and Rules In this tutorial, SEI researchers describe auditing rules and a lexicon that SEI developed.
- 08/21/2017 Summer 2017 Edition of the Secure Coding Newsletter The CERT Secure Coding Team announces several open positions on its team in secure coding and software assurance.
- 08/09/2017 SEI Cyber Minute: Secure Coding Standards Watch Bob Schiela as he decribes how SEI Secure Coding Standards have codified best practices for properly using features of specific languages to avoid security flaws in your software, thus reducing vulnerabilities.
- 08/03/2017 SCALe: Evaluating Source Code for Adherence to Secure Coding Standards SCALe help analysts be more efficient and effective at auditing source code for security flaws.
- 07/06/2017 DidFail: Coverage and Precision Enhancement This report describes recent enhancements to Droid Intent Data Flow Analysis for Information Leakage (DidFail), the CERT static taint analyzer for sets of Android apps.
Most Recent Blog Post
- 04/17/2017 CERT C++ Secure Coding Guidelines
- 01/23/2017 Prioritizing Security Alerts: A DoD Case Study
SEI CERT C++ Coding Standard (2016 Edition)
Writing secure C++ code helps you avoid the software defects most likely to cause exploitable vulnerabilities. Along with the SEI CERT C Coding Standard (2016 Edition), this SEI CERT C++ Coding Standard (2016 Edition) identifies the root causes of today's most widespread software vulnerabilities, shows how they can be exploited, reviews the potential consequences, and presents secure alternatives.
SEI CERT C Coding Standard (2016 Edition)
This online download is available for free to promote the adoption of secure coding standards. This latest edition complements our Secure Coding in C and C++ Professional Certificate.
Our new certificate programs, one for C and C++ the other for Java, enable software developers to eliminate security vulnerabilities before products ship.
In our recently restructured and redesigned wiki, members of the community can work with us to develop new secure coding rules and recommendations for the C, C++, Java, and Perl languages.
Source Code Analysis Laboratory (SCALe)
SCALe consists of commercial, open source, and experimental analysis that we use to analyze C and Java language software systems against the CERT C Secure Coding Standard and the CERT Oracle Secure Coding Standard for Java.
New versions of DidFail, a tool detects potential leaks of sensitive information in Android apps, are available. The most recent enhancements to DidFail are described in the technical report
Java Coding Guidelines Available Free Online
We have made the Java coding guidelines available online both to promote more widespread adoption of secure coding standards and as a thank you to the software security and software development communities that have collaborated with us to make secure coding initiatives a success.
Clang Thread Safety Analysis Tool
Google and the CERT Secure Coding Initiative developed Clang Thread Safety Analysis, a tool that uses annotations to declare and enforce thread safety policies in C and C++ programs.
Performance of Compiler-Assisted Memory Safety Checking
In this new SEI technical note, the authors describe the criteria for deploying a compiler-based memory safety checking tool and the performance that can be achieved with two such tools whose source code is freely available.
DidFail Tool
The DidFail tool uses static analysis to detect potential leaks of sensitive information within a set of Android apps.