Guidelines for software development
114 controls · September 2026 edition
- ISM-0400 · Development, testing, staging and production environments
Development, testing, staging and production environments are segregated.
- ISM-0401 · Secure software development
Secure by Design principles and practices are followed throughout the software development life cycle.
- ISM-0402 · Software security testing
Software is comprehensively tested for vulnerabilities using SAST, DAST and SCA prior to its initial release, any subsequent release, and periodically to help identify any previously unidentified vulnerabilities.
- ISM-0971 · Secure web application design and development
The OWASP Application Security Verification Standard is used in the development of web applications.
- ISM-1238 · Secure software development
Threat modelling is used in support of the software development life cycle.
- ISM-1239 · Secure web application design and development
Robust web application frameworks are used in the development of web applications.
- ISM-1240 · Software input handling
Validation and sanitisation are performed on all input received over the internet by software.
- ISM-1241 · Web application output encoding
Output encoding is performed on all output produced by web applications.
- ISM-1275 · Software interaction with databases
All queries to databases from software are filtered for legitimate content and correct syntax.
- ISM-1276 · Software interaction with databases
Parameterised queries or stored procedures, instead of dynamically generated queries, are used by software for database interactions.
- ISM-1278 · Software interaction with databases
Software is designed or configured to provide as little error information as possible about the structure of databases.
- ISM-1419 · Development, testing, staging and production environments
Development and modification of software only take place in development environments.
- ISM-1420 · Development, testing, staging and production environments
Data from production environments is not used in non-production environments unless the non-production environment is secured to at least the same level as the production environment.
- ISM-1422 · Authoritative source for software
Unauthorised access to the authoritative source for software is prevented.
- ISM-1424 · Web security policy response headers
Content-Security-Policy, Hypertext Transfer Protocol Strict Transport Security and X-Frame-Options are specified by web server software via security policy in response headers.
- ISM-1536 · Software interaction with databases
All queries to databases from software, and any resulting crash or error messages, are centrally logged.
- ISM-1552 · Web application interactions
All web application content is offered exclusively using HTTPS.
- ISM-1616 · Vulnerability disclosure program
A vulnerability disclosure program is implemented to assist with the secure development and maintenance of products and services.
- ISM-1717 · Vulnerability disclosure program
A ‘security.txt’ file is hosted for each of an organisation’s internet-facing website domains to assist in the responsible disclosure of vulnerabilities in the organisation’s products and services.
- ISM-1730 · Software bill of materials
A software bill of materials is produced and made available to consumers of software.
- ISM-1754 · Reporting and resolving vulnerabilities
Vulnerabilities identified in software are resolved in a timely manner.
- ISM-1755 · Vulnerability disclosure program
A vulnerability disclosure policy is developed, implemented and maintained.
- ISM-1756 · Vulnerability disclosure program
Vulnerability disclosure processes, and supporting vulnerability disclosure procedures, are developed, implemented and maintained.
- ISM-1780 · Secure software development
SecDevOps practices are used for software development.
- ISM-1796 · Secure software development
Files containing executable content are digitally signed by a certificate with a verifiable chain of trust as part of software development.
- ISM-1797 · Secure software development
Installers, patches and updates are digitally signed or provided with cryptographic checksums as part of software development.
- ISM-1798 · Secure software development
Secure configuration guidance, in the form of a hardening guide or loosening guide, is produced and made available to consumers as part of software development.
- ISM-1816 · Authoritative source for software
Unauthorised modification of the authoritative source for software is prevented.
- ISM-1817 · Network application programming interfaces
Authentication and authorisation of clients is performed when clients call network APIs that facilitate access to data not authorised for release into the public domain and are accessible over the internet.
- ISM-1818 · Network application programming interfaces
Authentication and authorisation of clients is performed when clients call network APIs that facilitate modification of data and are accessible over the internet.
- ISM-1849 · Secure web application design and development
The OWASP Top 10 Proactive Controls are used in the development of web applications.
- ISM-1850 · Secure web application design and development
The OWASP Top 10 are mitigated in the development of web applications.
- ISM-1851 · Web application programming interfaces
The OWASP API Security Top 10 are mitigated in the development of web APIs.
- ISM-1908 · Reporting and resolving vulnerabilities
Vulnerabilities identified in software are publicly disclosed in a responsible and timely manner, including with Common Weakness Enumeration and Common Platform Enumeration information.
- ISM-1909 · Reporting and resolving vulnerabilities
In resolving vulnerabilities, root cause analysis is performed and, to the greatest extent possible, entire vulnerability classes are remediated.
- ISM-1910 · Network application programming interfaces
Network API calls that facilitate modification of data, or access to data not authorised for release into the public domain, and are accessible over the internet, are centrally logged.
- ISM-1911 · Software event logging
Security-relevant usage, error messages and crashes for software are centrally logged.
- ISM-1922 · Secure mobile application development
The OWASP Mobile Application Security Verification Standard is used in the development of mobile applications.
- ISM-1924 · Prompt injection
Generative AI applications evaluate user prompts to detect and mitigate adversarial inputs or suffixes designed to elicit unintended behaviour or assist in the generation of sensitive or harmful content.
- ISM-2013 · Network application programming interfaces
Authentication and authorisation of clients is performed when clients call network APIs that facilitate modification of data but are not accessible over the internet.
- ISM-2014 · Network application programming interfaces
Authentication and authorisation of clients is performed when clients call network APIs that facilitate access to data not authorised for release into the public domain but are not accessible over the internet.
- ISM-2015 · Network application programming interfaces
Network API calls that facilitate modification of data, or access to data not authorised for release into the public domain, but are not accessible over the internet, are centrally logged.
- ISM-2016 · Software input handling
Validation and sanitisation are performed on all input received over a local network by software.
- ISM-2023 · Authoritative source for software
An authoritative source for software is established and maintained.
- ISM-2024 · Authoritative source for software
The authoritative source for software is used for all software development activities.
- ISM-2025 · Issue tracking
An issue tracking solution is used to link software development tasks to security issues and decisions, change or feature requests, programming issues, or bug fixes.
- ISM-2026 · Software artefacts
All software artefacts are scanned for malicious content before being imported into the authoritative source for software.
- ISM-2027 · Software artefacts
All software artefacts are verified by a digital signature, or a secure hash provided over a secure channel, before being imported into the authoritative source for software.
- ISM-2028 · Software artefacts
All software artefacts are tested to detect known weaknesses using static application security testing (SAST), dynamic application security testing (DAST) or software composition analysis (SCA), depending on the software artefact type, before being imported into the authoritative source for software.
- ISM-2029 · Software artefacts
The authoritative source for software restricts the use and import of third-party libraries and software components to trustworthy sources.
- ISM-2030 · Software artefacts
Scanning is used during commits to identify plain text or encoded credentials, keys and secrets, which are then blocked from being stored in the authoritative source for software.
- ISM-2031 · Build solution
Compilers, interpreters and build tools (including pipelines) that provide security features to improve executable file security are implemented and such security features are used.
- ISM-2032 · Build solution
The build solution ensures that all automated testing is completed without warnings, alerts or errors before building software artefacts.
- ISM-2033 · Secure software development
All software security requirements are documented, stored securely and maintained throughout the software development life cycle.
- ISM-2034 · Secure software development
Security design decisions are documented and reviewed throughout the software development cycle.
- ISM-2035 · Secure software development
Security roles, responsibilities and knowledge required to support the software development life cycle are identified and documented.
- ISM-2036 · Secure software development
Security responsibilities for software developers are identified and documented.
- ISM-2037 · Secure software development
Software developers that lack sufficient cyber security knowledge and skills required for their projects or tasks undertake suitable training or upskilling on secure software development and programming practices.
- ISM-2038 · Secure software development
A software developer cyber security knowledge and skills register is developed, implemented and maintained.
- ISM-2039 · Secure software development
The software threat model is reviewed throughout the software development life cycle to ensure it reflects the as-built software and any changes to the threat environment.
- ISM-2040 · Secure software development
Secure programming practices for the chosen programming language are used for software development.
- ISM-2041 · Secure software development
Memory-safe programming languages, or less preferably memory-safe programming practices, are used for software development.
- ISM-2042 · Secure software development
Secure by Default principles and practices are followed throughout the software development life cycle, including by ensuring that all built-in security measures are included and enabled in the base product at no extra cost to consumers.
- ISM-2043 · Secure software development
Software is architected and structured to support readability and maintainability.
- ISM-2044 · Secure software development
Software has no default credentials; however, if credentials are required, they are created on first install by the installing organisation.
- ISM-2045 · Secure software development
Application backwards compatibility does not compromise any security measures or features.
- ISM-2046 · Secure software development
Where software allows user impersonation, sensitive data is not logged and appropriate permissions are set.
- ISM-2047 · Secure software development
Where software allows an authentication factor to be reset for a human user, the human user is notified of the reset through a secondary channel.
- ISM-2048 · Secure software development
Where software supports multiple user roles, non-administrative users are prevented from altering their profile permissions or privileges.
- ISM-2049 · Secure software development
When user permissions or credentials are changed, software forces all impacted users to re-authenticate.
- ISM-2050 · Secure software development
When digital signatures are processed by software, they are validated against a certificate trust chain and checked for revocation using a Certificate Revocation List or with the Online Certificate Status Protocol.
- ISM-2051 · Secure software development
Software generates sufficient event logs to support the detection of cyber security events.
- ISM-2052 · Secure software development
Event logs produced by software ensure that any sensitive data is protected.
- ISM-2053 · Secure software development
End of life procedures for software, including procedures for software removal and the archival or destruction of user accounts and data, are produced and made available to consumers.
- ISM-2054 · Software bill of materials
If a software bill of materials is available for imported third-party software components, it is used during software development to ensure such software components have no known vulnerabilities.
- ISM-2055 · Software build provenance
If a software build provenance is available for imported third-party software components, it is used during software development to ensure such software components are built to an appropriate standard.
- ISM-2056 · Software build provenance
A software build provenance is produced and made available to consumers of software.
- ISM-2057 · Software input handling
All input validation rules are documented, implemented in code, and tested using both positive and negative unit tests and integration tests.
- ISM-2058 · Software input handling
Data sources and serialised data inputs are validated before being deserialised.
- ISM-2059 · Software input handling
File uploads or input are restricted to specific file types, with malicious content scanning occurring prior to file access, file execution or file storage.
- ISM-2060 · Software security testing
Code reviews are utilised to ensure software components meets Secure by Design principles and practices as well as secure programming practices.
- ISM-2061 · Software security testing
Peer reviews are conducted on all critical and security-related software components.
- ISM-2062 · Software security testing
Unit testing and integration testing, covering both positive and negative use cases, are used for software components to ensure code quality and correctness.
- ISM-2063 · Secure web application design and development
If supported, web application session cookies set the HttpOnly flag, Secure flag and the SameSite flag by default.
- ISM-2064 · Secure web application design and development
Web application session cookies contain only digitally signed opaque bearer tokens.
- ISM-2065 · Secure web application design and development
Web application session cookies using opaque bearer tokens that are not digitally signed use non-sequential random identifiers with a minimum of 128 bits of entropy, preferably 256 bits of entropy.
- ISM-2066 · Secure web application design and development
Web application sessions are centrally managed server side.
- ISM-2067 · Secure web application design and development
Web applications that support Single Sign On equally support Single Logout.
- ISM-2072 · Secure artificial intelligence application development
AI models are stored in a non-executable file format that does not allow arbitrary code execution.
- ISM-2082 · Cryptographic bill of materials
If a cryptographic bill of materials is available for imported third-party software components, it is used during software development to ensure such software components provide support for standardised implementations of ASD-Approved Cryptographic Algorithms.
- ISM-2083 · Cryptographic bill of materials
A cryptographic bill of materials is produced and made available to consumers of software.
- ISM-2084 · Secure artificial intelligence application development
AI-specific documentation, including AI model cards and AI system cards (or equivalent artefacts), is used to document AI model characteristics, system architectures, use cases and security risks.
- ISM-2085 · Secure artificial intelligence application development
The exposure of exact AI model confidence scores in API outputs or user interfaces is prevented.
- ISM-2086 · Artificial intelligence model poisoning
The source and integrity of AI models, structures and weights are verified.
- ISM-2087 · Artificial intelligence model poisoning
The source and integrity of training data for AI models is verified.
- ISM-2088 · Artificial intelligence model poisoning
Data validation and verification techniques are used to ensure the reliability and accuracy of training data used by AI models.
- ISM-2089 · Unbounded consumption
AI model performance metrics are monitored and anomalies are investigated.
- ISM-2090 · Unbounded consumption
Rate limiting is applied to inference queries for AI models.
- ISM-2091 · Unbounded consumption
Resource limits are enforced for AI models.
- ISM-2092 · Excessive agency
Access control policies are implemented to enforce fine-grained permissions for AI applications.
- ISM-2093 · Excessive agency
Role-based access controls are implemented for AI applications to restrict access to sensitive data.
- ISM-2094 · Sensitive data exposure and improper output
Content filtering is implemented by AI applications to detect and block sensitive data exposure and improper output.
- ISM-2102 · Software artefacts
Existing software artefacts in the authoritative source for software are periodically tested to detect known weaknesses using SAST, DAST or SCA, depending on the software artefact type, throughout the software development life cycle.
- ISM-2103 · Data collection, retention and use
Organisational data generated, collected or processed by AI applications is not used for training, fine-tuning or improving AI models unless informed and explicit consent has been obtained from data owners in advance.
- ISM-2120 · Secure software development
A secure software development policy is developed, implemented and maintained.
- ISM-2121 · Secure software development
Software developers that lack sufficient cyber security knowledge and skills required for their projects or tasks are not used.
- ISM-2122 · Software security testing
Suitable AI models are used to augment software security testing.
- ISM-2123 · Data collection, retention and use
All prompts and outputs associated with chat sessions are securely deleted when chat sessions are removed from AI applications.
- ISM-2154 · Software artefacts
Software artefact dependencies are pinned to approved versions in source code.
- ISM-2155 · Build solution
Software is built using reproducible build practices that enable independent verification that release artefacts were produced from the stated source code.
- ISM-2156 · Excessive agency
Agentic AI applications are restricted to the minimum set of tools, functions and permissions required for their intended purpose.
- ISM-2157 · Excessive agency
Tools invoked by agentic AI applications are subject to both the access controls of the invoking user and agent-specific, task-scoped authorisation, with effective permissions limited to the minimum permitted by both.
- ISM-2158 · Excessive agency
External content retrieved by agentic AI applications is treated as untrusted data throughout processing, is clearly delimited from system instructions, is subject to validation and sanitisation measures applied to other untrusted input, remains untrusted following such processing, and is prevented from modifying or overriding system instructions, security policies, access controls, tool permissions or human approval requirements.
- ISM-2159 · Excessive agency
All tool invocations, external requests and outputs generated by agentic AI applications are centrally logged with sufficient detail to support cyber security incident investigations.
Official control wording and applicability: Australian Signals Directorate, © Commonwealth of Australia 2026. September 2026 ISM, OSCAL v2026.09.4, reproduced under CC BY 4.0. Formatting is adapted for this website.
Latticework Systems’ implementation guidance is our interpretation. Provenance and scope.