Start here

Home
About Klocwork
What's new
Fixed issues
Release notes
Installation

Reference

C/C++ checkers
Java checkers
C# checkers
MISRA C 2004 checkers
MISRA C++ 2008 checkers
MISRA C 2012 checkers
MISRA C 2012 checkers with Amendment 1
Commands
Metrics
Troubleshooting
Reference

Product components

C/C++ Integration build analysis
Java Integration build analysis
Desktop analysis
Refactoring
Klocwork Static Code Analysis
Klocwork Code Review
Structure101
Tuning
Custom checkers

Coding environments

Visual Studio
Eclipse for C/C++
Eclipse for Java
IntelliJ IDEA
Other

Administration

Project configuration
Build configuration
Administration
Analysis performance
Server performance
Security/permissions
Licensing
Klocwork Static Code Analysis Web API
Klocwork Code Review Web API

Community

View help online
Visit RogueWave.com
Klocwork Support
Rogue Wave Videos

Legal

Legal information

DISA STIG version 4 IDs mapped to Klocwork Java checkers

This article maps DISA Security Technical Implementation Guide version 4 IDs to Klocwork Java checkers. For more information about DISA STIG, see the STIG web site.

DISA STIG ID Java Checker Code and Description
APSC-DV-000060

SV.DOS.TMPFILEDEL  Leaving temporary file for lifetime of JVM

SV.DOS.TMPFILEEXIT  Leaving temporary file

APSC-DV-000160

SV.HASH.NO_SALT  Use of a one-way cryptographic hash without a salt

SV.SENSITIVE.DATA  Unencrypted sensitive data is written

SV.SENSITIVE.OBJ  Object with unencrypted sensitive data is stored

SV.WEAK.CRYPT  Use of a Broken or Risky Cryptographic Algorithm

APSC-DV-000170

SV.HASH.NO_SALT  Use of a one-way cryptographic hash without a salt

SV.SENSITIVE.DATA  Unencrypted sensitive data is written

SV.SENSITIVE.OBJ  Object with unencrypted sensitive data is stored

SV.WEAK.CRYPT  Use of a Broken or Risky Cryptographic Algorithm

APSC-DV-000460

SV.PASSWD.HC.EMPTY  Empty Password

APSC-DV-000480

SV.EXPOSE.FIELD  Static field may be changed by malicious code

SV.EXPOSE.FIN  Method finalize() should have protected access modifier, not public

SV.EXPOSE.IFIELD  Instance field should be made final

SV.EXPOSE.MUTABLEFIELD  Static mutable field can be accessed by malicious code

SV.EXPOSE.RET  Internal representation may be exposed

SV.EXPOSE.STORE  Method stores reference to mutable object

APSC-DV-000650

SV.LOG_FORGING  Log Forging

APSC-DV-001290

SV.LOG_FORGING  Log Forging

APSC-DV-001460

SV.EMAIL  Unchecked e-mail

UMC.SYSERR  Debug print using System.err method calls is unwanted

UMC.SYSOUT  Debug print using System.out method calls is unwanted

APSC-DV-001680

SV.PASSWD.HC.EMPTY  Empty Password

APSC-DV-001740

SV.PASSWD.PLAIN  Plain-text Password

APSC-DV-001750

SV.PASSWD.PLAIN  Plain-text Password

APSC-DV-001810

SV.ECV  Empty certificate validation

APSC-DV-001850

SV.PASSWD.PLAIN  Plain-text Password

APSC-DV-001860

SV.HASH.NO_SALT  Use of a one-way cryptographic hash without a salt

SV.SENSITIVE.DATA  Unencrypted sensitive data is written

SV.SENSITIVE.OBJ  Object with unencrypted sensitive data is stored

SV.WEAK.CRYPT  Use of a Broken or Risky Cryptographic Algorithm

APSC-DV-001995

JD.NEXT  Possible 'NoSuchElementException'

JD.SYNC.IN  Inconsistent synchronization

SV.SHARED.VAR  Unsynchronized access to static variable from servlet

SV.STRUTS.STATIC  Struts Forms: static fields

SV.UMC.THREADS  Bad practices: use of thread management

APSC-DV-002000

RLK.NIO  NIO object is not closed on exit

RLK.SOCK  Socket is not closed on exit

APSC-DV-002010

SV.HASH.NO_SALT  Use of a one-way cryptographic hash without a salt

SV.SENSITIVE.DATA  Unencrypted sensitive data is written

SV.SENSITIVE.OBJ  Object with unencrypted sensitive data is stored

SV.WEAK.CRYPT  Use of a Broken or Risky Cryptographic Algorithm

APSC-DV-002030

SV.HASH.NO_SALT  Use of a one-way cryptographic hash without a salt

SV.SENSITIVE.DATA  Unencrypted sensitive data is written

SV.SENSITIVE.OBJ  Object with unencrypted sensitive data is stored

SV.WEAK.CRYPT  Use of a Broken or Risky Cryptographic Algorithm

APSC-DV-002040

SV.HASH.NO_SALT  Use of a one-way cryptographic hash without a salt

SV.SENSITIVE.DATA  Unencrypted sensitive data is written

SV.SENSITIVE.OBJ  Object with unencrypted sensitive data is stored

SV.WEAK.CRYPT  Use of a Broken or Risky Cryptographic Algorithm

APSC-DV-002290

SV.RANDOM  Use of insecure Random number generator

APSC-DV-002350

SV.HASH.NO_SALT  Use of a one-way cryptographic hash without a salt

SV.SENSITIVE.DATA  Unencrypted sensitive data is written

SV.SENSITIVE.OBJ  Object with unencrypted sensitive data is stored

SV.WEAK.CRYPT  Use of a Broken or Risky Cryptographic Algorithm

APSC-DV-002360

SV.CLEXT.POLICY  Class extends 'java.security.Policy'

SV.USE.POLICY  Direct use methods of Policy

APSC-DV-002400

SV.DOS.ARRINDEX  Tainted index used for array access

SV.DOS.ARRSIZE  Tainted size used for array allocation

SV.TAINT_NATIVE  Tainted data goes to native code

SV.TMPFILE  Temporary file path tampering

SV.UMC.EXIT  The System.exit() and Runtime.exit() method calls should not be used in servlets code

APSC-DV-002480

SV.IL.DEV  Design information leakage

SV.IL.FILE  File Name Leaking

SV.STRBUF.CLEAN  String buffer not cleaned

SV.STRUTS.NOTRESET  Struts Forms: inconsistent reset

APSC-DV-002490

ANDROID.LIFECYCLE.SV.GETEXTRA  Unvalidated external data

SV.HTTP_SPLIT  Http Response Splitting

SV.XSS.DB  Cross Site Scripting (Stored XSS)

SV.XSS.REF  Cross Site Scripting (Reflected XSS)

APSC-DV-002500

SV.CSRF.GET  CSRF Token in GET request

SV.CSRF.ORIGIN  Request handler without an origin check

SV.CSRF.TOKEN  State changing request handler without a CSRF check

APSC-DV-002510

SV.CLASSDEF.INJ  Runtime Class Definition Injection

SV.CLASSLOADER.INJ  Class Loader URL Injection

SV.CLEXT.CLLOADER  Class extends 'java.lang.ClassLoader'

SV.EXEC  Process Injection

SV.EXEC.DIR  Process Injection. Working Directory

SV.EXEC.ENV  Process Injection. Environment Variables

SV.EXEC.LOCAL  Process Injection. Local Arguments

SV.PATH  Path and file name injection

SV.PATH.INJ  File injection

SV.SCRIPT  Script Execution

SV.SERIAL.INON  Interface extends 'Serializable'

SV.SERIAL.NON  Class implements 'Serializable'

SV.SERIAL.NOREAD  Method readObject() should be defined for a serializable class

SV.SERIAL.NOWRITE  Method writeObject() should be defined for a serializable class

SV.SERIAL.SIG  Methods readObject() and writeObject() in serializable classes should have correct signature

APSC-DV-002530

ANDROID.LIFECYCLE.SV.FRAGMENTINJ  Unvalidated fragment class name

CMP.CLASS  Comparing by classname

SV.DATA.BOUND  Untrusted Data leaks into trusted storage

SV.DATA.DB  Data injection

SV.LDAP  Unvalidated user input is used as LDAP filter

SV.STRUTS.NOTVALID  Struts Forms: inconsistent validate

SV.STRUTS.VALIDMET  Struts Forms: validate method

SV.TAINT  Tainted data

SV.XPATH  Unvalidated user input is used as an XPath expression

APSC-DV-002540

SV.SQL  Sql Injection

SV.SQL.DBSOURCE  Unchecked information from the database is used in SQL statements

APSC-DV-002560

ANDROID.LIFECYCLE.SV.FRAGMENTINJ  Unvalidated fragment class name

CMP.CLASS  Comparing by classname

SV.DATA.BOUND  Untrusted Data leaks into trusted storage

SV.DATA.DB  Data injection

SV.LDAP  Unvalidated user input is used as LDAP filter

SV.STRUTS.NOTVALID  Struts Forms: inconsistent validate

SV.STRUTS.VALIDMET  Struts Forms: validate method

SV.TAINT  Tainted data

SV.XPATH  Unvalidated user input is used as an XPath expression

APSC-DV-002590

SV.INT_OVF  Tainted data may lead to Integer Overflow

APSC-DV-002950

JD.INF.AREC  Apparent infinite recursion

JD.LOCK  Lock without unlock

JD.LOCK.NOTIFY  Method 'notify' called with locks held

JD.LOCK.SLEEP  Method 'sleep' called with locks held

JD.LOCK.WAIT  Method 'wait' called with locks held

APSC-DV-003100

SV.HASH.NO_SALT  Use of a one-way cryptographic hash without a salt

SV.SENSITIVE.DATA  Unencrypted sensitive data is written

SV.SENSITIVE.OBJ  Object with unencrypted sensitive data is stored

SV.WEAK.CRYPT  Use of a Broken or Risky Cryptographic Algorithm

APSC-DV-003110

SV.PASSWD.HC  Hardcoded Password

APSC-DV-003215

JD.THREAD.RUN  Explicit call to a 'Thread.run' method

JD.UMC.FINALIZE  Explicit call to method 'Object.finalize'

JD.UMC.RUNFIN  runFinalizersOnExit() is called

MNA.CAP  Method name should start with non-capital letter

MNA.CNS  Method name is same as constructor name but it is not a constructor

MNA.SUS  Suspicious method name

APSC-DV-003235

ECC.EMPTY  Empty catch clause

EXC.BROADTHROWS  Method has an overly broad throws declaration

JD.CATCH  Catching runtime exception

JD.UNCAUGHT  Uncaught exception

RI.IGNOREDCALL  The value returned by a method called on immutable object is ignored

RI.IGNOREDNEW  Newly created object is ignored

RR.IGNORED  The returned value is ignored

APSC-DV-003280

SV.PASSWD.HC  Hardcoded Password

APSC-DV-003320

SV.DOS.ARRINDEX  Tainted index used for array access

SV.DOS.ARRSIZE  Tainted size used for array allocation

SV.TAINT_NATIVE  Tainted data goes to native code

SV.TMPFILE  Temporary file path tampering

SV.UMC.EXIT  The System.exit() and Runtime.exit() method calls should not be used in servlets code

Support Summary:

  • 37 rules