SlideShare a Scribd company logo
1 of 86
Download to read offline
Deceiving software developers through software
libraries
The day I ruled the world:
Cybersecurity Group UAH
$ whoami
Javier Junquera Sánchez
Cybersecurity researcher & lecturer
2
Carlos Cilleruelo Rodríguez
Cybersecurity researcher
javier.junquera@uah.es
@junquera
/in/junquera
carlos.cilleruelo@uah.es
@carloslannister
/in/carlos-cilleruelo/
ProTego
https://protego-project.eu/
@protego_project
3
Research and innovation programme under grant agreement No. 826284
Introduction
➔ Rooted 2019
➔ Homograph attacks
➔ Deep confusables
(dataset)
4
Introduction
5
Background
● How many apps have problems with
homograph attacks?
● How developer software is dealing with it?
○ IDEs
○ Text Editor
○ Programing languages
6
Background
➔ April 11, 2018
➔ Still not solved
◆ Whatsapp
◆ Telegram
7
Bounties?
8
Twitter
9
Steam and Facebook
10
11
IDEs, Text Editors and Terminals
Why developers?
12
Nodemon
13
Nodemon
14
IDEs, Text Editors and Terminals
15
Open Source
● Ok, I can use it in an IDE, but...
● How could I deliver it?
○ Open Source!
16
Homograph libraries
17
pip
pip install git+https://github.com/django/django.git@45dfb3641aa4d9828a7c
18
GitLab
19
GitLab
20
Github
21
Package managers
22
Uploading libraries
23
Package creation
➔ NodeJS
◆ package.json
24
Package creation
➔ Python
◆ setup.py
25
Package creation
➔ Python
◆ setup.py
26
Package creation
➔ Python
◆ setup.py
27
Uploading
# NEVER USE THIS DEPENDENCY
It's a security test
A bad copy of {original_name} for
testing homographic vulnerabilities.
28
Uploading
● We were testing uploading packages
● But then…
29
Fuzzer
➔ Homographic
➔ Homophonic
➔ Truncation
➔ Permutation
➔ Duplication
➔ Upper/Lower characters
➔ Similar characters
➔ “Advanced”
◆ Spaces
◆ LTR/RTL
30
Fuzzer
➔ change_similar(homográficos,h𝐨mográficos,changing o by
b'xf0x9dx90xa8')
➔ homophonic(homofonicos,houmoufounicous,o sounds like ou)
➔ gen_deletions(truncar,tuncar,0, 1)
➔ gen_permutations(permutar,premutar,permuting char at 1)
➔ duplicates(duplicar,dupplicar,2)
➔ gen_case(caselogic,caseloGic,6)
➔ add_spaces(spaces,s<U+180E>paces,inserting space
b'xe1xa0x8e' at position 1)
➔ rtl(ltr,<U+202D>rtl,inserting b'e280ad' at position 0)
31
Fuzzer
32
Ok... , so what’s next? :)
Uploading
➔ Let's upload everything
◆ UNICODE not allowed :(
◆ “Spaces not allowed”
◆ But… everything else:
● No limit, no control :)
◆ Remember academia
33
Dependencies selection
● Top 10
○ PyPI
○ NPM
● Some we consider complicated to write
○ Who t.f. chose psycopg2-binaries?
34
Packages creation
You have commited an error installing
the dependency `{original_name}`,
and have installed `{new_name}`.
If `{new_name}` had mailicious code,
you would have been pwned.
This file has been generated by
`{new_name}` for advertising you, and
we have no made any change in your
system.
35
Fix: you just need to delete the
dependency
`{new_name}` and
install `{original_name}`.
{new_name} is part of a research
about
attack in dependecies names.
For more information about it
contact javier@junquera.xyz
Telemetry
➔ User profile (Root | Not)
➔ Package manager (pypi | npm)
➔ Original name
➔ Modified name
➔ OS version
➔ Country, ~City (RGPD IP)
◆ It is difficult asking for consent :)
36
37
And once uploaded…
Don’t worry…
38
00:00
39
01:00
40
02:00
41
03:00
42
04:00
43
05:00
44
06:00
45
07:00
46
08:00
47
09:00
48
10:00
49
11:00
50
12:00
51
13:00
52
14:00
53
15:00
54
16:00
55
17:00
56
18:00
57
19:00
58
20:00
59
21:00
60
22:00
61
23:00
62
> 800 hours
63
Goodbye
➔ (Delete | Try to delete)
the uploaded packages
➔ Shutdown the API
➔ Then, we start to study the
obtained data
Fuzzing results
64
node dependency Names generated
bootstrap 1449
commander 1068
prop-types 1043
express 868
lodash 811
request 798
moment 758
chalk 595
react 580
async 548
debug 520
python dependency Names generated
python-dateutil 1693
botocore 1416
s3transfer 1052
urllib3 1003
requests 950
certifi 947
psycopg2 862
pyyam1 769
pyasn1 600
pip 441
six 361
Infection results
65
Attack type Infections Ratio
Truncation 361 43.07%
Permutation 281 33.53%
Duplication 115 13.72%
Homophonic 68 8.11%
Similar characters 11 1.31%
Upper/Lower characters 2 0.23%
Total attacks 838 100%
PyPI infection results
66
Changed name Original name Attack type Downloads
pyscopg2 psycopg2 permutation 53
syx six homophonic 44
nump numpy truncation 27
psycopg-binary psycopg2-binary truncation 19
reqeusts requests permutation 18
psycog2 psycopg2 truncation 14
urllib3_ urllib3 spaces 12
pyscopg2-binary psycopg2-binary permutation 12
pycopg2 psycopg2 permutation 12
psycop2-binary psycopg2-binary truncation 11
npm infection results
67
Changed name Original name Attack type Downloads
bootstarp bootstrap permutation 35
bootsrap bootstrap truncation 33
bootstap bootstrap truncation 17
expess express truncation 10
exress express truncation 9
wepback-cli webpack-cli homograph 9
bootstra bootstrap truncation 6
moemnt moment permutation 5
bootstrp bootstrap truncation 5
webpac-cli webpack-cli truncation 5
Root?
68
Root vs Non-root installations
69
WTFs
● npm don’t allow deletions
● We receive petitions from packages
we didn’t upload successfully...
● Our account has “fans”
○ Systems/enterprises monitoring the
repositories
70
WTFs
71
2020-03-05
19:41:17.953363,123.204.x.x,False,pypi,reques
ts,requsets,3.8.2 (tags/v3.8.2:7b3ab59, Feb
25 2020, 22:45:29) [MSC v.1916 32 bit
(Intel)],Taiwan,Taipei
How many mirrors are there?
What do they mirror? Who manages them?
Reactions
➔ After a looooooot of time we got banned
➔ 1(,5) Email(s)
➔ Internet questions
◆ Forum
◆ Stackoverflow
72
Reactions
73
Reactions
74
Reactions
75
Reactions
➔ ¡BAN!
◆ After 30 days
76
Report PyPI
➔ Rate-limiting?
77
Report npm
78
Internal Threat Hunting inside npm
if dependencies_uploaded > 1000 {
sleep(2592000) # 30 days
ban()
}
79
Demo time!
80
Demo time!
81
Hay video por si acaso...
BANEADO
Code in GitLab
DEC-DEV-DEP
https://gitlab.com/ciberseg-uah/public/dec-dev-dep
82
Conclusions
➔ Repositories don’t care
➔ Developers don’t read
◆ And we are the first
83
sudo apt install <tab> <tab>
Recommendations
➔ Disable code execution (like RubyGems does)
➔ Mandatory with no sudo
◆ PyPI has developed measures
➔ Identify library with also developer name (like Docker Hub)
➔ Limit upload rate
➔ Limit users?
84
Agradecimientos
85
Cybersecurity Group UAH
That’s all folks!
javier.junquera@uah.es
@junquera
/in/junquera
carlos.cilleruelo@uah.es
@carloslannister
/in/carlos-cilleruelo/
86

More Related Content

What's hot

What's hot (20)

快速上手 Windows Containers 容器技術 (Docker Taipei)
快速上手 Windows Containers 容器技術 (Docker Taipei)快速上手 Windows Containers 容器技術 (Docker Taipei)
快速上手 Windows Containers 容器技術 (Docker Taipei)
 
Streaming with Varnish
Streaming with VarnishStreaming with Varnish
Streaming with Varnish
 
Jenkins-CI
Jenkins-CIJenkins-CI
Jenkins-CI
 
Kubernetes extensibility: CRDs & Operators
Kubernetes extensibility: CRDs & OperatorsKubernetes extensibility: CRDs & Operators
Kubernetes extensibility: CRDs & Operators
 
Developing highly scalable applications with Symfony and RabbitMQ
Developing highly scalable applications with  Symfony and RabbitMQDeveloping highly scalable applications with  Symfony and RabbitMQ
Developing highly scalable applications with Symfony and RabbitMQ
 
Zuul @ Netflix SpringOne Platform
Zuul @ Netflix SpringOne PlatformZuul @ Netflix SpringOne Platform
Zuul @ Netflix SpringOne Platform
 
Single Page Application (SPA) using AngularJS
Single Page Application (SPA) using AngularJSSingle Page Application (SPA) using AngularJS
Single Page Application (SPA) using AngularJS
 
RED HAT OPENSHIFT CONTAINER.pdf
RED HAT OPENSHIFT CONTAINER.pdfRED HAT OPENSHIFT CONTAINER.pdf
RED HAT OPENSHIFT CONTAINER.pdf
 
Cgroups, namespaces, and beyond: what are containers made from? (DockerCon Eu...
Cgroups, namespaces, and beyond: what are containers made from? (DockerCon Eu...Cgroups, namespaces, and beyond: what are containers made from? (DockerCon Eu...
Cgroups, namespaces, and beyond: what are containers made from? (DockerCon Eu...
 
YAML Tips For Kubernetes by Neependra Khare
YAML Tips For Kubernetes by Neependra KhareYAML Tips For Kubernetes by Neependra Khare
YAML Tips For Kubernetes by Neependra Khare
 
Go Programming Language by Google
Go Programming Language by GoogleGo Programming Language by Google
Go Programming Language by Google
 
(발표자료) CentOS EOL에 따른 대응 OS 검토 및 적용 방안.pdf
(발표자료) CentOS EOL에 따른 대응 OS 검토 및 적용 방안.pdf(발표자료) CentOS EOL에 따른 대응 OS 검토 및 적용 방안.pdf
(발표자료) CentOS EOL에 따른 대응 OS 검토 및 적용 방안.pdf
 
Prometheus monitoring
Prometheus monitoringPrometheus monitoring
Prometheus monitoring
 
Deep Dive on Amazon EC2 Instances & Performance Optimization Best Practices (...
Deep Dive on Amazon EC2 Instances & Performance Optimization Best Practices (...Deep Dive on Amazon EC2 Instances & Performance Optimization Best Practices (...
Deep Dive on Amazon EC2 Instances & Performance Optimization Best Practices (...
 
Deploying Kubernetes on GCP with Kubespray
Deploying Kubernetes on GCP with KubesprayDeploying Kubernetes on GCP with Kubespray
Deploying Kubernetes on GCP with Kubespray
 
CRI, OCI, and CRI-O
CRI, OCI, and CRI-OCRI, OCI, and CRI-O
CRI, OCI, and CRI-O
 
Linux System Monitoring
Linux System Monitoring Linux System Monitoring
Linux System Monitoring
 
Monitoring with prometheus
Monitoring with prometheusMonitoring with prometheus
Monitoring with prometheus
 
Jenkins CI
Jenkins CIJenkins CI
Jenkins CI
 
Docker Container Introduction
Docker Container IntroductionDocker Container Introduction
Docker Container Introduction
 

Similar to Rooted2020 the day i_ruled_the_world_deceiving_software_developers_through_open_source_software_dependencies_-_javier_junquera_-_carlos_cilleruelo

[CB19] MalConfScan with Cuckoo: Automatic Malware Configuration Extraction Sy...
[CB19] MalConfScan with Cuckoo: Automatic Malware Configuration Extraction Sy...[CB19] MalConfScan with Cuckoo: Automatic Malware Configuration Extraction Sy...
[CB19] MalConfScan with Cuckoo: Automatic Malware Configuration Extraction Sy...
CODE BLUE
 

Similar to Rooted2020 the day i_ruled_the_world_deceiving_software_developers_through_open_source_software_dependencies_-_javier_junquera_-_carlos_cilleruelo (20)

8.8 Las Vegas - Adversary Emulation con C2 Matrix
8.8 Las Vegas - Adversary Emulation con C2 Matrix8.8 Las Vegas - Adversary Emulation con C2 Matrix
8.8 Las Vegas - Adversary Emulation con C2 Matrix
 
DEFCON Safe Mode - Red Team Village - Emulating Evil Corp and WastedLocker
DEFCON Safe Mode - Red Team Village - Emulating Evil Corp and WastedLockerDEFCON Safe Mode - Red Team Village - Emulating Evil Corp and WastedLocker
DEFCON Safe Mode - Red Team Village - Emulating Evil Corp and WastedLocker
 
Pen Testing Development
Pen Testing DevelopmentPen Testing Development
Pen Testing Development
 
Accelerated .NET Memory Dump Analysis training public slides
Accelerated .NET Memory Dump Analysis training public slidesAccelerated .NET Memory Dump Analysis training public slides
Accelerated .NET Memory Dump Analysis training public slides
 
Vulnerabilities of machine learning infrastructure
Vulnerabilities of machine learning infrastructureVulnerabilities of machine learning infrastructure
Vulnerabilities of machine learning infrastructure
 
Break up the Monolith: Testing Microservices
Break up the Monolith: Testing MicroservicesBreak up the Monolith: Testing Microservices
Break up the Monolith: Testing Microservices
 
Pentester++
Pentester++Pentester++
Pentester++
 
CodeMotion 2023 - Deep dive nella supply chain della nostra infrastruttura cl...
CodeMotion 2023 - Deep dive nella supply chain della nostra infrastruttura cl...CodeMotion 2023 - Deep dive nella supply chain della nostra infrastruttura cl...
CodeMotion 2023 - Deep dive nella supply chain della nostra infrastruttura cl...
 
How to be your Security Team's Best Friend
How to be your Security Team's Best FriendHow to be your Security Team's Best Friend
How to be your Security Team's Best Friend
 
apidays LIVE New York - Navigating the Sea of Javascript Tools to Discover Sc...
apidays LIVE New York - Navigating the Sea of Javascript Tools to Discover Sc...apidays LIVE New York - Navigating the Sea of Javascript Tools to Discover Sc...
apidays LIVE New York - Navigating the Sea of Javascript Tools to Discover Sc...
 
Cocktail of Environments. How to Mix Test and Development Environments and St...
Cocktail of Environments. How to Mix Test and Development Environments and St...Cocktail of Environments. How to Mix Test and Development Environments and St...
Cocktail of Environments. How to Mix Test and Development Environments and St...
 
Evolution of Offensive Assessments - RootCon
Evolution of Offensive Assessments - RootConEvolution of Offensive Assessments - RootCon
Evolution of Offensive Assessments - RootCon
 
DevOpsDaysRiga 2018: Eric Skoglund, Lars Albertsson - Kubernetes as data plat...
DevOpsDaysRiga 2018: Eric Skoglund, Lars Albertsson - Kubernetes as data plat...DevOpsDaysRiga 2018: Eric Skoglund, Lars Albertsson - Kubernetes as data plat...
DevOpsDaysRiga 2018: Eric Skoglund, Lars Albertsson - Kubernetes as data plat...
 
Kubernetes as data platform
Kubernetes as data platformKubernetes as data platform
Kubernetes as data platform
 
Cloud Intrusion Detection Reloaded - 2018
Cloud Intrusion Detection Reloaded - 2018Cloud Intrusion Detection Reloaded - 2018
Cloud Intrusion Detection Reloaded - 2018
 
Agile Secure Development
Agile Secure DevelopmentAgile Secure Development
Agile Secure Development
 
[CB19] MalConfScan with Cuckoo: Automatic Malware Configuration Extraction Sy...
[CB19] MalConfScan with Cuckoo: Automatic Malware Configuration Extraction Sy...[CB19] MalConfScan with Cuckoo: Automatic Malware Configuration Extraction Sy...
[CB19] MalConfScan with Cuckoo: Automatic Malware Configuration Extraction Sy...
 
DEF CON 27- JISKA FABIAN - vacuum cleaning security
DEF CON 27- JISKA FABIAN - vacuum cleaning securityDEF CON 27- JISKA FABIAN - vacuum cleaning security
DEF CON 27- JISKA FABIAN - vacuum cleaning security
 
Jack S (linkcabin) - Becoming The Quiz Master: Thanks RE.
Jack S (linkcabin) - Becoming The Quiz Master: Thanks RE.Jack S (linkcabin) - Becoming The Quiz Master: Thanks RE.
Jack S (linkcabin) - Becoming The Quiz Master: Thanks RE.
 
Bodin - Hullin & Potencier - Magento Performance Profiling and Best Practices
Bodin - Hullin & Potencier - Magento Performance Profiling and Best PracticesBodin - Hullin & Potencier - Magento Performance Profiling and Best Practices
Bodin - Hullin & Potencier - Magento Performance Profiling and Best Practices
 

More from RootedCON

More from RootedCON (20)

Rooted2020 A clockwork pentester - Jose Carlos Moral & Alvaro Villaverde
Rooted2020 A clockwork pentester - Jose Carlos Moral & Alvaro VillaverdeRooted2020 A clockwork pentester - Jose Carlos Moral & Alvaro Villaverde
Rooted2020 A clockwork pentester - Jose Carlos Moral & Alvaro Villaverde
 
rooted2020 Sandbox fingerprinting -_evadiendo_entornos_de_analisis_-_victor_c...
rooted2020 Sandbox fingerprinting -_evadiendo_entornos_de_analisis_-_victor_c...rooted2020 Sandbox fingerprinting -_evadiendo_entornos_de_analisis_-_victor_c...
rooted2020 Sandbox fingerprinting -_evadiendo_entornos_de_analisis_-_victor_c...
 
Rooted2020 hunting malware-using_process_behavior-roberto_amado
Rooted2020 hunting malware-using_process_behavior-roberto_amadoRooted2020 hunting malware-using_process_behavior-roberto_amado
Rooted2020 hunting malware-using_process_behavior-roberto_amado
 
Rooted2020 compliance as-code_-_guillermo_obispo_-_jose_mariaperez_-_
Rooted2020 compliance as-code_-_guillermo_obispo_-_jose_mariaperez_-_Rooted2020 compliance as-code_-_guillermo_obispo_-_jose_mariaperez_-_
Rooted2020 compliance as-code_-_guillermo_obispo_-_jose_mariaperez_-_
 
Rooted2020 si la-empresa_ha_ocultado_el_ciberataque,_como_se_ha_enterado_el_r...
Rooted2020 si la-empresa_ha_ocultado_el_ciberataque,_como_se_ha_enterado_el_r...Rooted2020 si la-empresa_ha_ocultado_el_ciberataque,_como_se_ha_enterado_el_r...
Rooted2020 si la-empresa_ha_ocultado_el_ciberataque,_como_se_ha_enterado_el_r...
 
Rooted2020 wordpress-another_terror_story_-_manuel_garcia_-_jacinto_sergio_ca...
Rooted2020 wordpress-another_terror_story_-_manuel_garcia_-_jacinto_sergio_ca...Rooted2020 wordpress-another_terror_story_-_manuel_garcia_-_jacinto_sergio_ca...
Rooted2020 wordpress-another_terror_story_-_manuel_garcia_-_jacinto_sergio_ca...
 
Rooted2020 Atacando comunicaciones-de_voz_cifradas_-_jose_luis_verdeguer
Rooted2020 Atacando comunicaciones-de_voz_cifradas_-_jose_luis_verdeguerRooted2020 Atacando comunicaciones-de_voz_cifradas_-_jose_luis_verdeguer
Rooted2020 Atacando comunicaciones-de_voz_cifradas_-_jose_luis_verdeguer
 
rooted2020-Rootkit necurs no_es_un_bug,_es_una_feature_-_roberto_santos_-_jav...
rooted2020-Rootkit necurs no_es_un_bug,_es_una_feature_-_roberto_santos_-_jav...rooted2020-Rootkit necurs no_es_un_bug,_es_una_feature_-_roberto_santos_-_jav...
rooted2020-Rootkit necurs no_es_un_bug,_es_una_feature_-_roberto_santos_-_jav...
 
Rooted2020 stefano maccaglia--_the_enemy_of_my_enemy
Rooted2020 stefano maccaglia--_the_enemy_of_my_enemyRooted2020 stefano maccaglia--_the_enemy_of_my_enemy
Rooted2020 stefano maccaglia--_the_enemy_of_my_enemy
 
Rooted2020 taller de-reversing_de_binarios_escritos_en_golang_-_mariano_palom...
Rooted2020 taller de-reversing_de_binarios_escritos_en_golang_-_mariano_palom...Rooted2020 taller de-reversing_de_binarios_escritos_en_golang_-_mariano_palom...
Rooted2020 taller de-reversing_de_binarios_escritos_en_golang_-_mariano_palom...
 
Rooted2020 virtual pwned-network_-_manel_molina
Rooted2020 virtual pwned-network_-_manel_molinaRooted2020 virtual pwned-network_-_manel_molina
Rooted2020 virtual pwned-network_-_manel_molina
 
Rooted2020 van a-mear_sangre_como_hacer_que_los_malos_lo_paguen_muy_caro_-_an...
Rooted2020 van a-mear_sangre_como_hacer_que_los_malos_lo_paguen_muy_caro_-_an...Rooted2020 van a-mear_sangre_como_hacer_que_los_malos_lo_paguen_muy_caro_-_an...
Rooted2020 van a-mear_sangre_como_hacer_que_los_malos_lo_paguen_muy_caro_-_an...
 
Rooted2020 todo a-siem_-_marta_lopez
Rooted2020 todo a-siem_-_marta_lopezRooted2020 todo a-siem_-_marta_lopez
Rooted2020 todo a-siem_-_marta_lopez
 
Rooted2020 roapt evil-mass_storage_-_tu-ya_aqui_-_david_reguera_-_abel_valero
Rooted2020 roapt evil-mass_storage_-_tu-ya_aqui_-_david_reguera_-_abel_valeroRooted2020 roapt evil-mass_storage_-_tu-ya_aqui_-_david_reguera_-_abel_valero
Rooted2020 roapt evil-mass_storage_-_tu-ya_aqui_-_david_reguera_-_abel_valero
 
Rooted2020 live coding--_jesus_jara
Rooted2020 live coding--_jesus_jaraRooted2020 live coding--_jesus_jara
Rooted2020 live coding--_jesus_jara
 
Rooted2020 legalidad de-la_prueba_tecnologica_indiciaria_cuando_tu_papi_es_un...
Rooted2020 legalidad de-la_prueba_tecnologica_indiciaria_cuando_tu_papi_es_un...Rooted2020 legalidad de-la_prueba_tecnologica_indiciaria_cuando_tu_papi_es_un...
Rooted2020 legalidad de-la_prueba_tecnologica_indiciaria_cuando_tu_papi_es_un...
 
Rooted2020 hackeando el-mundo_exterior_a_traves_de_bluetooth_low-energy_ble_-...
Rooted2020 hackeando el-mundo_exterior_a_traves_de_bluetooth_low-energy_ble_-...Rooted2020 hackeando el-mundo_exterior_a_traves_de_bluetooth_low-energy_ble_-...
Rooted2020 hackeando el-mundo_exterior_a_traves_de_bluetooth_low-energy_ble_-...
 
Rooted2020 evading deep-learning_malware_detectors_-_javier_yuste
Rooted2020 evading deep-learning_malware_detectors_-_javier_yusteRooted2020 evading deep-learning_malware_detectors_-_javier_yuste
Rooted2020 evading deep-learning_malware_detectors_-_javier_yuste
 
Rooted2020 encontrando 0days-en_2020_-_antonio_morales
Rooted2020 encontrando 0days-en_2020_-_antonio_moralesRooted2020 encontrando 0days-en_2020_-_antonio_morales
Rooted2020 encontrando 0days-en_2020_-_antonio_morales
 
Rooted2020 emotet is-dead_long_live_emotet_-_victor_acin
Rooted2020 emotet is-dead_long_live_emotet_-_victor_acinRooted2020 emotet is-dead_long_live_emotet_-_victor_acin
Rooted2020 emotet is-dead_long_live_emotet_-_victor_acin
 

Recently uploaded

Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
vu2urc
 

Recently uploaded (20)

The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your Business
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
Developing An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilDeveloping An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of Brazil
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 

Rooted2020 the day i_ruled_the_world_deceiving_software_developers_through_open_source_software_dependencies_-_javier_junquera_-_carlos_cilleruelo