diff --git a/backend/Dockerfile.pe b/backend/Dockerfile.pe index b88724cb..3d90f73a 100644 --- a/backend/Dockerfile.pe +++ b/backend/Dockerfile.pe @@ -28,7 +28,7 @@ RUN ./aws/install # Sync the latest from cf-staging branch RUN git clone -b crossfeed-SQS https://github.com/cisagov/ATC-Framework.git && \ cd ATC-Framework && \ - git checkout 6b5a8753ad5bcdb4426b5ba24ceffd77f901c228 && \ + git checkout 22c3de519337e577775f2580ba09c7ba51c08904 && \ pip install . RUN python -m spacy download en_core_web_lg diff --git a/backend/serverless.yml b/backend/serverless.yml index 098e3aa4..dd7e1f41 100644 --- a/backend/serverless.yml +++ b/backend/serverless.yml @@ -147,6 +147,13 @@ resources: VisibilityTimeout: 18000 # 5 hours MaximumMessageSize: 262144 # 256 KB MessageRetentionPeriod: 604800 # 7 days + ASMQueue: + Type: AWS::SQS::Queue + Properties: + QueueName: ${self:provider.stage}-asm-queue + VisibilityTimeout: 18000 # 5 hours + MaximumMessageSize: 262144 # 256 KB + MessageRetentionPeriod: 604800 # 7 days functions: - ${file(./src/tasks/functions.yml)} diff --git a/backend/src/tasks/scanExecution.ts b/backend/src/tasks/scanExecution.ts index d6de2ce6..d1dff72d 100644 --- a/backend/src/tasks/scanExecution.ts +++ b/backend/src/tasks/scanExecution.ts @@ -5,7 +5,14 @@ import { integer } from 'aws-sdk/clients/cloudfront'; const ecs = new AWS.ECS(); let docker: any; const QUEUE_URL = process.env.QUEUE_URL!; -const SCAN_LIST = ['dnstwist', 'intelx', 'cybersixgill', 'shodan', 'xpanse']; +const SCAN_LIST = [ + 'dnstwist', + 'intelx', + 'cybersixgill', + 'shodan', + 'xpanse', + 'asmSync' +]; if (process.env.IS_LOCAL) { const Docker = require('dockerode'); @@ -215,7 +222,7 @@ export const handler: Handler = async (event) => { await startDesiredTasks(scanType, desiredCount); } else { console.log( - 'Shodan, DNSTwist, IntelX, Xpanse, and Cybersixgill are the only script types available right now. Must be all lowercase.' + 'Shodan, ASMSync, DNSTwist, IntelX, Xpanse, and Cybersixgill are the only script types available right now. Must be all lowercase.' ); } } catch (error) { diff --git a/backend/worker/pe-worker-entry.sh b/backend/worker/pe-worker-entry.sh index 45e5a3e5..e2a8377e 100755 --- a/backend/worker/pe-worker-entry.sh +++ b/backend/worker/pe-worker-entry.sh @@ -62,6 +62,8 @@ while true; do COMMAND="pe-source cybersixgill --org=$ORG --soc_med_included" elif [[ "$SERVICE_TYPE" = *"xpanse"* ]]; then COMMAND="pe-source xpanse --org='$ORG'" + elif [[ "$SERVICE_TYPE" = *"asmSync"* ]]; then + COMMAND="pe-asm-sync asm-sqs --org='$ORG'" else echo "Unsupported SERVICE_TYPE: $SERVICE_TYPE" break diff --git a/frontend/package.json b/frontend/package.json index 3c14325a..ef0a6e27 100644 --- a/frontend/package.json +++ b/frontend/package.json @@ -155,5 +155,5 @@ "test": "react-scripts test", "typecheck": "tsc --noEmit" }, - "version": "0.1.0" + "version": "0.3.11" } diff --git a/frontend/src/components/Footer/Footer.tsx b/frontend/src/components/Footer/Footer.tsx index 22f62f60..996ea98c 100644 --- a/frontend/src/components/Footer/Footer.tsx +++ b/frontend/src/components/Footer/Footer.tsx @@ -4,12 +4,13 @@ import { useAuthContext } from 'context'; import logo from '../../assets/cyhydashboard.svg'; import * as FooterStyles from './styleFooter'; import { Stack } from '@mui/system'; +import packageJson from '../../../package.json'; export const CrossfeedFooter: React.FC = (props) => { const { logout, user } = useAuthContext(); const FooterRoot = FooterStyles.FooterRoot; const footerClasses = FooterStyles.footerClasses; - const versionNumber = process.env.REACT_APP_VERSION_NUMBER; + const versionNumber = packageJson.version; return (