Threat actor
NoviSpy
Last fetched
NoviSpy is a threat actor tracked in WhisperGraph's MITRE ATT&CK corpus, observed using 0 techniques.
Description
NoviSpy is a spyware discovered by Amnesty International. It was found on a Serbian journalist's phone, reportedly installed after the device was unlocked using a Cellebrite tool. NoviSpy operates through two applications, NoviSpyAdmin and NoviSpyAccess, which exploit Android's accessibility services to perform extensive surveillance. Its capabilities include capturing screenshots, exfiltrating files, tracking location, and remotely activating the device's microphone and camera. Installed via the Android Debug Bridge (adb), NoviSpy has been in development since at least 2018.
Techniques by tactic
No ATT&CK techniques are recorded for NoviSpy in WhisperGraph.
Attributed infrastructure
None published. WhisperGraph carries no ATTRIBUTED_TO edge to NoviSpy today — this states the absence of a published link, not that NoviSpy has no infrastructure.
References
- https://www.amnesty.org/en/documents/eur70/8813/2024/en/
- https://thehackernews.com/2024/12/novispy-spyware-installed-on.html
- https://www.reuters.com/technology/cybersecurity/serbia-used-israeli-firms-tech-enable-spy-campaign-amnesty-says-2024-12-16/
- https://www.theverge.com/2024/12/16/24322640/serbian-police-novispy-android-spyware-amnesty-international-cellebrite
© The MITRE Corporation. This work is reproduced and distributed with the permission of The MITRE Corporation.
Related pages
Pivot from NoviSpy into its techniques, tactics and any attributed infrastructure.
Queries
Resolves the slug to this actor, merging every duplicate node sharing the same name.
MATCH (a:ACTOR)
WHERE a.name =~ $pattern OR any(x IN a.aliases WHERE x =~ $pattern)
RETURN a.id AS id, a.name AS name, a.aliases AS aliases, a.description AS description,
a.references AS references, a.campaigns AS campaigns
LIMIT 25Run yourself →Techniques this actor uses, grouped by the tactic each one serves.
MATCH (a:ACTOR {name: $name})-[:USES_TECHNIQUE]->(t:ATTACK_PATTERN)
OPTIONAL MATCH (t)-[:USES_TACTIC]->(tac:ATTACK_PATTERN)
RETURN t.id AS techniqueId, t.name AS techniqueName, tac.id AS tacticId, tac.name AS tacticName
LIMIT 1000Run yourself →Infrastructure publicly attributed to this actor.
MATCH (n)-[:ATTRIBUTED_TO]->(a:ACTOR {name: $name})
RETURN labels(n)[0] AS kind, n.name AS name
LIMIT 25Run yourself →Or query Whisper from your own LLM workflow via the Whisper MCP server.