Klocwork的主要特性
一、Klocwork發(fā)現(xiàn)安全漏洞
將?Klocwork 靜態(tài)應(yīng)用程序安全測(cè)試 (SAST) 用于 DevOps (DevSecOps)。我們的安全標(biāo)準(zhǔn)可識(shí)別安全漏洞,有助于及早發(fā)現(xiàn)和修復(fù)安全問(wèn)題,并使軟件符合國(guó)際和行業(yè)公認(rèn)的安全標(biāo)準(zhǔn)以及用戶自己的企業(yè)要求。
DevSecOps:Klocwork 與 CI/CD 工具、容器、云服務(wù)和機(jī)器配置集成,使自動(dòng)化安全測(cè)試變得容易。
安全標(biāo)準(zhǔn):CWE、OWASP、CERT、PCI DSS、DISA STIG 和 ISO/IEC TS 17961。
安全漏洞檢測(cè):SQL 注入、受污染的數(shù)據(jù)、緩沖區(qū)溢出、易受攻擊的編碼實(shí)踐等等。
Bug、質(zhì)量問(wèn)題和代碼異味檢測(cè):空指針取消引用/異常、內(nèi)存/資源泄漏、未捕獲的異常等。
二、Klocwork項(xiàng)目流
Klocwork 項(xiàng)目流(Project Streams)通過(guò)簡(jiǎn)化項(xiàng)目規(guī)則配置、問(wèn)題管理、缺陷引用、報(bào)告和分析數(shù)據(jù)的高效數(shù)據(jù)存儲(chǔ),提供了對(duì)具有多個(gè)變體或分支的共享代碼庫(kù)的輕松管理。創(chuàng)建流提供如下好處:
- 將單個(gè)項(xiàng)目規(guī)則配置分配給所有變體
- 多個(gè)變體的共同問(wèn)題會(huì)自動(dòng)保持同步,并且只需要引用一次。
- 輕松識(shí)別多個(gè)流之間的相同問(wèn)題以及特定流的特有的問(wèn)題。
- 為合規(guī)性、功能安全或其他證據(jù)性目的生成單個(gè)流的報(bào)告。
- 更方便地組織和高效地存儲(chǔ)分析數(shù)據(jù)。
三、Klocwork支持DevOps
Klocwork工具的設(shè)計(jì)以持續(xù)集成和持續(xù)交付為首要思想,更方便將靜態(tài)代碼分析集成到CI/CD中作為管道的一部分。
差異分析
使用來(lái)自Klocwork Server的系統(tǒng)上下文數(shù)據(jù),可以只分析更改的文件,還提供差異分析結(jié)果,從而縮短了分析時(shí)間。
易于自動(dòng)化
Klocwork工具具有通用的命令行接口,所有缺陷數(shù)據(jù)都可以通過(guò)REST API進(jìn)行訪問(wèn),并且都是采用標(biāo)準(zhǔn)輸出格式,如XML、JSON和PDF等。
容器化構(gòu)建
Klocwork支持在容器化和云構(gòu)建系統(tǒng)中運(yùn)行,可以根據(jù)需要提供機(jī)器實(shí)例,從而提供了最大的靈活性和機(jī)會(huì),支持使用內(nèi)部部署或外部云服務(wù)的方式進(jìn)行代碼分析。
四、控制、協(xié)作和報(bào)告
Klocwork驗(yàn)證平臺(tái)集中存儲(chǔ)分析數(shù)據(jù)、趨勢(shì)、metrics和代碼庫(kù)配置,通過(guò)web瀏覽器進(jìn)行訪問(wèn)。
儀表板是高度可定制的,使您的開發(fā)人員、管理人員和其他利益相關(guān)者能夠:
定義全局或特定于項(xiàng)目的QA和安全目標(biāo)以及規(guī)則配置。
- 控制訪問(wèn)權(quán)限和審批工作流程。
- 查看趨勢(shì)和指標(biāo)數(shù)據(jù)的項(xiàng)目質(zhì)量和合規(guī)性。
- 生成合規(guī)性和安全性報(bào)告。
- 根據(jù)嚴(yán)重程度、位置和生命周期對(duì)缺陷進(jìn)行優(yōu)先排序。
- 使用Smart Rank來(lái)幫助開發(fā)人員根據(jù)缺陷可能性確定修復(fù)的優(yōu)先級(jí),當(dāng)與問(wèn)題嚴(yán)重性相結(jié)合時(shí),提供了一個(gè)整體的漏洞風(fēng)險(xiǎn)評(píng)分。
- 區(qū)分新問(wèn)題和遺留代碼問(wèn)題。
- 將未完成的事項(xiàng)推給變更控制系統(tǒng)。
五、適合開發(fā)人員使用
通過(guò)將靜態(tài)代碼分析與其他開發(fā)工具集的無(wú)縫集成,Klocwork實(shí)現(xiàn)了缺陷檢測(cè)的左移,方便開發(fā)人員對(duì)工具的使用,提高開發(fā)效率。無(wú)需用戶配置
Klocwork為數(shù)百種編譯器和交叉編譯器提供了開箱即用的支持而無(wú)需用戶另外配置。
易于使用
提供多種流行IDE(包括Microsoft Visual Studio,Eclipse,IntelliJ等)的插件。
連接的桌面客戶端
使用Klocwork插件對(duì)本地代碼做的更改,可在IDE中提供即時(shí)的差異分析結(jié)果。
詳細(xì)的反饋和幫助
根據(jù)代碼違規(guī)的嚴(yán)重程度、位置和風(fēng)險(xiǎn)等維度來(lái)識(shí)別缺陷,用戶將獲得詳細(xì)的缺陷追溯信息和豐富的上下文敏感的修復(fù)建議和指導(dǎo),幫助用戶理解和學(xué)習(xí)。
此外,Klocwork還提供了Secure Code Warrior集成,它在您在編寫代碼時(shí)為您提供了許多常見開發(fā)語(yǔ)言的軟件安全課程和培訓(xùn)工具
自定義規(guī)則
圖形化的自定義檢查器創(chuàng)建工具可快速簡(jiǎn)便地實(shí)現(xiàn)特定于項(xiàng)目或組織的規(guī)則,從而進(jìn)一步豐富了學(xué)習(xí)機(jī)會(huì)。
架構(gòu)分析
Klocwork還可與架構(gòu)可視化和執(zhí)行工具集成在一起,如Structure101,允許用戶通過(guò)清晰而正確的依賴關(guān)系進(jìn)一步提高其代碼庫(kù)的整體質(zhì)量和可維護(hù)性。
技術(shù)規(guī)格
支持的語(yǔ)言:
?C ??? ?C++ ?C# ?Java ?????????JavaScript ?Python ?Kotlin
支持的平臺(tái):
?Windows ?Linux ?Mac?OS X
支持的功能安全標(biāo)準(zhǔn):
? ISO 26262 up to ASIL level D*
? IEC 61508 up to SIL 4*
? EN 50128 up to SW-SIL 4*
? IEC 62304 up to Software Safety Class C*
? IEC 60880*
支持的編碼標(biāo)準(zhǔn):
? OWASP | ? PCI DSS |
? DISA STIG v5 | ? TS 17961 (ISO/IEC) |
? MISRAC++ 2008 | ? TS 17961 (ISO/IEC) |
? AUTOSARC++ 14 | ? HKMC |
? JSF AVC++ | |
? Klocwork Quality | |
? Create Your Own Rules |
支持的框架:
C/C++ | Java | ? Java Persistence API |
? AUTOSAR | ? Android | ? JAX RS |
? Boost | ? Java SE/ EE | ? JAX WS |
? Microsoft .Net | ? Junit | ? ReactiveX |
? POSIX | ? Hibernate ORM | ? Vert.x |
? STL | ? Apache Cocoon | ? WS XML-RPC |
? WinAPI | ? Apache Commons | |
? QT | ? Apache ECS | JavaScript |
? Apache Struts | ? TypeScript | |
C# | ? Apache Tomcat | ? JSX |
? .NET Framework | ? log4j | ? React |
? .NET Core | ? EclipseSWT | ? Vue |
? Mono | ? JDOM | |
? Xamarin | ? Spring Framework | Python |
? Unity | ? GWT | ? Python 3 |
? Universal Windows Platform | ? Java Persistence API |
支持的IDE:
? CLion | ? Microsoft Visual Studio | ? IBM Rational Application Developer |
? Wind River Workbench | ? Visual Studio Code | ? JetBrainsIntelilj IDEA |
? Eclipse | ? Android Studio | |
? QNX Momentics | ? WebSphere |
支持的源碼管理系統(tǒng):
? Base ClearCase 7.x* | ? TFS 2010 |
? CVS 1.12.x | ? Perforce server 2005.2 or higher |
? Git 1.7.x | ? Subversion 1.4.x**, 1.6.x,1.7.x, 1.8.x |
支持的C/C++編譯器:
? Analog Devices Blackfin | ? IAR RL78 | ? Renesas R32C |
and TigerSHARC | ? IAR SH | ? Renesas R8C |
? Archelon | ? IAR STM8 | ? Renesas RH850 |
? Archelon CSR Kalimba | ? IBM XL | ? Renesas RX |
? ARM CC | ? ImageCraft AVR | ? Renesas SuperH |
? ARM TItms470 | ? ImageCraft Intel | ? Renesas V850 |
? CADUL C for Intel 80X86 | ? ImageCraft M8C | ? Rowley Crossworks MSP430 |
? CEVA (NVIDIA) | ? Intel iC-386 | ? Sony SN Systems PS2, PS3 and PSVita |
? Clang | ? KeilCA51, C166 and C251 | |
? CodeWarrior FreescaleS12 | ? Marvell | ? Sony Orbis Clang PS4 |
? Compiler caching tools | ? MetaWare | ? Sun Studio |
? Cosmic | ? Metrowerks CodeWarrior | ? Synopsys ARC MetaWare |
? Embarcadero | ? Microchip MPLABC18 | ? Target Chess |
? Fujitsu FR | ? Microchip MPLAB pic24 | ? Tasking 68K |
? GNU | ? Microchip MPLAB pic32 | ? Tasking ARM |
? Green Hills | ? Microchip MPLABXC8 C | ? Tasking Classic C166 |
? Hexagon Tools | ? Microchip MPLABXC16 | ? Tasking DSP56X |
? HI-CROSS+ Motorola HC16 | ? Microsoft Visual Studio | ? Tasking IFXSLE88 |
? HI-TECH C | ? Microtec | ? Tasking SLE88 |
? Hitachi ch38 | ? Microware Ultra C for OS-9 | ? Tasking Tricore |
? HiveCC | ? Mono HeadsetSDK | ? Tasking VXC166 |
? IAR 78K | ? Motorola DSP563 | ? Tensilica Xtensa |
? IAR 8051 | ? Nintendo Cafe Platform | ? TI ARP32 |
? IAR ARM | ? Nvidia CUDA | ? TI msp430 |
? IAR Atmel AVR | ? NXP StarCore Freescale | ? TItms320C55x |
? IAR AVR32 | ? Panasonic | ? TItms320C3x |
? IAR CR16C | ? Panasonic MN101E/ MN101L | ? TItms320C4x |
? IAR Hitachi H8 | ||
? IARM16C | ? Paradigm | ? TItms320c28x |
? IARM32C | ? Plan 9 | ? TItms320c6x |
? IAR MAXQ | ? QNX qcc | ? TriMedia tmcc |
? IARMSP430 | ? Renesas 78K0R | ? Watcom |
? IAR NECV850 | ? Renesas CC-RL RL78 | ? WinAVR |
? IAR Renesas R32C | ? Renesas CX | ? Wind River Diab |
? IAR Renesas RX210 | ? Renesas M16C | ? Wind River GCC |
? IAR RH850 | ? Renesas M32R | ? ZiLOG eZ80 |