
WordPress integration with OWASP CycloneDX and Dependency Track
This package is compatible with WordPress Coding Standards, PSR-4.
WordPress integration with OWASP CycloneDX and Dependency Track
Features:
This project uses PHP and Composer.
$ cd wp-content/plugins/
$ git clone https://gitlab.com/sepbit/wpbom.git
$ cd wpbom
$ composer update –no-dev
Add CPE from BOM
add_filter( 'wpbom_bom', function( $bom ) { foreach ( $bom['components'] as $key => $component ) { if ( 'woocommerce' === $component['name'] ) { $bom['components'][ $key ]['cpe'] = 'cpe:2.3:a:woocommerce:woocommerce:' . $component['version'] . ':*:*:*:*:wordpress:*:*'; } } return $bom; } ); We are building a feature to automate this
Remove component from BOM
add_filter( 'wpbom_bom', function( $bom ) { foreach ( $bom['components'] as $key => $component ) { if ( 'woocommerce' === $component['name'] ) { unset( $bom['components'][ $key ] ); } } return $bom; } ); Add component from BOM
add_filter( 'wpbom_bom', function( $bom ) { global $wpdb; $db_server_info = explode( '-', $wpdb->db_server_info() ); $bom['components'][] = array( 'type' => 'application', 'bom-ref' => 'pkg:deb/debian/' . strtolower( $db_server_info[2] ) . '@' . $db_server_info[1], 'name' => strtolower( $db_server_info[2] ), 'version' => $db_server_info[1], 'purl' => 'pkg:deb/debian/' . strtolower( $db_server_info[2] ) . '@' . $db_server_info[1], 'licenses' => array( array( 'license' => array( 'id' => 'GPL-2.0-or-later', ), ), ), ); return $bom; } );